mirror of https://github.com/Aidaho12/haproxy-wi
parent
392e4f4465
commit
714bd71bf2
|
@ -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
|
|
@ -3,11 +3,8 @@ import uuid
|
||||||
from peewee import fn
|
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.db_model import SmonAgent, Server, SMON, SmonTcpCheck, SmonHttpCheck, SmonDnsCheck, SmonPingCheck, SmonHistory, SmonStatusPageCheck, SmonStatusPage
|
||||||
from app.modules.db.sql import out_error, get_setting
|
from app.modules.db.common import out_error
|
||||||
import app.modules.roxy_wi_tools as roxy_wi_tools
|
from app.modules.common.common import get_date
|
||||||
|
|
||||||
time_zone = get_setting('time_zone')
|
|
||||||
get_date = roxy_wi_tools.GetDate(time_zone)
|
|
||||||
|
|
||||||
|
|
||||||
def get_agents(group_id: int):
|
def get_agents(group_id: int):
|
||||||
|
@ -643,3 +640,12 @@ def count_agents() -> int:
|
||||||
return SmonAgent.select().count()
|
return SmonAgent.select().count()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
out_error(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)
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<a href="/app/smon/status/{{page.slug}}" class="page_link" target="_blank" title="Open status page">
|
<a href="/app/smon/status/{{page.slug}}" class="page_link" target="_blank" title="Open status page">
|
||||||
<span id="page_status-{{page}}"><i class="far fa-check-circle status-page-icon"></i></span>
|
<span id="page_status-{{page}}"><i class="far fa-check-circle status-page-icon"></i></span>
|
||||||
<div>
|
<div>
|
||||||
<span class="page_name" id="page_name-{{page}}">{{page.name}}</span>
|
<span class="page_name" id="page_name-{{page}}">{{page.name|replace("'", "")}}</span>
|
||||||
{% if page.desc %}
|
{% if page.desc %}
|
||||||
<span class="page_desc" id="page_desc-{{page}}">({{page.desc|replace("'", "")}})</span>
|
<span class="page_desc" id="page_desc-{{page}}">({{page.desc|replace("'", "")}})</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
<br />
|
<br />
|
||||||
<h3>{{lang.smon_page.desc.not_added}}</h3>
|
<h3>{{lang.smon_page.desc.not_added}}</h3>
|
||||||
<img src="{{ url_for('static', filename='images/no_servers.png')}}" alt="There is no server">
|
<img src="{{ url_for('static', filename='images/no_servers.png')}}" alt="There is no server">
|
||||||
<h4>{{lang.smon_page.desc.create_server}} <a href="/app/smon/admin" title="Roxy-WI SMON" target="_blank">{{lang.words.here}}</a> {{lang.smon_page.desc.before_use}}</h4>
|
<h4>{{lang.smon_page.desc.create_server}} <a onclick="openSmonDialog('http')" style="cursor: pointer" title="Roxy-WI SMON" target="_blank">{{lang.words.here}}</a> {{lang.smon_page.desc.before_use}}</h4>
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
{% if g.user_params['role'] <= 3 %}
|
{% if g.user_params['role'] <= 3 %}
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
<br />
|
<br />
|
||||||
<h3>{{lang.phrases.no_events_added}}</h3>
|
<h3>{{lang.phrases.no_events_added}}</h3>
|
||||||
<img src="{{ url_for('static', filename='images/no_servers.png')}}" alt="There is no server">
|
<img src="{{ url_for('static', filename='images/no_servers.png')}}" alt="There is no server">
|
||||||
<h4>Click <a href="/app/smon/admin" title="Roxy-WI SMON" target="_blank">{{lang.words.here}}</a> {{lang.smon_page.desc.see_check}}</h4>
|
<h4>Click <a href="/app/smon/dashboard" title="Roxy-WI SMON" target="_blank">{{lang.words.here}}</a> {{lang.smon_page.desc.see_check}}</h4>
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
<script src="/inc/toastr.js"></script>
|
<script src="/inc/toastr.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h2>Status page - {{p.name}}</h2>
|
<h2>Status page - {{p.name|replace("'", "")}}</h2>
|
||||||
<h3>{{p.desc|replace("'", "")}}</h3>
|
<h3>{{p.desc|replace("'", "")}}</h3>
|
||||||
<div id="page_status" class="page_cur_status"></div>
|
<div id="page_status" class="page_cur_status"></div>
|
||||||
{% for check, value in checks_status.items() %}
|
{% for check, value in checks_status.items() %}
|
||||||
|
|
Loading…
Reference in New Issue