diff --git a/app/create_db.py b/app/create_db.py
index b0ec6c7e..3bf78ccd 100644
--- a/app/create_db.py
+++ b/app/create_db.py
@@ -701,12 +701,34 @@ def update_db_v_4_5_4(**kwargs):
pass
else:
if kwargs.get('silent') != 1:
- print('Updating... go to version 4.5.6')
+ print('Updating... go to version 4.5.7')
cur.close()
con.close()
+def update_db_v_4_5_7(**kwargs):
+ con, cur = get_cur()
+ sql = """
+ ALTER TABLE `servers` ADD COLUMN nginx_alert INTEGER NOT NULL DEFAULT 0;
+ """
+ try:
+ cur.execute(sql)
+ con.commit()
+ except sqltool.Error as e:
+ if kwargs.get('silent') != 1:
+ if e.args[0] == 'duplicate column name: nginx_alert' or e == " 1060 (42S21): Duplicate column name 'nginx_alert' ":
+ print('Updating... go to version 4.5.8')
+ else:
+ print("An error occurred:", e)
+ else:
+ print("DB was update to 4.3.1")
+
+ cur.close()
+ con.close()
+
+
+
def update_ver(**kwargs):
con, cur = get_cur()
sql = """update version set version = '4.5.7.0'; """
@@ -744,6 +766,7 @@ def update_all():
update_db_v_4_5()
update_db_v_4_5_1()
update_db_v_4_5_4()
+ update_db_v_4_5_7()
update_ver()
@@ -772,6 +795,7 @@ def update_all_silent():
update_db_v_4_5(silent=1)
update_db_v_4_5_1(silent=1)
update_db_v_4_5_4(silent=1)
+ update_db_v_4_5_7(silent=1)
update_ver()
diff --git a/app/hapservers.py b/app/hapservers.py
index 3a80efc3..8338caf9 100644
--- a/app/hapservers.py
+++ b/app/hapservers.py
@@ -76,6 +76,7 @@ for s in servers:
h = (out1,)
servers_with_status.append(h)
servers_with_status.append(h)
+ servers_with_status.append(s[17])
else:
cmd = 'echo "show info" |nc %s %s -w 1 |grep -e "Ver\|Uptime:\|Process_num"' % (s[2], haproxy_sock_port)
out = funct.subprocess_execute(cmd)
@@ -85,10 +86,9 @@ for s in servers:
else:
out1 = False
servers_with_status.append(out1)
- if service == 'haproxy':
+
servers_with_status.append(s[12])
- else:
- servers_with_status.append(s[17])
+
servers_with_status.append(sql.is_master(s[2]))
servers_with_status.append(sql.select_servers(server=s[2]))
diff --git a/app/sql.py b/app/sql.py
index 1449c924..dcec8e00 100644
--- a/app/sql.py
+++ b/app/sql.py
@@ -346,15 +346,15 @@ def delete_server(id):
def update_hapwi_server(server_id, alert, metrics, active, service_name):
con, cur = get_cur()
- updated_service = 'active'
+ updated_service = ''
if service_name == 'nginx':
- updated_service = 'nginx_active'
+ updated_service = 'nginx_'
sql = """ update servers set
- alert = '%s',
+ '%salert' = '%s',
metrics = '%s',
- '%s' = '%s'
- where id = '%s'""" % (alert, metrics, updated_service, active, server_id)
+ '%sactive' = '%s'
+ where id = '%s'""" % (updated_service, alert, metrics, updated_service, active, server_id)
try:
cur.execute(sql)
@@ -1872,6 +1872,21 @@ def select_alert(**kwargs):
con.close()
+def select_nginx_alert(**kwargs):
+ con, cur = get_cur()
+ sql = """select ip from servers where nginx_alert = 1 """
+ if kwargs.get("group") is not None:
+ sql = """select ip from servers where nginx_alert = 1 and `groups` = '%s' """ % kwargs.get("group")
+ try:
+ cur.execute(sql)
+ except sqltool.Error as e:
+ funct.out_error(e)
+ else:
+ return cur.fetchall()
+ cur.close()
+ con.close()
+
+
def select_keep_alive(**kwargs):
con, cur = get_cur()
sql = """select ip from servers where active = 1 """
@@ -1885,6 +1900,19 @@ def select_keep_alive(**kwargs):
con.close()
+def select_nginx_keep_alive(**kwargs):
+ con, cur = get_cur()
+ sql = """select ip from servers where nginx_active = 1 """
+ try:
+ cur.execute(sql)
+ except sqltool.Error as e:
+ funct.out_error(e)
+ else:
+ return cur.fetchall()
+ cur.close()
+ con.close()
+
+
def select_keealived(serv, **kwargs):
con, cur = get_cur()
sql = """select keepalived from `servers` where ip='%s' """ % serv
diff --git a/app/templates/hapservers.html b/app/templates/hapservers.html
index ab83098c..5988c74d 100644
--- a/app/templates/hapservers.html
+++ b/app/templates/hapservers.html
@@ -110,7 +110,8 @@
{% endif %}
{% if service == 'nginx' %}
{% set checker_desc = 'Checker monitors Nginx services. If Nginx service is down, Checker will alert via Telegram' %}
- {% set is_checker_enabled = s.8.0.17 %}
+ {% set is_auto_start_enabled = s.8.0.17 %}
+ {% set is_checker_enabled = s.8.0.19 %}
{% if s.5.0.3 == 'active' %}
{% set additional_status_class = 'div-server-head-up' %}
{% else %}
@@ -118,7 +119,8 @@
{% endif %}
{% else %}
{% set checker_desc = 'Checker monitors HAProxy services and its backends. If some backend or HAProxy service is down, Checker will alert via Telegram' %}
- {% set is_checker_enabled = s.8.0.12 %}
+ {% set is_auto_start_enabled = s.8.0.12 %}
+ {% set is_checker_enabled = s.8.0.8 %}
{% if s.5 != False %}
{% set additional_status_class = 'div-server-head-up' %}
{% else %}
@@ -187,8 +189,8 @@
Uptime: {% else %} Downtime: {% endif %} {{s.5.0.4}}
{% else %}
{% if s.5.0 is defined %}
- {{s.5.0.0}} {{s.5.0.1}}
-
{{s.5.0.2}}
+ {{s.5.0.0}} {{s.5.0.1}}
+ {{s.5.0.2}}
{% else %}
Cannot get information about HAProxy
{% endif %}
@@ -205,28 +207,26 @@