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)
|
||||
|
||||
|
||||
|
||||
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():
|
||||
query = Version.update(version='5.3.1.0')
|
||||
try:
|
||||
|
@ -839,6 +857,7 @@ def update_all():
|
|||
update_db_v_5_2_5_3()
|
||||
update_db_v_5_2_6()
|
||||
update_db_v_5_3_0()
|
||||
update_db_v_5_3_1()
|
||||
update_ver()
|
||||
|
||||
|
||||
|
@ -868,6 +887,7 @@ def update_all_silent():
|
|||
update_db_v_5_2_5_3(silent=1)
|
||||
update_db_v_5_2_6(silent=1)
|
||||
update_db_v_5_3_0(silent=1)
|
||||
update_db_v_5_3_1(silent=1)
|
||||
update_ver()
|
||||
|
||||
|
||||
|
|
|
@ -61,6 +61,7 @@ class Server(BaseModel):
|
|||
nginx_alert = IntegerField(constraints=[SQL('DEFAULT 0')])
|
||||
protected = IntegerField(constraints=[SQL('DEFAULT 0')])
|
||||
nginx_metrics = IntegerField(constraints=[SQL('DEFAULT 0')])
|
||||
keepalived_active = IntegerField(constraints=[SQL('DEFAULT 0')])
|
||||
|
||||
class Meta:
|
||||
table_name = 'servers'
|
||||
|
|
|
@ -26,8 +26,6 @@ keep_alive, stderr = funct.subprocess_execute(cmd)
|
|||
if service == 'nginx':
|
||||
if funct.check_login(service=2):
|
||||
title = 'Nginx servers overview'
|
||||
servers = sql.get_dick_permit(virt=1, nginx=1)
|
||||
service = 'nginx'
|
||||
if serv:
|
||||
if funct.check_is_server_in_group(serv):
|
||||
servers = sql.select_servers(server=serv)
|
||||
|
@ -35,12 +33,11 @@ if service == 'nginx':
|
|||
server_id = sql.select_server_id_by_ip(serv)
|
||||
service_settings = sql.select_docker_service_settings(server_id, service)
|
||||
else:
|
||||
servers = sql.get_dick_permit(virt=1, nginx=1)
|
||||
service_settings = sql.select_docker_services_settings(service)
|
||||
elif service == 'keepalived':
|
||||
if funct.check_login(service=3):
|
||||
title = 'Keepalived servers overview'
|
||||
servers = sql.get_dick_permit(virt=1, keepalived=1)
|
||||
service = 'keepalived'
|
||||
if serv:
|
||||
if funct.check_is_server_in_group(serv):
|
||||
servers = sql.select_servers(server=serv)
|
||||
|
@ -48,6 +45,7 @@ elif service == 'keepalived':
|
|||
server_id = sql.select_server_id_by_ip(serv)
|
||||
service_settings = sql.select_docker_service_settings(server_id, service)
|
||||
else:
|
||||
servers = sql.get_dick_permit(virt=1, keepalived=1)
|
||||
service_settings = sql.select_docker_services_settings(service)
|
||||
else:
|
||||
if funct.check_login(service=1):
|
||||
|
@ -120,11 +118,11 @@ for s in servers:
|
|||
h = (out1,)
|
||||
servers_with_status.append(h)
|
||||
servers_with_status.append(h)
|
||||
servers_with_status.append(s[17])
|
||||
servers_with_status.append(s[22])
|
||||
except:
|
||||
servers_with_status.append(h)
|
||||
servers_with_status.append(h)
|
||||
servers_with_status.append(s[17])
|
||||
servers_with_status.append(s[22])
|
||||
else:
|
||||
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)
|
||||
|
|
|
@ -2046,9 +2046,10 @@ if form.getvalue('updatehapwiserver') is not None:
|
|||
name = form.getvalue('name')
|
||||
alert = form.getvalue('alert_en')
|
||||
metrics = form.getvalue('metrics')
|
||||
service_name = form.getvalue('service_name')
|
||||
sql.update_hapwi_server(hapwi_id, alert, metrics, active, service_name)
|
||||
funct.logging('the server ' + name, ' has been updated ', haproxywi=1, login=1)
|
||||
service = form.getvalue('service_name')
|
||||
sql.update_hapwi_server(hapwi_id, alert, metrics, active, service)
|
||||
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:
|
||||
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,
|
||||
nginx_metrics=metrics).where(
|
||||
Server.server_id == server_id)
|
||||
elif service_name == 'keepalived':
|
||||
update_hapwi = Server.update(keepalived_active=active).where(Server.server_id == server_id)
|
||||
else:
|
||||
update_hapwi = Server.update(alert=alert, metrics=metrics, active=active).where(
|
||||
Server.server_id == server_id)
|
||||
|
@ -1852,25 +1854,33 @@ def select_nginx_alert(**kwargs):
|
|||
|
||||
|
||||
def select_keep_alive():
|
||||
cursor = conn.cursor()
|
||||
sql = """select ip from servers where active = 1 """
|
||||
query = Server.select(Server.ip).where(Server.active == 1)
|
||||
try:
|
||||
cursor.execute(sql)
|
||||
query_res = query.execute()
|
||||
except Exception as e:
|
||||
out_error(e)
|
||||
else:
|
||||
return cursor.fetchall()
|
||||
return query_res
|
||||
|
||||
|
||||
def select_nginx_keep_alive():
|
||||
cursor = conn.cursor()
|
||||
sql = """select ip from servers where nginx_active = 1 """
|
||||
query = Server.select(Server.ip).where(Server.nginx_active == 1)
|
||||
try:
|
||||
cursor.execute(sql)
|
||||
query_res = query.execute()
|
||||
except Exception as e:
|
||||
out_error(e)
|
||||
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):
|
||||
|
|
|
@ -101,6 +101,7 @@
|
|||
{% set additional_status_class = 'div-server-head-down' %}
|
||||
{% endif %}
|
||||
{% elif service == 'keepalived' %}
|
||||
{% set is_auto_start_enabled = s.8.0.22 %}
|
||||
{% set action_service = 'keepalived' %}
|
||||
{% if s.5.0.1 == 'active' %}
|
||||
{% set additional_status_class = 'div-server-head-up' %}
|
||||
|
@ -128,7 +129,7 @@
|
|||
{% else %}
|
||||
{{s.1}}
|
||||
{% endif %}
|
||||
{% if s.6|int() >= 1 and service != 'keepalived' %}
|
||||
{% if s.6|int() >= 1 %}
|
||||
<span
|
||||
{% if keep_alive|int() >= 1 %}
|
||||
class="shield green" title="Autostart is enabled">
|
||||
|
@ -224,13 +225,13 @@
|
|||
{% else %}
|
||||
{{ checkbox(id, title='Enable collecting metrics', value='1', desc='Metrics') }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% set id = 'active-' + s.8.0.0|string() %}
|
||||
{% if is_auto_start_enabled == 1 %}
|
||||
{{ checkbox(id, title='Auto Start is enabled', value='1', desc='Auto Start', checked='checked') }}
|
||||
{% else %}
|
||||
{{ checkbox(id, title='Enable Auto Start', value='1', desc='Auto Start') }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
<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>
|
||||
|
|
Loading…
Reference in New Issue