mirror of https://github.com/Aidaho12/haproxy-wi
parent
c270d5d144
commit
fe7b682cba
|
@ -163,6 +163,12 @@ if serv is not None and act == "stats":
|
||||||
if serv is not None and form.getvalue('rows') is not None:
|
if serv is not None and form.getvalue('rows') is not None:
|
||||||
rows = form.getvalue('rows')
|
rows = form.getvalue('rows')
|
||||||
grep = form.getvalue('grep')
|
grep = form.getvalue('grep')
|
||||||
|
hour = form.getvalue('hour')
|
||||||
|
minut = form.getvalue('minut')
|
||||||
|
hour1 = form.getvalue('hour1')
|
||||||
|
minut1 = form.getvalue('minut1')
|
||||||
|
date = hour+':'+minut
|
||||||
|
date1 = hour1+':'+minut1
|
||||||
|
|
||||||
if grep is not None:
|
if grep is not None:
|
||||||
grep_act = '|grep'
|
grep_act = '|grep'
|
||||||
|
@ -174,25 +180,57 @@ if serv is not None and form.getvalue('rows') is not None:
|
||||||
if syslog_server_enable is None or syslog_server_enable == "0":
|
if syslog_server_enable is None or syslog_server_enable == "0":
|
||||||
local_path_logs = funct.get_config_var('logs', 'local_path_logs')
|
local_path_logs = funct.get_config_var('logs', 'local_path_logs')
|
||||||
syslog_server = serv
|
syslog_server = serv
|
||||||
commands = [ 'sudo tail -%s %s %s %s' % (rows, local_path_logs, grep_act, grep) ]
|
commands = [ "sudo cat %s| awk '$3>\"%s:00\" && $3<\"%s:00\"' |tail -%s %s %s" % (local_path_logs, date, date1, rows, grep_act, grep) ]
|
||||||
else:
|
else:
|
||||||
commands = [ 'sudo tail -%s /var/log/%s/syslog.log %s %s' % (rows, serv, grep_act, grep) ]
|
commands = [ "sudo cat /var/log/%s/syslog.log | sed '/ %s:00/,/ %s:00/! d' |tail -%s %s %s" % (serv, date, date1, rows, grep_act, grep) ]
|
||||||
syslog_server = funct.get_config_var('logs', 'syslog_server')
|
syslog_server = funct.get_config_var('logs', 'syslog_server')
|
||||||
print('<div id="logs">')
|
|
||||||
funct.ssh_command(syslog_server, commands, show_log="1")
|
|
||||||
print('</div>')
|
|
||||||
|
|
||||||
|
funct.ssh_command(syslog_server, commands, show_log="1")
|
||||||
|
|
||||||
if serv is not None and form.getvalue('rows1') is not None:
|
if serv is not None and form.getvalue('rows1') is not None:
|
||||||
rows = form.getvalue('rows1')
|
rows = form.getvalue('rows1')
|
||||||
grep = form.getvalue('grep')
|
grep = form.getvalue('grep')
|
||||||
|
grep = form.getvalue('grep')
|
||||||
|
hour = form.getvalue('hour')
|
||||||
|
minut = form.getvalue('minut')
|
||||||
|
hour1 = form.getvalue('hour1')
|
||||||
|
minut1 = form.getvalue('minut1')
|
||||||
|
date = hour+':'+minut
|
||||||
|
date1 = hour1+':'+minut1
|
||||||
|
|
||||||
if grep is not None:
|
if grep is not None:
|
||||||
grep_act = '|grep'
|
grep_act = '|grep'
|
||||||
else:
|
else:
|
||||||
grep_act = ''
|
grep_act = ''
|
||||||
grep = ''
|
grep = ''
|
||||||
|
|
||||||
cmd='tail -%s %s %s %s' % (rows, '/var/log/httpd/'+serv, grep_act, grep)
|
cmd="cat %s| awk -F\"/|:\" '$3>\"%s:00\" && $3<\"%s:00\"' |tail -%s %s %s" % ('/var/log/httpd/'+serv, date, date1, rows, grep_act, grep)
|
||||||
|
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, universal_newlines=True)
|
||||||
|
stdout, stderr = p.communicate()
|
||||||
|
output = stdout.splitlines()
|
||||||
|
|
||||||
|
funct.show_log(output)
|
||||||
|
print(stderr)
|
||||||
|
|
||||||
|
if form.getvalue('viewlogs') is not None:
|
||||||
|
viewlog = form.getvalue('viewlogs')
|
||||||
|
log_path = funct.get_config_var('main', 'log_path')
|
||||||
|
rows = form.getvalue('rows2')
|
||||||
|
grep = form.getvalue('grep')
|
||||||
|
hour = form.getvalue('hour')
|
||||||
|
minut = form.getvalue('minut')
|
||||||
|
hour1 = form.getvalue('hour1')
|
||||||
|
minut1 = form.getvalue('minut1')
|
||||||
|
date = hour+':'+minut
|
||||||
|
date1 = hour1+':'+minut1
|
||||||
|
|
||||||
|
if grep is not None:
|
||||||
|
grep_act = '|grep'
|
||||||
|
else:
|
||||||
|
grep_act = ''
|
||||||
|
grep = ''
|
||||||
|
|
||||||
|
cmd="cat %s| awk '$3>\"%s:00\" && $3<\"%s:00\"' |tail -%s %s %s" % (log_path + viewlog, date, date1, rows, grep_act, grep)
|
||||||
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, universal_newlines=True)
|
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, universal_newlines=True)
|
||||||
stdout, stderr = p.communicate()
|
stdout, stderr = p.communicate()
|
||||||
output = stdout.splitlines()
|
output = stdout.splitlines()
|
||||||
|
@ -262,26 +300,7 @@ if serv is not None and act == "configShow":
|
||||||
funct.get_button("Just save", value="save")
|
funct.get_button("Just save", value="save")
|
||||||
funct.get_button("Upload and restart")
|
funct.get_button("Upload and restart")
|
||||||
print('</form></center>')
|
print('</form></center>')
|
||||||
|
|
||||||
if form.getvalue('viewlogs') is not None:
|
|
||||||
viewlog = form.getvalue('viewlogs')
|
|
||||||
log_path = funct.get_config_var('main', 'log_path')
|
|
||||||
|
|
||||||
try:
|
|
||||||
log = open(log_path + viewlog, "r",encoding='utf-8', errors='ignore')
|
|
||||||
except IOError:
|
|
||||||
print('<div class="alert alert-danger">Can\'t read import log file</div>')
|
|
||||||
sys.exit()
|
|
||||||
|
|
||||||
print('<center><h3>Shows log: %s</h3></center><br />' % viewlog)
|
|
||||||
i = 0
|
|
||||||
for line in log:
|
|
||||||
i = i + 1
|
|
||||||
if i % 2 == 0:
|
|
||||||
print('<div class="line3">' + line + '</div>')
|
|
||||||
else:
|
|
||||||
print('<div class="line">' + line + '</div>')
|
|
||||||
|
|
||||||
if form.getvalue('master'):
|
if form.getvalue('master'):
|
||||||
master = form.getvalue('master')
|
master = form.getvalue('master')
|
||||||
slave = form.getvalue('slave')
|
slave = form.getvalue('slave')
|
||||||
|
|
|
@ -99,9 +99,9 @@
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="copyright-menu">
|
<div class="copyright-menu">
|
||||||
HAproxy-WI v2.5.4.4
|
HAproxy-WI v2.5.4.5
|
||||||
<br>
|
<br>
|
||||||
<a href="https://www.patreon.com/haproxy_wi" title="Donate" style="color: #fff; margin-left: 40px;">Patreon</a>
|
<a href="https://www.patreon.com/haproxy_wi" title="Donate" target="_blank" style="color: #fff; margin-left: 40px;">Patreon</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -5,22 +5,27 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<table class="overview">
|
<table class="overview">
|
||||||
<tr class="overviewHead">
|
<tr class="overviewHead">
|
||||||
<td class="padding10 first-collumn">
|
<td class="padding10 first-collumn" style="width: 10%;">
|
||||||
{% if onclick == 'showApacheLog()' %}
|
{% if onclick == 'showApacheLog()' %}
|
||||||
Log
|
Log
|
||||||
{% else %}
|
{% else %}
|
||||||
Server
|
Server
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td>Number rows</td>
|
<td style="width: 10%;">Number rows</td>
|
||||||
<td class="padding10">Ex for grep</td>
|
<td class="padding10" style="width: 10%;">Ex for grep</td>
|
||||||
<td> </td>
|
<td style="width: 10%;">
|
||||||
|
<label for="time_range_out_hour">Time range:</label>
|
||||||
|
<input type="text" id="time_range_out_hour" readonly class="time-range">:<input type="text" id="time_range_out_minut" readonly class="time-range"> -
|
||||||
|
<input type="text" id="time_range_out_hour1" readonly class="time-range">:<input type="text" id="time_range_out_minut1" readonly class="time-range">
|
||||||
|
</td>
|
||||||
|
<td style="width: 10%;"> </td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="padding10 first-collumn">
|
<td class="padding10 first-collumn" style="width: 10%;">
|
||||||
<form action="logs.py" method="get">
|
<form action="logs.py" method="get">
|
||||||
<select autofocus required name="serv" id="serv">
|
<select autofocus required name="serv" id="{{ select_id }}">
|
||||||
{% if onclick == 'showApacheLog()' %}
|
{% if onclick == 'showApacheLog()' or onclick == 'viewLogs()' %}
|
||||||
<option disabled selected>Choose log</option>
|
<option disabled selected>Choose log</option>
|
||||||
{% for select in selects %}
|
{% for select in selects %}
|
||||||
{% if select.2 == serv %}
|
{% if select.2 == serv %}
|
||||||
|
@ -41,16 +46,19 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td class="padding10" style="width: 10%;">
|
||||||
<input type="number" name="rows" id="rows" value="{{ rows }}" class="form-control" required>
|
<input type="number" name="rows" id="rows" value="{{ rows }}" class="form-control" required>
|
||||||
</td>
|
</td>
|
||||||
<td class="padding10 first-collumn">
|
<td class="padding10" style="width: 10%;">
|
||||||
<input type="text" name="grep" id="grep" class="form-control" value="{{ grep }}" >
|
<input type="text" name="grep" id="grep" class="form-control" value="{{ grep }}" >
|
||||||
</td>
|
</td>
|
||||||
<td class="padding10 first-collumn">
|
<td class="padding10" style="width: 10%;">
|
||||||
|
<div id="time-range"></div>
|
||||||
|
</td>
|
||||||
|
<td class="padding10 first-collumn" style="width: 10%;">
|
||||||
<a class="ui-button ui-widget ui-corner-all" id="show" title="Show logs" onclick="{{ onclick }}">Show</a>
|
<a class="ui-button ui-widget ui-corner-all" id="show" title="Show logs" onclick="{{ onclick }}">Show</a>
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<div id="ajax">
|
<div id="ajax">
|
||||||
|
@ -60,7 +68,7 @@
|
||||||
window.onload = showApacheLog()
|
window.onload = showApacheLog()
|
||||||
{% else %}
|
{% else %}
|
||||||
window.onload = showLog()
|
window.onload = showLog()
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
|
@ -1,67 +0,0 @@
|
||||||
{% extends "base.html" %}
|
|
||||||
{% block content %}
|
|
||||||
{% if role <= 1 %}
|
|
||||||
<table class="overview">
|
|
||||||
<tr class="overviewHead">
|
|
||||||
<td class="padding10">Login</td>
|
|
||||||
<td class="padding10">Email</td>
|
|
||||||
<td>Group</td>
|
|
||||||
<td class="padding10">Role</td>
|
|
||||||
<td style="width: 200px;">
|
|
||||||
<span class="add-button">
|
|
||||||
<a href="#" title="Show all users" id="show-all-users" style="color: #fff">
|
|
||||||
Show all
|
|
||||||
</a>
|
|
||||||
</span>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{% set counter = 0 -%}
|
|
||||||
{% for user in users %}
|
|
||||||
{% set counter = counter + 1 %}
|
|
||||||
{% if counter < 4 %}
|
|
||||||
<tr>
|
|
||||||
<td class="padding10 first-collumn"> {{ user.1 }}</td>
|
|
||||||
<td class="padding10"> {{ user.2 }}</td>
|
|
||||||
<td class="second-collumn">{{ user.5 }}</td>
|
|
||||||
<td>{{ user.4 }}</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
{% else %}
|
|
||||||
<tr style="display: none;" class="show-users">
|
|
||||||
<td class="padding10 first-collumn"> {{ user.1 }}</td>
|
|
||||||
<td class="padding10"> {{ user.2 }}</td>
|
|
||||||
<td class="second-collumn">{{ user.5 }}</td>
|
|
||||||
<td>{{ user.4 }}</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
</table>
|
|
||||||
{% endif %}
|
|
||||||
<table class="overview">
|
|
||||||
<tr class="overviewHead">
|
|
||||||
<td class="padding10">Server</td>
|
|
||||||
<td class="padding10">
|
|
||||||
HAproxy status
|
|
||||||
</td>
|
|
||||||
<td class="padding10">
|
|
||||||
Action
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
Last edit
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{% for server in servers %}
|
|
||||||
<tr>
|
|
||||||
<td class="padding10 first-collumn"><a title={{ server.1 }} style="color: #000">{{ server.1 }}</a></td>
|
|
||||||
<td class="second-collumn">{{ server.7 }}</td>
|
|
||||||
<td class="padding10">
|
|
||||||
<a href="/app/configshow.py?serv={{ server.2 }}&open=open#conf" title="Show config"><img src="/image/pic/show.png" alt="show" class="icon"></a>
|
|
||||||
<a href="/app/configshow.py?serv={{ server.2 }}&open=open#conf" title="Edit config"><img src="/image/pic/edit.png" alt="edit" class="icon"></a>
|
|
||||||
<a href="/app/configshow.py?serv={{ server.2 }}&open=open#conf" title="Compare config"><img src="/image/pic/compare.png" alt="compare" class="icon"></a>
|
|
||||||
<a href="/app/configshow.py?serv={{ server.2 }}&open=open#conf" title="Map listen/frontend/backend"><img src="/image/pic/map.png" alt="map" class="icon"></a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</table>
|
|
||||||
{% endblock %}
|
|
|
@ -1,30 +0,0 @@
|
||||||
{% extends "base.html" %}
|
|
||||||
{% block content %}
|
|
||||||
<center>
|
|
||||||
<h3>Choose server</h3>
|
|
||||||
<p>
|
|
||||||
<form action="{{ action }}" method="get">
|
|
||||||
<select autofocus required name="serv" id="{{ select_id }}">
|
|
||||||
<option disabled>Choose server</option>
|
|
||||||
{% for select in selects %}
|
|
||||||
{% if select == serv %}
|
|
||||||
<option value="{{ select }}" selected>{{ select }}</option>
|
|
||||||
{% else %}
|
|
||||||
<option value="{{ select }}">{{ select }}</option>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
</select>
|
|
||||||
{% if onclick %}
|
|
||||||
<a class="ui-button ui-widget ui-corner-all" id="show" title="Show config" onclick="{{ onclick }}">Show</a>
|
|
||||||
{% else %}
|
|
||||||
<button type="submit" value="open" name="open" class="btn btn-default">Open</button>
|
|
||||||
{% endif %}
|
|
||||||
</form>
|
|
||||||
</p>
|
|
||||||
</center>
|
|
||||||
<div id="ajax">
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
window.onload = viewLogs()
|
|
||||||
</script>
|
|
||||||
{% endblock %}
|
|
|
@ -8,9 +8,19 @@ import glob
|
||||||
import datetime
|
import datetime
|
||||||
from jinja2 import Environment, FileSystemLoader
|
from jinja2 import Environment, FileSystemLoader
|
||||||
env = Environment(loader=FileSystemLoader('templates/'))
|
env = Environment(loader=FileSystemLoader('templates/'))
|
||||||
template = env.get_template('viewlogs.html')
|
template = env.get_template('logs.html')
|
||||||
form = cgi.FieldStorage()
|
form = cgi.FieldStorage()
|
||||||
|
|
||||||
|
if form.getvalue('grep') is None:
|
||||||
|
grep = ""
|
||||||
|
else:
|
||||||
|
grep = form.getvalue('grep')
|
||||||
|
|
||||||
|
if form.getvalue('rows') is None:
|
||||||
|
rows = 10
|
||||||
|
else:
|
||||||
|
rows = form.getvalue('rows')
|
||||||
|
|
||||||
print('Content-type: text/html\n')
|
print('Content-type: text/html\n')
|
||||||
funct.check_login()
|
funct.check_login()
|
||||||
funct.page_for_admin()
|
funct.page_for_admin()
|
||||||
|
@ -35,14 +45,13 @@ try:
|
||||||
cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE"))
|
cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE"))
|
||||||
user_id = cookie.get('uuid')
|
user_id = cookie.get('uuid')
|
||||||
user = sql.get_user_name_by_uuid(user_id.value)
|
user = sql.get_user_name_by_uuid(user_id.value)
|
||||||
servers = sql.get_dick_permit()
|
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def get_files():
|
def get_files():
|
||||||
file = set()
|
file = []
|
||||||
for files in glob.glob(os.path.join(log_path,'*.log')):
|
for files in glob.glob(os.path.join(log_path,'*.log')):
|
||||||
file.add(files.split('/')[5])
|
file += [(files.split('/')[5], files.split('/')[5])]
|
||||||
return sorted(file, reverse=True)
|
return sorted(file, reverse=True)
|
||||||
|
|
||||||
output_from_parsed_template = template.render(h2 = 1,
|
output_from_parsed_template = template.render(h2 = 1,
|
||||||
|
@ -53,5 +62,7 @@ output_from_parsed_template = template.render(h2 = 1,
|
||||||
onclick = "viewLogs()",
|
onclick = "viewLogs()",
|
||||||
serv = form.getvalue('viewlogs'),
|
serv = form.getvalue('viewlogs'),
|
||||||
select_id = "viewlogs",
|
select_id = "viewlogs",
|
||||||
selects = get_files())
|
selects = get_files(),
|
||||||
|
rows = rows,
|
||||||
|
grep = grep)
|
||||||
print(output_from_parsed_template)
|
print(output_from_parsed_template)
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 453 KiB After Width: | Height: | Size: 456 KiB |
|
@ -148,6 +148,10 @@ function showLog() {
|
||||||
rows: $('#rows').val(),
|
rows: $('#rows').val(),
|
||||||
serv: $("#serv").val(),
|
serv: $("#serv").val(),
|
||||||
grep: $("#grep").val(),
|
grep: $("#grep").val(),
|
||||||
|
hour: $('#time_range_out_hour').val(),
|
||||||
|
minut: $('#time_range_out_minut').val(),
|
||||||
|
hour1: $('#time_range_out_hour1').val(),
|
||||||
|
minut1: $('#time_range_out_minut1').val(),
|
||||||
},
|
},
|
||||||
type: "GET",
|
type: "GET",
|
||||||
success: function( data ) {
|
success: function( data ) {
|
||||||
|
@ -258,6 +262,12 @@ function viewLogs() {
|
||||||
url: "options.py",
|
url: "options.py",
|
||||||
data: {
|
data: {
|
||||||
viewlogs: $('#viewlogs').val(),
|
viewlogs: $('#viewlogs').val(),
|
||||||
|
rows2: $('#rows').val(),
|
||||||
|
grep: $("#grep").val(),
|
||||||
|
hour: $('#time_range_out_hour').val(),
|
||||||
|
minut: $('#time_range_out_minut').val(),
|
||||||
|
hour1: $('#time_range_out_hour1').val(),
|
||||||
|
minut1: $('#time_range_out_minut1').val(),
|
||||||
},
|
},
|
||||||
type: "GET",
|
type: "GET",
|
||||||
success: function( data ) {
|
success: function( data ) {
|
||||||
|
@ -321,7 +331,38 @@ $( function() {
|
||||||
$(this).addClass('current');
|
$(this).addClass('current');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
var now = new Date(Date.now());
|
||||||
|
var date1 = now.getHours() * 60 - 1 * 60;
|
||||||
|
var date2 = now.getHours() * 60;
|
||||||
|
$("#time-range").slider({
|
||||||
|
range: true,
|
||||||
|
min: 0,
|
||||||
|
max: 1440,
|
||||||
|
step: 15,
|
||||||
|
values: [ date1, date2 ],
|
||||||
|
slide: function(e, ui) {
|
||||||
|
var hours = Math.floor(ui.values[0] / 60);
|
||||||
|
var minutes = ui.values[0] - (hours * 60);
|
||||||
|
|
||||||
|
if(hours.toString().length == 1) hours = '0' + hours;
|
||||||
|
if(minutes.toString().length == 1) minutes = '0' + minutes;
|
||||||
|
|
||||||
|
var hours1 = Math.floor(ui.values[1] / 60);
|
||||||
|
var minutes1 = ui.values[1] - (hours1 * 60);
|
||||||
|
|
||||||
|
if(hours1.toString().length == 1) hours1 = '0' + hours1;
|
||||||
|
if(minutes1.toString().length == 1) minutes1 = '0' + minutes1;
|
||||||
|
$('#time_range_out_hour').val(hours);
|
||||||
|
$('#time_range_out_minut').val(minutes);
|
||||||
|
$('#time_range_out_hour1').val(hours1);
|
||||||
|
$('#time_range_out_minut1').val(minutes1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$('#time_range_out_hour').val(date1/60);
|
||||||
|
$('#time_range_out_minut').val('00');
|
||||||
|
$('#time_range_out_hour1').val(date2/60);
|
||||||
|
$('#time_range_out_minut1').val('00');
|
||||||
|
|
||||||
$('#0').click(function() {
|
$('#0').click(function() {
|
||||||
$('.auto-refresh-div').show("blind", "fast");
|
$('.auto-refresh-div').show("blind", "fast");
|
||||||
$('#0').css("display", "none");
|
$('#0').css("display", "none");
|
||||||
|
|
|
@ -209,6 +209,14 @@ pre {
|
||||||
.line:hover, .line3:hover, tr:hover {
|
.line:hover, .line3:hover, tr:hover {
|
||||||
background-color: #f6f8fa;
|
background-color: #f6f8fa;
|
||||||
}
|
}
|
||||||
|
.time-range {
|
||||||
|
border: 0;
|
||||||
|
background-color: #f5faf4;
|
||||||
|
font-weight: bold;
|
||||||
|
width: 18px;
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
.overviewHead:hover {
|
.overviewHead:hover {
|
||||||
background-color: #f4f9f3e6;
|
background-color: #f4f9f3e6;
|
||||||
}
|
}
|
||||||
|
|
|
@ -527,6 +527,10 @@ function showApacheLog() {
|
||||||
rows1: $('#rows').val(),
|
rows1: $('#rows').val(),
|
||||||
serv: $("#serv").val(),
|
serv: $("#serv").val(),
|
||||||
grep: $("#grep").val(),
|
grep: $("#grep").val(),
|
||||||
|
hour: $('#time_range_out_hour').val(),
|
||||||
|
minut: $('#time_range_out_minut').val(),
|
||||||
|
hour1: $('#time_range_out_hour1').val(),
|
||||||
|
minut1: $('#time_range_out_minut1').val(),
|
||||||
},
|
},
|
||||||
type: "GET",
|
type: "GET",
|
||||||
success: function( data ) {
|
success: function( data ) {
|
||||||
|
|
Loading…
Reference in New Issue