diff --git a/app/modules/db/common.py b/app/modules/db/common.py new file mode 100644 index 00000000..9d3ae779 --- /dev/null +++ b/app/modules/db/common.py @@ -0,0 +1,51 @@ +import os +import sys +import traceback + +from flask import request + +from app.modules.db.db_model import Setting + + +def out_error(error): + error = str(error) + exc_type, exc_obj, exc_tb = sys.exc_info() + file_name = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1] + stk = traceback.extract_tb(exc_tb, 1) + function_name = stk[0][2] + error = f'{error} in function: {function_name} in file: {file_name}' + raise Exception(f'error: {error}') + + +def get_setting(param, **kwargs): + user_group_id = '' + try: + user_group_id = request.cookies.get('group') + except Exception: + pass + if user_group_id == '' or user_group_id is None or param == 'proxy': + user_group_id = 1 + + if kwargs.get('all'): + query = Setting.select().where(Setting.group == user_group_id).order_by(Setting.section.desc()) + else: + query = Setting.select().where((Setting.param == param) & (Setting.group == user_group_id)) + + try: + query_res = query.execute() + except Exception as e: + out_error(e) + else: + if kwargs.get('all'): + return query_res + else: + for setting in query_res: + if param in ( + 'nginx_stats_port', 'session_ttl', 'token_ttl', 'haproxy_stats_port', 'haproxy_sock_port', 'ldap_type', + 'ldap_port', 'ldap_enable', 'log_time_storage', 'syslog_server_enable', 'checker_check_interval', 'port_scan_interval', + 'smon_keep_history_range', 'checker_keep_history_range', 'portscanner_keep_history_range', 'checker_maxconn_threshold', + 'apache_stats_port', 'smon_ssl_expire_warning_alert', 'smon_ssl_expire_critical_alert', 'action_keep_history_range' + ): + return int(setting.value) + else: + return setting.value diff --git a/app/modules/db/smon.py b/app/modules/db/smon.py index c5c8dc64..8fad7f0f 100644 --- a/app/modules/db/smon.py +++ b/app/modules/db/smon.py @@ -3,11 +3,8 @@ import uuid from peewee import fn from app.modules.db.db_model import SmonAgent, Server, SMON, SmonTcpCheck, SmonHttpCheck, SmonDnsCheck, SmonPingCheck, SmonHistory, SmonStatusPageCheck, SmonStatusPage -from app.modules.db.sql import out_error, get_setting -import app.modules.roxy_wi_tools as roxy_wi_tools - -time_zone = get_setting('time_zone') -get_date = roxy_wi_tools.GetDate(time_zone) +from app.modules.db.common import out_error +from app.modules.common.common import get_date def get_agents(group_id: int): @@ -643,3 +640,12 @@ def count_agents() -> int: return SmonAgent.select().count() except Exception as e: out_error(e) + + +def delete_smon_history(): + cur_date = get_date.return_date('regular', timedelta_minus=1) + query = SmonHistory.delete().where(SmonHistory.date < cur_date) + try: + query.execute() + except Exception as e: + out_error(e) diff --git a/app/templates/ajax/smon/status_pages.html b/app/templates/ajax/smon/status_pages.html index 23c183c0..2f5dd7b9 100644 --- a/app/templates/ajax/smon/status_pages.html +++ b/app/templates/ajax/smon/status_pages.html @@ -3,7 +3,7 @@
- {{page.name}} + {{page.name|replace("'", "")}} {% if page.desc %} ({{page.desc|replace("'", "")}}) {% endif %} diff --git a/app/templates/smon/dashboard.html b/app/templates/smon/dashboard.html index 30e0d949..fa8ff423 100644 --- a/app/templates/smon/dashboard.html +++ b/app/templates/smon/dashboard.html @@ -24,7 +24,7 @@

{{lang.smon_page.desc.not_added}}

There is no server -

{{lang.smon_page.desc.create_server}} {{lang.words.here}} {{lang.smon_page.desc.before_use}}

+

{{lang.smon_page.desc.create_server}} {{lang.words.here}} {{lang.smon_page.desc.before_use}}


{% if g.user_params['role'] <= 3 %} diff --git a/app/templates/smon/history.html b/app/templates/smon/history.html index 01ba01e4..f5ad779c 100644 --- a/app/templates/smon/history.html +++ b/app/templates/smon/history.html @@ -16,7 +16,7 @@

{{lang.phrases.no_events_added}}

There is no server -

Click {{lang.words.here}} {{lang.smon_page.desc.see_check}}

+

Click {{lang.words.here}} {{lang.smon_page.desc.see_check}}


{% else %} diff --git a/app/templates/smon/status_page.html b/app/templates/smon/status_page.html index 966e0c0f..e8c2b7f6 100644 --- a/app/templates/smon/status_page.html +++ b/app/templates/smon/status_page.html @@ -36,7 +36,7 @@ -

Status page - {{p.name}}

+

Status page - {{p.name|replace("'", "")}}

{{p.desc|replace("'", "")}}

{% for check, value in checks_status.items() %}