mirror of https://github.com/Aidaho12/haproxy-wi
parent
36c843bfbe
commit
99b0ab8e83
|
@ -805,6 +805,24 @@ def update_db_v_5_3_0(**kwargs):
|
||||||
print("An error occurred:", e)
|
print("An error occurred:", e)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def update_db_v_5_3_1(**kwargs):
|
||||||
|
cursor = conn.cursor()
|
||||||
|
sql = """
|
||||||
|
ALTER TABLE `servers` ADD COLUMN keepalived_active INTEGER NOT NULL DEFAULT 0;
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
cursor.execute(sql)
|
||||||
|
except Exception as e:
|
||||||
|
if kwargs.get('silent') != 1:
|
||||||
|
if e.args[0] == 'duplicate column name: keepalived_active' or str(e) == '(1060, "Duplicate column name \'keepalived_active\'")':
|
||||||
|
print('Updating... DB has been updated to version 5.3.1')
|
||||||
|
else:
|
||||||
|
print("An error occurred:", e)
|
||||||
|
else:
|
||||||
|
print("Updating... DB has been updated to version 5.3.1")
|
||||||
|
|
||||||
|
|
||||||
def update_ver():
|
def update_ver():
|
||||||
query = Version.update(version='5.3.1.0')
|
query = Version.update(version='5.3.1.0')
|
||||||
try:
|
try:
|
||||||
|
@ -839,6 +857,7 @@ def update_all():
|
||||||
update_db_v_5_2_5_3()
|
update_db_v_5_2_5_3()
|
||||||
update_db_v_5_2_6()
|
update_db_v_5_2_6()
|
||||||
update_db_v_5_3_0()
|
update_db_v_5_3_0()
|
||||||
|
update_db_v_5_3_1()
|
||||||
update_ver()
|
update_ver()
|
||||||
|
|
||||||
|
|
||||||
|
@ -868,6 +887,7 @@ def update_all_silent():
|
||||||
update_db_v_5_2_5_3(silent=1)
|
update_db_v_5_2_5_3(silent=1)
|
||||||
update_db_v_5_2_6(silent=1)
|
update_db_v_5_2_6(silent=1)
|
||||||
update_db_v_5_3_0(silent=1)
|
update_db_v_5_3_0(silent=1)
|
||||||
|
update_db_v_5_3_1(silent=1)
|
||||||
update_ver()
|
update_ver()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -61,6 +61,7 @@ class Server(BaseModel):
|
||||||
nginx_alert = IntegerField(constraints=[SQL('DEFAULT 0')])
|
nginx_alert = IntegerField(constraints=[SQL('DEFAULT 0')])
|
||||||
protected = IntegerField(constraints=[SQL('DEFAULT 0')])
|
protected = IntegerField(constraints=[SQL('DEFAULT 0')])
|
||||||
nginx_metrics = IntegerField(constraints=[SQL('DEFAULT 0')])
|
nginx_metrics = IntegerField(constraints=[SQL('DEFAULT 0')])
|
||||||
|
keepalived_active = IntegerField(constraints=[SQL('DEFAULT 0')])
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
table_name = 'servers'
|
table_name = 'servers'
|
||||||
|
|
|
@ -26,8 +26,6 @@ keep_alive, stderr = funct.subprocess_execute(cmd)
|
||||||
if service == 'nginx':
|
if service == 'nginx':
|
||||||
if funct.check_login(service=2):
|
if funct.check_login(service=2):
|
||||||
title = 'Nginx servers overview'
|
title = 'Nginx servers overview'
|
||||||
servers = sql.get_dick_permit(virt=1, nginx=1)
|
|
||||||
service = 'nginx'
|
|
||||||
if serv:
|
if serv:
|
||||||
if funct.check_is_server_in_group(serv):
|
if funct.check_is_server_in_group(serv):
|
||||||
servers = sql.select_servers(server=serv)
|
servers = sql.select_servers(server=serv)
|
||||||
|
@ -35,12 +33,11 @@ if service == 'nginx':
|
||||||
server_id = sql.select_server_id_by_ip(serv)
|
server_id = sql.select_server_id_by_ip(serv)
|
||||||
service_settings = sql.select_docker_service_settings(server_id, service)
|
service_settings = sql.select_docker_service_settings(server_id, service)
|
||||||
else:
|
else:
|
||||||
|
servers = sql.get_dick_permit(virt=1, nginx=1)
|
||||||
service_settings = sql.select_docker_services_settings(service)
|
service_settings = sql.select_docker_services_settings(service)
|
||||||
elif service == 'keepalived':
|
elif service == 'keepalived':
|
||||||
if funct.check_login(service=3):
|
if funct.check_login(service=3):
|
||||||
title = 'Keepalived servers overview'
|
title = 'Keepalived servers overview'
|
||||||
servers = sql.get_dick_permit(virt=1, keepalived=1)
|
|
||||||
service = 'keepalived'
|
|
||||||
if serv:
|
if serv:
|
||||||
if funct.check_is_server_in_group(serv):
|
if funct.check_is_server_in_group(serv):
|
||||||
servers = sql.select_servers(server=serv)
|
servers = sql.select_servers(server=serv)
|
||||||
|
@ -48,6 +45,7 @@ elif service == 'keepalived':
|
||||||
server_id = sql.select_server_id_by_ip(serv)
|
server_id = sql.select_server_id_by_ip(serv)
|
||||||
service_settings = sql.select_docker_service_settings(server_id, service)
|
service_settings = sql.select_docker_service_settings(server_id, service)
|
||||||
else:
|
else:
|
||||||
|
servers = sql.get_dick_permit(virt=1, keepalived=1)
|
||||||
service_settings = sql.select_docker_services_settings(service)
|
service_settings = sql.select_docker_services_settings(service)
|
||||||
else:
|
else:
|
||||||
if funct.check_login(service=1):
|
if funct.check_login(service=1):
|
||||||
|
@ -120,11 +118,11 @@ for s in servers:
|
||||||
h = (out1,)
|
h = (out1,)
|
||||||
servers_with_status.append(h)
|
servers_with_status.append(h)
|
||||||
servers_with_status.append(h)
|
servers_with_status.append(h)
|
||||||
servers_with_status.append(s[17])
|
servers_with_status.append(s[22])
|
||||||
except:
|
except:
|
||||||
servers_with_status.append(h)
|
servers_with_status.append(h)
|
||||||
servers_with_status.append(h)
|
servers_with_status.append(h)
|
||||||
servers_with_status.append(s[17])
|
servers_with_status.append(s[22])
|
||||||
else:
|
else:
|
||||||
cmd = 'echo "show info" |nc %s %s -w 1 -v|grep -e "Ver\|Uptime:\|Process_num"' % (s[2], haproxy_sock_port)
|
cmd = 'echo "show info" |nc %s %s -w 1 -v|grep -e "Ver\|Uptime:\|Process_num"' % (s[2], haproxy_sock_port)
|
||||||
out = funct.subprocess_execute(cmd)
|
out = funct.subprocess_execute(cmd)
|
||||||
|
|
|
@ -2046,9 +2046,10 @@ if form.getvalue('updatehapwiserver') is not None:
|
||||||
name = form.getvalue('name')
|
name = form.getvalue('name')
|
||||||
alert = form.getvalue('alert_en')
|
alert = form.getvalue('alert_en')
|
||||||
metrics = form.getvalue('metrics')
|
metrics = form.getvalue('metrics')
|
||||||
service_name = form.getvalue('service_name')
|
service = form.getvalue('service_name')
|
||||||
sql.update_hapwi_server(hapwi_id, alert, metrics, active, service_name)
|
sql.update_hapwi_server(hapwi_id, alert, metrics, active, service)
|
||||||
funct.logging('the server ' + name, ' has been updated ', haproxywi=1, login=1)
|
server_ip = sql.select_server_ip_by_id(hapwi_id)
|
||||||
|
funct.logging(server_ip, 'the server ' + name, ' has been updated ', haproxywi=1, login=1, keep_history=1, service=service)
|
||||||
|
|
||||||
if form.getvalue('updateserver') is not None:
|
if form.getvalue('updateserver') is not None:
|
||||||
name = form.getvalue('updateserver')
|
name = form.getvalue('updateserver')
|
||||||
|
|
26
app/sql.py
26
app/sql.py
|
@ -261,6 +261,8 @@ def update_hapwi_server(server_id, alert, metrics, active, service_name):
|
||||||
update_hapwi = Server.update(nginx_alert=alert, metrics=metrics, nginx_active=active,
|
update_hapwi = Server.update(nginx_alert=alert, metrics=metrics, nginx_active=active,
|
||||||
nginx_metrics=metrics).where(
|
nginx_metrics=metrics).where(
|
||||||
Server.server_id == server_id)
|
Server.server_id == server_id)
|
||||||
|
elif service_name == 'keepalived':
|
||||||
|
update_hapwi = Server.update(keepalived_active=active).where(Server.server_id == server_id)
|
||||||
else:
|
else:
|
||||||
update_hapwi = Server.update(alert=alert, metrics=metrics, active=active).where(
|
update_hapwi = Server.update(alert=alert, metrics=metrics, active=active).where(
|
||||||
Server.server_id == server_id)
|
Server.server_id == server_id)
|
||||||
|
@ -1852,25 +1854,33 @@ def select_nginx_alert(**kwargs):
|
||||||
|
|
||||||
|
|
||||||
def select_keep_alive():
|
def select_keep_alive():
|
||||||
cursor = conn.cursor()
|
query = Server.select(Server.ip).where(Server.active == 1)
|
||||||
sql = """select ip from servers where active = 1 """
|
|
||||||
try:
|
try:
|
||||||
cursor.execute(sql)
|
query_res = query.execute()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
out_error(e)
|
out_error(e)
|
||||||
else:
|
else:
|
||||||
return cursor.fetchall()
|
return query_res
|
||||||
|
|
||||||
|
|
||||||
def select_nginx_keep_alive():
|
def select_nginx_keep_alive():
|
||||||
cursor = conn.cursor()
|
query = Server.select(Server.ip).where(Server.nginx_active == 1)
|
||||||
sql = """select ip from servers where nginx_active = 1 """
|
|
||||||
try:
|
try:
|
||||||
cursor.execute(sql)
|
query_res = query.execute()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
out_error(e)
|
out_error(e)
|
||||||
else:
|
else:
|
||||||
return cursor.fetchall()
|
return query_res
|
||||||
|
|
||||||
|
|
||||||
|
def select_keepalived_keep_alive():
|
||||||
|
query = Server.select(Server.ip).where(Server.keepalived_active == 1)
|
||||||
|
try:
|
||||||
|
query_res = query.execute()
|
||||||
|
except Exception as e:
|
||||||
|
out_error(e)
|
||||||
|
else:
|
||||||
|
return query_res
|
||||||
|
|
||||||
|
|
||||||
def select_keepalived(serv):
|
def select_keepalived(serv):
|
||||||
|
|
|
@ -101,6 +101,7 @@
|
||||||
{% set additional_status_class = 'div-server-head-down' %}
|
{% set additional_status_class = 'div-server-head-down' %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% elif service == 'keepalived' %}
|
{% elif service == 'keepalived' %}
|
||||||
|
{% set is_auto_start_enabled = s.8.0.22 %}
|
||||||
{% set action_service = 'keepalived' %}
|
{% set action_service = 'keepalived' %}
|
||||||
{% if s.5.0.1 == 'active' %}
|
{% if s.5.0.1 == 'active' %}
|
||||||
{% set additional_status_class = 'div-server-head-up' %}
|
{% set additional_status_class = 'div-server-head-up' %}
|
||||||
|
@ -128,7 +129,7 @@
|
||||||
{% else %}
|
{% else %}
|
||||||
{{s.1}}
|
{{s.1}}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if s.6|int() >= 1 and service != 'keepalived' %}
|
{% if s.6|int() >= 1 %}
|
||||||
<span
|
<span
|
||||||
{% if keep_alive|int() >= 1 %}
|
{% if keep_alive|int() >= 1 %}
|
||||||
class="shield green" title="Autostart is enabled">
|
class="shield green" title="Autostart is enabled">
|
||||||
|
@ -224,13 +225,13 @@
|
||||||
{% else %}
|
{% else %}
|
||||||
{{ checkbox(id, title='Enable collecting metrics', value='1', desc='Metrics') }}
|
{{ checkbox(id, title='Enable collecting metrics', value='1', desc='Metrics') }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
{% set id = 'active-' + s.8.0.0|string() %}
|
{% set id = 'active-' + s.8.0.0|string() %}
|
||||||
{% if is_auto_start_enabled == 1 %}
|
{% if is_auto_start_enabled == 1 %}
|
||||||
{{ checkbox(id, title='Auto Start is enabled', value='1', desc='Auto Start', checked='checked') }}
|
{{ checkbox(id, title='Auto Start is enabled', value='1', desc='Auto Start', checked='checked') }}
|
||||||
{% else %}
|
{% else %}
|
||||||
{{ checkbox(id, title='Enable Auto Start', value='1', desc='Auto Start') }}
|
{{ checkbox(id, title='Enable Auto Start', value='1', desc='Auto Start') }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
|
||||||
</div>
|
</div>
|
||||||
<div class="server-act-links">
|
<div class="server-act-links">
|
||||||
<a href="/app/config.py?service={{service}}&serv={{s.2}}&showConfig" class="ui-button ui-widget ui-corner-all" title="Open running config">Config</a>
|
<a href="/app/config.py?service={{service}}&serv={{s.2}}&showConfig" class="ui-button ui-widget ui-corner-all" title="Open running config">Config</a>
|
||||||
|
|
Loading…
Reference in New Issue