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 @@ {% endif %}