Changelog: https://haproxy-wi.org/changelog.py#4
pull/217/head
Pavel Loginov 2020-03-05 19:56:13 +01:00
parent e753885645
commit a28741435d
5 changed files with 50 additions and 16 deletions

View File

@ -705,12 +705,22 @@ def show_haproxy_log(serv, rows=10, waf='0', grep=None, hour='00', minut='00', h
return ssh_command(syslog_server, commands, show_log='1')
def haproxy_wi_log():
def haproxy_wi_log(**kwargs):
log_path = get_config_var('main', 'log_path')
cmd = "find "+log_path+"/haproxy-wi-* -type f -exec stat --format '%Y :%y %n' '{}' \; | sort -nr | cut -d: -f2- | head -1 |awk '{print $4}' |xargs tail|sort -r"
output, stderr = subprocess_execute(cmd)
return output
if kwargs.get('log_id'):
selects = get_files(log_path, format="log")
for key, value in selects:
if kwargs.get('with_date'):
log_file = kwargs.get('file')+get_data('logs')+".log"
else:
log_file = kwargs.get('file')+".log"
if log_file == value:
return key
else:
cmd = "find "+log_path+"/haproxy-wi-* -type f -exec stat --format '%Y :%y %n' '{}' \; | sort -nr | cut -d: -f2- | head -1 |awk '{print $4}' |xargs tail|sort -r"
output, stderr = subprocess_execute(cmd)
return output
def show_ip(stdout):

View File

@ -61,7 +61,12 @@ template = template.render(h2 = 1,
checker_worker = ''.join(checker_worker),
keep_alive = ''.join(keep_alive),
api = ''.join(api),
date = funct.get_data('logs'),
haproxy_wi_log_id = funct.haproxy_wi_log(log_id=1, file="haproxy-wi-", with_date=1),
metrics_log_id = funct.haproxy_wi_log(log_id=1, file="metrics-", with_date=1),
checker_log_id = funct.haproxy_wi_log(log_id=1, file="checker-", with_date=1),
keep_alive_log_id = funct.haproxy_wi_log(log_id=1, file="keep_alive"),
checker_error_log_id = funct.haproxy_wi_log(log_id=1, file="checker-error"),
metrics_error_log_id = funct.haproxy_wi_log(log_id=1, file="metrics-error"),
error = stderr,
versions = funct.versions(),
haproxy_wi_log = funct.haproxy_wi_log(),

View File

@ -31,7 +31,7 @@
<select autofocus required name="serv" id="{{ select_id }}">
<option disabled selected>Choose log</option>
{% for select in selects %}
{% if select.0 == serv %}
{% if select.0|int() == serv|int() %}
<option value="{{ select.0 }}" selected>{{ select.1 }}</option>
{% else %}
<option value="{{ select.0 }}">{{ select.1 }}</option>

View File

@ -50,7 +50,7 @@
<tr class="overviewHead" style="height: 40px;">
<td class="padding10 first-collumn-wi">
{% if role <= 1 %}
<a href="/app/viewlogs.py?viewlogs=haproxy-wi-{{date}}.log&rows=10&grep=&hour=00&minut=00&hour1=24&minut1=00" title="View HAProxy-WI logs" class="logs_link">
<a href="/app/viewlogs.py?viewlogs={{haproxy_wi_log_id}}&rows=10&grep=&hour=00&minut=00&hour1=24&minut1=00" title="View HAProxy-WI logs" class="logs_link">
HAProxy-WI server status
</a>
{% else %}
@ -84,7 +84,7 @@
<span class="serverDown server-status"></span>
{% endif %}
{% if role <= 1 %}
<a href="/app/viewlogs.py?viewlogs=metrics-{{date}}.log&rows=10&grep=&hour=00&minut=00&hour1=24&minut1=00" title="View metrics master's logs" class="logs_link">
<a href="/app/viewlogs.py?viewlogs={{metrics_log_id}}&rows=10&grep=&hour=00&minut=00&hour1=24&minut1=00" title="View metrics master's logs" class="logs_link">
<span>Metrics master</span>
</a>
{% else %}
@ -98,7 +98,7 @@
<span class="serverDown server-status"></span>
{% endif %}
{% if role <= 1 %}
<a href="/app/viewlogs.py?viewlogs=checker-{{date}}.log&rows=10&grep=&hour=00&minut=00&hour1=24&minut1=00" title="View checker master's logs" class="logs_link">
<a href="/app/viewlogs.py?viewlogs={{checker_log_id}}&rows=10&grep=&hour=00&minut=00&hour1=24&minut1=00" title="View checker master's logs" class="logs_link">
<span>Checker master</span>
</a>
{% else %}
@ -112,7 +112,7 @@
<span class="serverDown server-status"></span>
{% endif %}
{% if role <= 1 %}
<a href="/app/viewlogs.py?viewlogs=keep_alive.log&rows=10&grep=&hour=00&minut=00&hour1=24&minut1=00" title="View keep alive logs" class="logs_link">
<a href="/app/viewlogs.py?viewlogs={{keep_alive_log_id}}&rows=10&grep=&hour=00&minut=00&hour1=24&minut1=00" title="View keep alive logs" class="logs_link">
<span>Auto start</span>
</a>
{% else %}
@ -128,7 +128,7 @@
<span title="running {{metrics_worker}} worker processes"><span class="serverDown server-status"></span>
{% endif %}
{% if role <= 1 %}
<a href="/app/viewlogs.py?viewlogs=metrics-error.log&rows=10&grep=&hour=00&minut=00&hour1=24&minut1=00" title="View worker's logs" class="logs_link">
<a href="/app/viewlogs.py?viewlogs={{metrics_error_log_id}}&rows=10&grep=&hour=00&minut=00&hour1=24&minut1=00" title="View worker's logs" class="logs_link">
<span>Metrics workers</span>
</a>
{% else %}
@ -142,7 +142,7 @@
<span title="running {{ checker_worker }} worker processes"><span class="serverDown server-status"></span>
{% endif %}
{% if role <= 1 %}
<a href="/app/viewlogs.py?viewlogs=checker-error.log&rows=10&grep=&hour=00&minut=00&hour1=24&minut1=00" title="View checker's logs" class="logs_link">
<a href="/app/viewlogs.py?viewlogs={{checker_error_log_id}}&rows=10&grep=&hour=00&minut=00&hour1=24&minut1=00" title="View checker's logs" class="logs_link">
<span>Checker workers</span>
</a>
{% else %}
@ -269,7 +269,11 @@
<table class="overview-wi">
<tr class="overviewHead">
<td class="padding10 first-collumn-wi">Recent HAProxy-WI`s log</td>
<td class="padding10 first-collumn-wi">
<a href="/app/viewlogs.py?viewlogs={{haproxy_wi_log_id}}&rows=10&grep=&hour=00&minut=00&hour1=24&minut1=00" title="View HAProxy-WI logs" class="logs_link">
Recent HAProxy-WI`s log
</a>
</td>
<td>
<span class="add-button-wi">
<a title="Show more log" id="show-all-haproxy-wi-log" style="color: #fff">

View File

@ -436,6 +436,16 @@ function showUploadConfig() {
}
} );
}
function findGetParameter(parameterName) {
var result = null,
tmp = [];
var items = location.search.substr(1).split("&");
for (var index = 0; index < items.length; index++) {
tmp = items[index].split("=");
if (tmp[0] === parameterName) result = decodeURIComponent(tmp[1]);
}
return result;
}
function viewLogs() {
if($('#viewlogs').val() == 'haproxy-wi.error.log' || $('#viewlogs').val() == 'haproxy-wi.access.log') {
showApacheLog($('#viewlogs').val());
@ -446,10 +456,15 @@ function viewLogs() {
var minut = $('#time_range_out_minut').val()
var hour1 = $('#time_range_out_hour1').val()
var minut1 = $('#time_range_out_minut1').val()
var viewlogs = $('#viewlogs').val()
console.log(findGetParameter('viewlogs'))
if (viewlogs == null){
viewlogs = findGetParameter('viewlogs')
}
$.ajax( {
url: "options.py",
data: {
viewlogs: $('#viewlogs').val(),
viewlogs: viewlogs,
rows: rows,
grep: grep,
hour: hour,
@ -461,7 +476,7 @@ function viewLogs() {
type: "POST",
success: function( data ) {
$("#ajax").html(data);
window.history.pushState("View logs", "View logs", cur_url[0]+"?viewlogs="+$("#viewlogs").val()+
window.history.pushState("View logs", "View logs", cur_url[0]+"?viewlogs="+viewlogs+
'&rows='+rows+
'&grep='+grep+
'&hour='+hour+