mirror of https://github.com/Aidaho12/haproxy-wi
parent
ca922d983a
commit
9c749a0eb2
|
@ -440,7 +440,7 @@ def update_db_v_3_5_3(**kwargs):
|
|||
|
||||
def update_ver(**kwargs):
|
||||
con, cur = get_cur()
|
||||
sql = """update version set version = '3.5.4'; """
|
||||
sql = """update version set version = '3.5.5'; """
|
||||
try:
|
||||
cur.execute(sql)
|
||||
con.commit()
|
||||
|
|
|
@ -17,11 +17,14 @@ try:
|
|||
groups = sql.select_groups()
|
||||
token = sql.get_token(user_id.value)
|
||||
servers = sql.get_dick_permit()
|
||||
cmd = "ps ax |grep -e 'keep_alive.py' |grep -v grep |wc -l"
|
||||
keep_alive, stderr = funct.subprocess_execute(cmd)
|
||||
except:
|
||||
pass
|
||||
|
||||
haproxy_sock_port = sql.get_setting('haproxy_sock_port')
|
||||
|
||||
haproxy_config_path = sql.get_setting('haproxy_config_path')
|
||||
commands = [ "ls -l %s |awk '{ print $6\" \"$7\" \"$8}'" % haproxy_config_path ]
|
||||
servers_with_status1 = []
|
||||
out1 = ""
|
||||
for s in servers:
|
||||
|
@ -40,12 +43,17 @@ for s in servers:
|
|||
else:
|
||||
out1 = False
|
||||
servers_with_status.append(out1)
|
||||
|
||||
servers_with_status.append(s[12])
|
||||
try:
|
||||
servers_with_status.append(funct.ssh_command(s[2], commands))
|
||||
except:
|
||||
servers_with_status.append('Cannot get last date')
|
||||
|
||||
servers_with_status1.append(servers_with_status)
|
||||
|
||||
|
||||
template = template.render(h2 = 1,
|
||||
autorefresh = 1,
|
||||
autorefresh = 0,
|
||||
title = "HAProxy servers overview",
|
||||
role = sql.get_user_role_by_uuid(user_id.value),
|
||||
user = user,
|
||||
|
@ -53,5 +61,6 @@ template = template.render(h2 = 1,
|
|||
groups = groups,
|
||||
servers = servers_with_status1,
|
||||
versions = funct.versions(),
|
||||
keep_alive = ''.join(keep_alive),
|
||||
token = token)
|
||||
print(template)
|
||||
|
|
|
@ -24,7 +24,7 @@ if act == "checkrestart":
|
|||
sys.exit()
|
||||
|
||||
if not sql.check_token_exists(form.getvalue('token')):
|
||||
print("What the fuck?! U r hacker Oo?!")
|
||||
print("Your token has been expired")
|
||||
sys.exit()
|
||||
|
||||
if form.getvalue('getcerts') is not None and serv is not None:
|
||||
|
@ -140,7 +140,7 @@ if act == "overviewwaf":
|
|||
if act == "overviewServers":
|
||||
id = form.getvalue('id')
|
||||
name = form.getvalue('name')
|
||||
ovw.get_overviewServers(ip=serv,name=name,page=form.getvalue('page'))
|
||||
ovw.get_overviewServers(ip=serv,name=name,id=form.getvalue('id'))
|
||||
|
||||
|
||||
if act == "overviewHapwi":
|
||||
|
|
40
app/ovw.py
40
app/ovw.py
|
@ -13,17 +13,18 @@ servers = []
|
|||
server_status = ()
|
||||
|
||||
async def async_get_overview(serv1, serv2):
|
||||
haproxy_config_path = sql.get_setting('haproxy_config_path')
|
||||
commands = [ "ls -l %s |awk '{ print $6\" \"$7\" \"$8}'" % haproxy_config_path ]
|
||||
commands2 = "ps ax |grep keep_alive.py |grep -v grep |wc -l"
|
||||
# haproxy_config_path = sql.get_setting('haproxy_config_path')
|
||||
# commands = [ "ls -l %s |awk '{ print $6\" \"$7\" \"$8}'" % haproxy_config_path ]
|
||||
commands2 = [ "ps ax |grep waf/bin/modsecurity |grep -v grep |wc -l" ]
|
||||
# commands2 = "ps ax |grep keep_alive.py |grep -v grep |wc -l"
|
||||
|
||||
cmd = 'echo "show info" |nc %s %s -w 1|grep -e "Process_num"' % (serv2, haproxy_sock_port)
|
||||
server_status = (serv1,
|
||||
serv2,
|
||||
funct.server_status(funct.subprocess_execute(cmd)),
|
||||
funct.ssh_command(serv2, commands),
|
||||
sql.select_servers(server=serv2, keep_alive=1),
|
||||
funct.subprocess_execute(commands2))
|
||||
sql.select_servers(server=serv2, keep_alive=1),
|
||||
funct.ssh_command(serv2, commands2),
|
||||
sql.select_waf_servers(serv2))
|
||||
return server_status
|
||||
|
||||
async def get_runner_overview():
|
||||
|
@ -67,20 +68,9 @@ def get_overviewWaf(url):
|
|||
|
||||
async def async_get_overviewServers(serv1, serv2):
|
||||
commands = [ "top -u haproxy -b -n 1 -w 67 |grep -e 'haproxy\|PID\|Cpu\|KiB' |grep -v Swap" ]
|
||||
# if desc == "hapservers.py":
|
||||
# cmd = 'echo "show info" |nc %s %s -w 1|grep -e "Ver\|CurrConns\|Maxco\|MB\|Uptime:"' % (serv2, haproxy_sock_port)
|
||||
# else:
|
||||
# cmd = 'echo "show info" |nc %s %s -w 1|grep -e "Ver\|CurrConns\|SessRate\|Maxco\|MB\|Uptime:"' % (serv2, haproxy_sock_port)
|
||||
cmd = 'echo "show info" |nc %s %s -w 1|grep -e "Ver\|CurrConns\|Maxco\|MB\|Uptime:"' % (serv2, haproxy_sock_port)
|
||||
out = funct.subprocess_execute(cmd)
|
||||
out1 = ""
|
||||
# user_id = cookie.get('uuid')
|
||||
# role = sql.get_user_role_by_uuid(user_id.value)
|
||||
# hap_configs_dir = funct.get_config_var('configs', 'haproxy_save_configs_dir')
|
||||
# cfg = hap_configs_dir + serv2 + "-" + funct.get_data('config') + ".cfg"
|
||||
# funct.get_config(serv2, cfg)
|
||||
# backends = funct.get_sections(cfg)
|
||||
# os.system("/bin/rm -f " + cfg)
|
||||
|
||||
for k in out:
|
||||
if "Ncat:" not in k:
|
||||
|
@ -89,11 +79,7 @@ async def async_get_overviewServers(serv1, serv2):
|
|||
out1 += "<br />"
|
||||
else:
|
||||
out1 = "Can\'t connect to HAproxy"
|
||||
|
||||
# if role <= 2:
|
||||
# server_status = (serv1,serv2, out1, funct.ssh_command(serv2, commands),backends, desc)
|
||||
# else:
|
||||
# server_status = (serv1,serv2, out1, funct.ssh_command(serv2, commands),funct.show_backends(serv2, ret=1), desc)
|
||||
|
||||
server_status = (serv1,serv2, out1, funct.ssh_command(serv2, commands))
|
||||
return server_status
|
||||
|
||||
|
@ -101,23 +87,21 @@ async def get_runner_overviewServers(**kwargs):
|
|||
template = env.get_template('overviewServers.html')
|
||||
user_id = cookie.get('uuid')
|
||||
role = sql.get_user_role_by_uuid(user_id.value)
|
||||
# if kwargs.get('server1'):
|
||||
futures = [async_get_overviewServers(kwargs.get('server1'), kwargs.get('server2'))]
|
||||
# else:
|
||||
# futures = [async_get_overviewServers(server[1], server[2], server[11]) for server in listhap]
|
||||
|
||||
for i, future in enumerate(asyncio.as_completed(futures)):
|
||||
result = await future
|
||||
servers.append(result)
|
||||
servers_sorted = sorted(servers, key=funct.get_key)
|
||||
template = template.render(service_status=servers_sorted, role=role)
|
||||
template = template.render(service_status=servers_sorted, role=role, id=kwargs.get('id'))
|
||||
print(template)
|
||||
|
||||
def get_overviewServers(**kwargs):
|
||||
server1 = kwargs.get('name')
|
||||
server2 = kwargs.get('ip')
|
||||
page = kwargs.get('page')
|
||||
id = kwargs.get('id')
|
||||
ioloop = asyncio.get_event_loop()
|
||||
ioloop.run_until_complete(get_runner_overviewServers(server1=server1, server2=server2))
|
||||
ioloop.run_until_complete(get_runner_overviewServers(server1=server1, server2=server2, id=id))
|
||||
ioloop.close()
|
||||
|
||||
def get_map(serv):
|
||||
|
|
|
@ -834,9 +834,9 @@ def select_waf_metrics_enable_server(ip):
|
|||
cur.close()
|
||||
con.close()
|
||||
|
||||
def select_waf_servers():
|
||||
def select_waf_servers(serv):
|
||||
con, cur = create_db.get_cur()
|
||||
sql = """ select serv.ip from waf left join servers as serv on waf.server_id = serv.id where waf.metrics = '1'"""
|
||||
sql = """ select serv.ip from waf left join servers as serv on waf.server_id = serv.id where serv.ip = '%s' """ % serv
|
||||
try:
|
||||
cur.execute(sql)
|
||||
except sqltool.Error as e:
|
||||
|
@ -1400,7 +1400,7 @@ error_mess = '<span class="alert alert-danger" id="error">All fields must be com
|
|||
def check_token():
|
||||
if not check_token_exists(form.getvalue('token')):
|
||||
print('Content-type: text/html\n')
|
||||
print("What the fuck?! U r hacker Oo?!")
|
||||
print("Your token has been expired")
|
||||
import sys
|
||||
sys.exit()
|
||||
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
<li><a href="#users">Users</a></li>
|
||||
<li><a href="#groups">Groups</a></li>
|
||||
<li><a href="#servers">Servers</a></li>
|
||||
<!-- <li><a href="#roles">Roles</a></li> -->
|
||||
<li><a href="#ssh">SSH credentials</a></li>
|
||||
<li><a href="#checker">Checker</a></li>
|
||||
{% if user %}
|
||||
|
@ -305,22 +304,7 @@
|
|||
You can read the description of all parameters <a href="https://haproxy-wi.org/description.py?description=servers" title="Servers description" target="_blank">here</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div id="roles"> -->
|
||||
<!-- <table class="overview" id="ajax-group"> -->
|
||||
<!-- <tr class="overviewHead"> -->
|
||||
<!-- <td class="padding10 first-collumn">Name</td> -->
|
||||
<!-- <td>Description</td> -->
|
||||
<!-- </tr> -->
|
||||
<!-- <tr> -->
|
||||
<!-- {% for role in roles %} -->
|
||||
<!-- <tr id="group-{{role.0}}" class="{{ loop.cycle('odd', 'even') }}"> -->
|
||||
<!-- <td class="padding10 first-collumn">{{role.1}}</td> -->
|
||||
<!-- <td>{{role.2}}</td> -->
|
||||
<!-- </tr> -->
|
||||
<!-- {% endfor %} -->
|
||||
<!-- </table> -->
|
||||
<!-- </div> -->
|
||||
|
||||
|
||||
<div id="ssh">
|
||||
<table id="ssh_enable_table" class="overview">
|
||||
<tr class="overviewHead" style="width: 50%;">
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
{% set waf_servers = [] %}
|
||||
{% for service in service_status %}
|
||||
{% if service.3 == "On" or service.3 == "Off" or service.3 == "DetectionOnly" or url == "waf.py" %}
|
||||
{% do waf_servers.append(1) %}
|
||||
<tr class="{{ loop.cycle('odd', 'even') }}" id="{{service.0}}-select-line">
|
||||
<td class="padding10 first-collumn-wi">
|
||||
{% if service.2|int() >= 1 %}
|
||||
|
@ -49,7 +47,6 @@
|
|||
{{ service.3 }}
|
||||
{% endif %}
|
||||
</td>
|
||||
{% if url == "waf.py" %}
|
||||
<td style="padding-top: 2px;">
|
||||
{% if service.3 == "On" or service.3 == "Off" or service.3 == "DetectionOnly" %}
|
||||
{% if service.4|int() == 1 %}
|
||||
|
@ -59,18 +56,10 @@
|
|||
{% endif %}
|
||||
{% endif %}
|
||||
</td>
|
||||
{% endif %}
|
||||
<td></td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% if waf_servers|count == 0 and url != "waf.py" %}
|
||||
<tr>
|
||||
<td class="padding10 first-collumn-wi">
|
||||
You have not installed the WAF server yet
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
<script>
|
||||
$( "select" ).selectmenu();
|
||||
{% if role <= 1 %}
|
||||
|
|
|
@ -1,53 +1,24 @@
|
|||
{% for service in service_status %}
|
||||
<tr class="{{ loop.cycle('odd', 'even') }}">
|
||||
<td class="padding10 first-collumn">
|
||||
{% if service.2|int() >= 1 %}
|
||||
<span class="serverUp server-status" title="running {{service.2 }} processes"></span>
|
||||
{% else %}
|
||||
<span class="serverDown server-status"></span>
|
||||
{% endif %}
|
||||
<a href="/app/logs.py?serv={{ service.1 }}&rows=10&grep=&hour=00&minut=00&hour1=24&minut1=00&waf=0" title="View {{service.0 }}'s logs" class="logs_link">
|
||||
{{ service.0 }}
|
||||
</a>
|
||||
{% if service.4.0.0|int() >= 1 %}
|
||||
<img
|
||||
{% if service.5.0.0|int() >= 1 %}
|
||||
src="/inc/images/shield.png" title="Auto start enabled"
|
||||
{% else %}
|
||||
src="/inc/images/shield-red.png" title="Auto start enabled, but keep alive service does not work"
|
||||
{% endif %}
|
||||
width=18 style="padding-left: 5px; margin-bottom: -3px;">
|
||||
{% endif %}
|
||||
<td class="padding10 first-collumn">
|
||||
<a href="/app/logs.py?serv={{ service.1 }}&rows=10&grep=&hour=00&minut=00&hour1=24&minut1=00&waf=0" title="View {{service.0 }}'s logs" class="logs_link">
|
||||
{{ service.0 }}
|
||||
</a>
|
||||
</td>
|
||||
<!-- <td class="second-collumn"> -->
|
||||
|
||||
<!-- </td> -->
|
||||
<td>
|
||||
{% if role <= 1 %}
|
||||
<a id="{{ service.1 }}" class="start" title="Start HAProxy service">
|
||||
<img src=/inc/images/start.png alt="start" class="icon" style="margin-bottom: -2px;">
|
||||
</a>
|
||||
<a id="{{ service.1 }}" class="stop" title="Stop HAProxy service">
|
||||
<img src=/inc/images/stop.png alt="start" class="icon" width="17px">
|
||||
</a>
|
||||
<a id="{{ service.1 }}" class="restart" title="Restart HAProxy service">
|
||||
<img src=/inc/images/update.png alt="restart" class="icon">
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if role <= 2 %}
|
||||
<a href="/app/config.py?serv={{ service.1 }}&open=open" target="_blank" title="Working with HAProxy configs">
|
||||
<img src="/inc/images/edit.png" alt="edit" class="icon" width="15px">
|
||||
</a>
|
||||
{% endif %}
|
||||
<a href="/app/viewsttats.py?serv={{ service.1 }}" target="_blank" title="Show stats">
|
||||
<img src="/inc/images/show.png" alt="show" class="icon" width="20px" style="margin-bottom: -3px;">
|
||||
</a>
|
||||
{% if service.2|int() >= 1 %}
|
||||
<span class="serverUp server-status" title="running {{service.2 }} processes" style="margin-left: 25px !important;"></span>
|
||||
{% else %}
|
||||
<span class="serverDown server-status" style="margin-left: 25px !important;"></span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="third-collumn-wi">
|
||||
{% if "ls: cannot access" in service.3 %}
|
||||
Cannot find HAProxy config
|
||||
{% else %}
|
||||
{{ service.3 }}
|
||||
{% if service.5.0|length() == 0 %}
|
||||
<span class="serverNone server-status" title="WAF is not installed" style="margin-left: 10px !important;"></span>
|
||||
{% elif service.5.0 != '' and service.4|int() == 0 %}
|
||||
<span class="serverDown server-status" title="WAF down" style="margin-left: 10px !important;"></span>
|
||||
{% elif service.5.0 != '' and service.4|int() >= 1 %}
|
||||
<span class="serverUp server-status" title="running {{service.5 }} processes" style="margin-left: 10px !important;"></span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td></td>
|
||||
|
|
|
@ -7,6 +7,11 @@
|
|||
<pre>
|
||||
{{ service.3 }}
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="update-icon">
|
||||
<a onclick="showOverviewServer('{{ service.0 }}', '{{ service.1 }}', '{{id}}')" title="Refresh">
|
||||
<img src="/inc/images/update.png" alt="restart" class="icon">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
|
@ -4,8 +4,7 @@
|
|||
{% for s in servers %}
|
||||
<div class="div-pannel" id="div-pannel-{{s.0}}">
|
||||
<div id="div-server-{{s.0}}" class="div-server">
|
||||
<div class="server-name">
|
||||
|
||||
<div class="server-name">
|
||||
{% if s.5 != False %}
|
||||
<span class="serverUp server-status" title="{{s.5.0.2}}"></span>
|
||||
{% else %}
|
||||
|
@ -14,6 +13,15 @@
|
|||
<span title="Show info about {{s.2}}" onclick="showOverviewServer('{{s.1}}', '{{s.2}}', '{{s.0}}')" style="cursor: pointer;">
|
||||
{{s.1}}
|
||||
</span>
|
||||
{% if s.6|int() >= 1 %}
|
||||
<img
|
||||
{% if keep_alive|int() >= 1 %}
|
||||
src="/inc/images/shield.png" title="Auto start enabled"
|
||||
{% else %}
|
||||
src="/inc/images/shield-red.png" title="Auto start enabled, but keep alive service does not work"
|
||||
{% endif %}
|
||||
width=18 style="padding-left: 5px; margin-bottom: -3px;">
|
||||
{% endif %}
|
||||
{% if role <= 1 %}
|
||||
<span class="server-action">
|
||||
<a id="{{ s.2 }}" class="start" title="Start HAProxy service">
|
||||
|
@ -31,11 +39,19 @@
|
|||
<div class="server-desc">
|
||||
{{s.3}}
|
||||
{% if s.5.0 is defined %}
|
||||
<br />
|
||||
{{s.5.0.0}} {{s.5.0.1}} {{s.5.0.2}}
|
||||
{% endif %}
|
||||
<br />
|
||||
{{s.5.0.0}} {{s.5.0.1}} {{s.5.0.2}}
|
||||
<span title="Date of last edit config">
|
||||
{% if "ls: cannot access" in s.7 %}
|
||||
Cannot find HAProxy config
|
||||
{% else %}
|
||||
Last edit: {{s.7}}
|
||||
{% endif %}
|
||||
</span>
|
||||
<br />
|
||||
IP: {{s.2}}
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="server-act-links">
|
||||
<a href="/app/config.py?serv={{s.2}}&showConfig" class="ui-button ui-widget ui-corner-all" title="Open running config">Open</a>
|
||||
|
|
|
@ -43,7 +43,7 @@ body, .container {
|
|||
<input type="hidden" value="{{reff}}" name="ref" id="ref">
|
||||
<button type="submit" name="Login" value="Enter" id="enter">Login</button>
|
||||
</form>
|
||||
<div class="alert alert-danger" style="display: none; margin-top: 220px;margin-right: 70px;width: 300px;">
|
||||
<div class="alert alert-danger" style="display: none; margin-top: 220px;margin-right: -210px;width: 300px;">
|
||||
Your login or password is incorrect
|
||||
<br />
|
||||
<span id="ban_10">
|
||||
|
|
|
@ -8,11 +8,15 @@
|
|||
<td class="padding10 first-collumn-wi">
|
||||
Server
|
||||
</td>
|
||||
<td class="padding10 third-collumn-wi">
|
||||
Action
|
||||
<td class="padding10 third-collumn-wi" style="width: 35%;">
|
||||
<a href="/app/hapservers.py" title="HAProxy servers overview" class="logs_link">
|
||||
HAProxy
|
||||
</a>
|
||||
</td>
|
||||
<td class="padding10">
|
||||
Last edit
|
||||
<a href="/app/waf.py" title="WAf servers overview" class="logs_link">
|
||||
WAF
|
||||
</a>
|
||||
</td class="padding10">
|
||||
<td>
|
||||
<a onclick="showOverview()" title="Refresh" style="float: right; margin-right: 25px;"><img src="/inc/images/update.png" alt="restart" class="icon"></a>
|
||||
|
@ -20,29 +24,16 @@
|
|||
</tr>
|
||||
<tbody id="ajaxstatus"></tbody>
|
||||
</table>
|
||||
<table class="overview-wi">
|
||||
<tr class="overviewHead">
|
||||
<td class="padding10 first-collumn-wi">
|
||||
WAF
|
||||
</td class="padding10 second-collumn">
|
||||
<td class="padding10 third-collumn-wi">
|
||||
Action
|
||||
</td>
|
||||
<td class="padding10">
|
||||
WAF mode
|
||||
</td class="padding10">
|
||||
<td>
|
||||
<a onclick="showOverviewWaf()" title="Refresh" style="float: right; margin-right: 25px;"><img src="/inc/images/update.png" alt="restart" class="icon"></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tbody id="ajaxwafstatus"></tbody>
|
||||
</table>
|
||||
<table class="overview-wi" style="height: 170;">
|
||||
<tr class="overviewHead">
|
||||
<td class="padding10 first-collumn-wi">
|
||||
<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">
|
||||
HAProxy-WI server status
|
||||
</a>
|
||||
{% 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">
|
||||
HAProxy-WI server status
|
||||
</a>
|
||||
{% else %}
|
||||
HAProxy-WI server status
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
<a onclick="showOverviewHapWI()" title="Refresh" style="float: right; margin-right: 25px;"><img src="/inc/images/update.png" alt="restart" class="icon"></a>
|
||||
|
@ -55,8 +46,8 @@
|
|||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="overview-wi" style="height: 170;">
|
||||
<tr class="overviewHead" style="height: 48px;">
|
||||
<table class="overview-wi" style="height: 165;">
|
||||
<tr class="overviewHead" style="height: 40px;">
|
||||
<th class="padding10 first-collumn-wi" colspan=4>
|
||||
Tools status
|
||||
</th>
|
||||
|
@ -68,9 +59,13 @@
|
|||
{% else %}
|
||||
<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">
|
||||
<span>Metrics master</span>
|
||||
</a>
|
||||
{% else %}
|
||||
<span>Metrics master</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="third-collumn-wi">
|
||||
{% if checker_master|int() >= 1 %}
|
||||
|
@ -78,9 +73,13 @@
|
|||
{% else %}
|
||||
<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">
|
||||
<span>Checker master</span>
|
||||
</a>
|
||||
{% else %}
|
||||
<span>Checker master</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="third-collumn-wi">
|
||||
{% if keep_alive|int() >= 1 %}
|
||||
|
@ -88,9 +87,13 @@
|
|||
{% else %}
|
||||
<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">
|
||||
<span>Keep alive</span>
|
||||
</a>
|
||||
{% else %}
|
||||
<span>Keep alive</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -100,9 +103,13 @@
|
|||
{% else %}
|
||||
<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">
|
||||
<span>Metrics workers</span>
|
||||
</a>
|
||||
{% else %}
|
||||
<span>Metrics workers</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if checker_worker|int() >= 1 %}
|
||||
|
@ -110,9 +117,13 @@
|
|||
{% else %}
|
||||
<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">
|
||||
<span>Checker workers</span>
|
||||
</a>
|
||||
{% else %}
|
||||
<span>Checker workers</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td></td>
|
||||
|
||||
|
@ -229,27 +240,6 @@
|
|||
{% endfor %}
|
||||
</table>
|
||||
{% endif %}
|
||||
|
||||
<!-- <table class="overview" > -->
|
||||
<!-- <tr class="overviewHead"> -->
|
||||
<!-- <td class="padding10 first-collumn-wi"> -->
|
||||
<!-- Server -->
|
||||
<!-- </td> -->
|
||||
<!-- <td class="padding10 second-collumn"> -->
|
||||
<!-- HAproxy info -->
|
||||
<!-- </td> -->
|
||||
<!-- <td class="padding10 third-collumn-wi"> -->
|
||||
<!-- Server status -->
|
||||
<!-- </td> -->
|
||||
<!-- <td class="padding10"> -->
|
||||
<!-- Front/Back-ends -->
|
||||
<!-- </td> -->
|
||||
<!-- <td> -->
|
||||
<!-- <a onclick="showOverviewServers()" title="Refresh Server Info" style="float: right; margin-right: 25px;"><img src="/inc/images/update.png" alt="restart" class="icon"></a> -->
|
||||
<!-- </td> -->
|
||||
<!-- </tr> -->
|
||||
<!-- <tbody id="ajaxservers"></tbody> -->
|
||||
<!-- </table> -->
|
||||
<div id="dialog-confirm" style="display: none;">
|
||||
<p><span class="ui-icon ui-icon-alert" style="float:left; margin:3px 12px 20px 0;"></span>Are you sure?</p>
|
||||
</div>
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
</table>
|
||||
|
||||
<link href="/inc/chart.min.css" rel="stylesheet">
|
||||
<script src="/inc/overview.js"></script>
|
||||
<script src="/inc/metrics.js"></script>
|
||||
<script src="/inc/chart.min.js"></script>
|
||||
<div id="refresh" style="text-align: right;margin-top: 20px;margin-right: 20px;" title="Refresh metrics" onclick="showWafMetrics()">
|
||||
|
@ -32,7 +33,9 @@
|
|||
<canvas id="s_{{s.0}}" role="img"></canvas>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
<div id="dialog-confirm" style="display: none;">
|
||||
<p><span class="ui-icon ui-icon-alert" style="float:left; margin:3px 12px 20px 0;"></span>Are you sure?</p>
|
||||
</div>
|
||||
<script>
|
||||
function showWafMetrics() {
|
||||
{% for s in servers %}
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 102 KiB |
|
@ -189,8 +189,6 @@ $( document ).ajaxComplete(function( event, request, settings ) {
|
|||
});
|
||||
|
||||
function showOverview() {
|
||||
// showOverviewServers();
|
||||
showOverviewWaf()
|
||||
showOverviewHapWI()
|
||||
$.ajax( {
|
||||
url: "options.py",
|
||||
|
@ -210,20 +208,16 @@ function showOverview() {
|
|||
} );
|
||||
}
|
||||
function showOverviewServer(name,ip,id) {
|
||||
showOverviewServers();
|
||||
showOverviewWaf()
|
||||
$.ajax( {
|
||||
url: "options.py",
|
||||
data: {
|
||||
act: "overviewServers",
|
||||
name: name,
|
||||
serv: ip,
|
||||
id: id,
|
||||
page: 'hapservers.py',
|
||||
token: $('#token').val()
|
||||
},
|
||||
beforeSend: function() {
|
||||
$("#ajax-server-"+id).html('<img class="loading" src="/inc/images/loading.gif" />')
|
||||
},
|
||||
type: "GET",
|
||||
success: function( data ) {
|
||||
$("#ajax-server-"+id).empty();
|
||||
|
@ -284,22 +278,6 @@ function showOverviewWaf() {
|
|||
}
|
||||
} );
|
||||
}
|
||||
function showOverviewServers() {
|
||||
$.ajax( {
|
||||
url: "options.py",
|
||||
data: {
|
||||
act: "overviewServers",
|
||||
token: $('#token').val()
|
||||
},
|
||||
beforeSend: function() {
|
||||
$('#ajaxservers').html('<img class="loading" src="/inc/images/loading.gif" />')
|
||||
},
|
||||
type: "GET",
|
||||
success: function( data ) {
|
||||
$("#ajaxservers").html(data);
|
||||
}
|
||||
} );
|
||||
}
|
||||
function showOverviewHapWI() {
|
||||
$.ajax( {
|
||||
url: "options.py",
|
||||
|
|
|
@ -378,7 +378,7 @@ pre {
|
|||
padding-left: 15px;
|
||||
font-size: 15px;
|
||||
}
|
||||
.serverUp, .serverDown {
|
||||
.serverUp, .serverDown, .serverNone {
|
||||
padding: 3px;
|
||||
border-radius: 3px;
|
||||
color: #fff;
|
||||
|
@ -387,6 +387,9 @@ pre {
|
|||
.serverUp {
|
||||
background-color: #5CB85C;
|
||||
}
|
||||
.serverNone {
|
||||
background-color: #ddd;
|
||||
}
|
||||
.add-button, .add-button-wi {
|
||||
background-color: #5CB85C;
|
||||
border-radius: 5px;
|
||||
|
@ -759,7 +762,6 @@ label {
|
|||
margin-right: 0 !important;
|
||||
}
|
||||
#left-collumn, #middle-collumn, #right-collumn {
|
||||
/* width: 30%; */
|
||||
float: left;
|
||||
}
|
||||
.ajax-server {
|
||||
|
@ -771,19 +773,24 @@ label {
|
|||
margin-top: px;
|
||||
margin-bottom: 0px;
|
||||
margin-top: 14px;
|
||||
height: 172px;
|
||||
height: 192px;
|
||||
}
|
||||
.haproxy-info {
|
||||
display: inline-block;
|
||||
width: 160px;
|
||||
padding-left: 20px;
|
||||
padding-top: 2em;
|
||||
font-size: 0.88em;
|
||||
padding-left: 30px;
|
||||
padding-top: 27px;
|
||||
font-size: 1em;
|
||||
}
|
||||
.top-info {
|
||||
display: inline-block;
|
||||
width: 350px;
|
||||
}
|
||||
.update-icon {
|
||||
float: right;
|
||||
margin-top: 35px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
.span-link {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
|
|
@ -149,7 +149,7 @@ $( function() {
|
|||
} else if (data.indexOf('Unauthorized') != '-1') {
|
||||
$('.alert-danger').remove();
|
||||
$('.alert-warning').remove();
|
||||
$("#ajax").html('<div class="alert alert-danger">It is seems like you Unauthorized in the HAProxy-WI repository.</data>');
|
||||
$("#ajax").html('<div class="alert alert-danger">It is seems like you Unauthorized in the HAProxy-WI repository. How to get HAProxy-WI auth you can read <a href="https://haproxy-wi.org/installation.py" title="How to get HAProxy-WI auth">hear</a> </data>');
|
||||
} else if (data.indexOf('but not installed') != '-1') {
|
||||
$('.alert-danger').remove();
|
||||
$('.alert-warning').remove();
|
||||
|
|
Loading…
Reference in New Issue