mirror of https://github.com/Aidaho12/haproxy-wi
parent
036241556f
commit
781f3f8447
|
@ -267,8 +267,7 @@ def delete_group_settings(group_id):
|
||||||
|
|
||||||
def delete_group(group_id):
|
def delete_group(group_id):
|
||||||
try:
|
try:
|
||||||
group_for_delete = Groups.delete().where(Groups.group_id == group_id)
|
Groups.delete().where(Groups.group_id == group_id).execute()
|
||||||
group_for_delete.execute()
|
|
||||||
UserGroups.delete().where(UserGroups.user_group_id == group_id).execute()
|
UserGroups.delete().where(UserGroups.user_group_id == group_id).execute()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
out_error(e)
|
out_error(e)
|
||||||
|
@ -440,7 +439,7 @@ def check_user_group(user_id, group_id):
|
||||||
def select_user_groups_with_names(user_id, **kwargs):
|
def select_user_groups_with_names(user_id, **kwargs):
|
||||||
if kwargs.get("all") is not None:
|
if kwargs.get("all") is not None:
|
||||||
query = (UserGroups.select(
|
query = (UserGroups.select(
|
||||||
UserGroups.user_group_id, UserGroups.user_id, Groups.name
|
UserGroups.user_group_id, UserGroups.user_id, Groups.name, Groups.description
|
||||||
).join(Groups, on=(UserGroups.user_group_id == Groups.group_id)))
|
).join(Groups, on=(UserGroups.user_group_id == Groups.group_id)))
|
||||||
elif kwargs.get("user_not_in_group") is not None:
|
elif kwargs.get("user_not_in_group") is not None:
|
||||||
query = (Groups.select(
|
query = (Groups.select(
|
||||||
|
@ -2629,14 +2628,9 @@ def select_smon(user_group):
|
||||||
return query_res
|
return query_res
|
||||||
|
|
||||||
|
|
||||||
def select_smon_ping(user_group):
|
def select_smon_ping():
|
||||||
if user_group == 1:
|
|
||||||
query = SmonPingCheck.select()
|
|
||||||
else:
|
|
||||||
query = SmonPingCheck.select().where(SMON.user_group == user_group)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
query_res = query.execute()
|
query_res = SmonPingCheck.select().execute()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
out_error(e)
|
out_error(e)
|
||||||
else:
|
else:
|
||||||
|
@ -2683,42 +2677,27 @@ def select_en_smon_dns() -> object:
|
||||||
return query_res
|
return query_res
|
||||||
|
|
||||||
|
|
||||||
def select_smon_tcp(user_group):
|
def select_smon_tcp():
|
||||||
if user_group == 1:
|
|
||||||
query = SmonTcpCheck.select()
|
|
||||||
else:
|
|
||||||
query = SmonTcpCheck.select().where(SMON.user_group == user_group)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
query_res = query.execute()
|
query_res = SmonTcpCheck.select().execute()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
out_error(e)
|
out_error(e)
|
||||||
else:
|
else:
|
||||||
return query_res
|
return query_res
|
||||||
|
|
||||||
|
|
||||||
def select_smon_http(user_group):
|
def select_smon_http():
|
||||||
if user_group == 1:
|
|
||||||
query = SmonHttpCheck.select()
|
|
||||||
else:
|
|
||||||
query = SmonHttpCheck.select().where(SMON.user_group == user_group)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
query_res = query.execute()
|
query_res = SmonHttpCheck.select().execute()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
out_error(e)
|
out_error(e)
|
||||||
else:
|
else:
|
||||||
return query_res
|
return query_res
|
||||||
|
|
||||||
|
|
||||||
def select_smon_dns(user_group):
|
def select_smon_dns():
|
||||||
if user_group == 1:
|
|
||||||
query = SmonDnsCheck.select()
|
|
||||||
else:
|
|
||||||
query = SmonDnsCheck.select().where(SMON.user_group == user_group)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
query_res = query.execute()
|
query_res = SmonDnsCheck.select().execute()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
out_error(e)
|
out_error(e)
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -121,13 +121,6 @@ def history_cur_status(dashboard_id: int, check_id: int) -> None:
|
||||||
return render_template('ajax/smon/cur_status.html', cur_status=cur_status, smon=smon)
|
return render_template('ajax/smon/cur_status.html', cur_status=cur_status, smon=smon)
|
||||||
|
|
||||||
|
|
||||||
def return_smon_status():
|
|
||||||
cmd = "systemctl is-active roxy-wi-smon"
|
|
||||||
smon_status, stderr = server_mod.subprocess_execute(cmd)
|
|
||||||
|
|
||||||
return smon_status, stderr
|
|
||||||
|
|
||||||
|
|
||||||
def check_uptime(smon_id: str) -> int:
|
def check_uptime(smon_id: str) -> int:
|
||||||
count_checks = sql.get_smon_history_count_checks(smon_id)
|
count_checks = sql.get_smon_history_count_checks(smon_id)
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,6 @@ import app.modules.common.common as common
|
||||||
import app.modules.roxywi.common as roxywi_common
|
import app.modules.roxywi.common as roxywi_common
|
||||||
import app.modules.tools.alerting as alerting
|
import app.modules.tools.alerting as alerting
|
||||||
import app.modules.tools.checker as checker_mod
|
import app.modules.tools.checker as checker_mod
|
||||||
import app.modules.tools.smon as smon_mod
|
|
||||||
|
|
||||||
|
|
||||||
@bp.before_request
|
@bp.before_request
|
||||||
|
@ -63,17 +62,19 @@ def load_checker():
|
||||||
def checker_history():
|
def checker_history():
|
||||||
roxywi_common.check_user_group_for_flask()
|
roxywi_common.check_user_group_for_flask()
|
||||||
|
|
||||||
user_group = roxywi_common.get_user_group(id=1)
|
alerts_history = sql.alerts_history('Checker', g.user_params['group_id'])
|
||||||
smon_status, stderr = smon_mod.return_smon_status()
|
|
||||||
smon = sql.alerts_history('Checker', user_group)
|
|
||||||
user_subscription = roxywi_common.return_user_subscription()
|
user_subscription = roxywi_common.return_user_subscription()
|
||||||
user_params = g.user_params
|
kwargs = {
|
||||||
|
'role': g.user_params['role'],
|
||||||
|
'user': g.user_params['user'],
|
||||||
|
'user_services': g.user_params['user_services'],
|
||||||
|
'token': g.user_params['token'],
|
||||||
|
'lang': g.user_params['lang'],
|
||||||
|
'smon': alerts_history,
|
||||||
|
'user_subscription': user_subscription,
|
||||||
|
}
|
||||||
|
|
||||||
return render_template(
|
return render_template('smon/checker_history.html', **kwargs)
|
||||||
'smon/checker_history.html', autorefresh=0, role=user_params['role'], user=user_params['user'], smon=smon,
|
|
||||||
lang=user_params['lang'], user_status=user_subscription['user_status'], user_plan=user_subscription['user_plan'],
|
|
||||||
token=user_params['token'], smon_status=smon_status, smon_error=stderr, user_services=user_params['user_services']
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@bp.route('/check/<channel_id>/<receiver_name>')
|
@bp.route('/check/<channel_id>/<receiver_name>')
|
||||||
|
|
|
@ -7,6 +7,7 @@ import app.modules.db.sql as sql
|
||||||
import app.modules.common.common as common
|
import app.modules.common.common as common
|
||||||
import app.modules.server.server as server_mod
|
import app.modules.server.server as server_mod
|
||||||
import app.modules.roxywi.common as roxywi_common
|
import app.modules.roxywi.common as roxywi_common
|
||||||
|
import app.modules.tools.common as tools_common
|
||||||
|
|
||||||
|
|
||||||
@bp.before_request
|
@bp.before_request
|
||||||
|
@ -20,8 +21,9 @@ def before_request():
|
||||||
@get_user_params(virt=1)
|
@get_user_params(virt=1)
|
||||||
def portscanner():
|
def portscanner():
|
||||||
user_params = g.user_params
|
user_params = g.user_params
|
||||||
user_group = roxywi_common.get_user_group(id=1)
|
port_scanner_settings = sql.select_port_scanner_settings(user_params['group_id'])
|
||||||
port_scanner_settings = sql.select_port_scanner_settings(user_group)
|
port_scanner = tools_common.is_tool_active('roxy-wi-portscanner')
|
||||||
|
user_subscription = roxywi_common.return_user_subscription()
|
||||||
|
|
||||||
if not port_scanner_settings:
|
if not port_scanner_settings:
|
||||||
port_scanner_settings = ''
|
port_scanner_settings = ''
|
||||||
|
@ -33,30 +35,39 @@ def portscanner():
|
||||||
i = (s[2], count_ports_from_sql)
|
i = (s[2], count_ports_from_sql)
|
||||||
count_ports.append(i)
|
count_ports.append(i)
|
||||||
|
|
||||||
cmd = "systemctl is-active roxy-wi-portscanner"
|
kwargs = {
|
||||||
port_scanner, port_scanner_stderr = server_mod.subprocess_execute(cmd)
|
'role': user_params['role'],
|
||||||
user_subscription = roxywi_common.return_user_subscription()
|
'user': user_params['user'],
|
||||||
|
'servers': user_params['servers'],
|
||||||
|
'port_scanner_settings': port_scanner_settings,
|
||||||
|
'count_ports': count_ports,
|
||||||
|
'port_scanner': port_scanner,
|
||||||
|
'token': user_params['token'],
|
||||||
|
'lang': user_params['lang'],
|
||||||
|
'user_subscription': user_subscription
|
||||||
|
}
|
||||||
|
|
||||||
return render_template(
|
return render_template('portscanner.html', **kwargs)
|
||||||
'portscanner.html', autorefresh=0, role=user_params['role'], user=user_params['user'], servers=user_params['servers'],
|
|
||||||
port_scanner_settings=port_scanner_settings, count_ports=count_ports, port_scanner=''.join(port_scanner),
|
|
||||||
port_scanner_stderr=port_scanner_stderr, user_services=user_params['user_services'], user_status=user_subscription['user_status'],
|
|
||||||
user_plan=user_subscription['user_plan'], token=user_params['token'], lang=user_params['lang']
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@bp.route('/history/<server_ip>')
|
@bp.route('/history/<server_ip>')
|
||||||
@get_user_params()
|
@get_user_params()
|
||||||
def portscanner_history(server_ip):
|
def portscanner_history(server_ip):
|
||||||
user_params = g.user_params
|
|
||||||
history = sql.select_port_scanner_history(server_ip)
|
history = sql.select_port_scanner_history(server_ip)
|
||||||
user_subscription = roxywi_common.return_user_subscription()
|
user_subscription = roxywi_common.return_user_subscription()
|
||||||
|
kwargs = {
|
||||||
|
'h2': 1,
|
||||||
|
'role': g.user_params['role'],
|
||||||
|
'user': g.user_params['user'],
|
||||||
|
'servers': g.user_params['servers'],
|
||||||
|
'user_services': g.user_params['user_services'],
|
||||||
|
'token': g.user_params['token'],
|
||||||
|
'lang': g.user_params['lang'],
|
||||||
|
'history': history,
|
||||||
|
'user_subscription': user_subscription
|
||||||
|
}
|
||||||
|
|
||||||
return render_template(
|
return render_template('include/port_scan_history.html', **kwargs)
|
||||||
'include/port_scan_history.html', h2=1, autorefresh=0, role=user_params['role'], user=user_params['user'], history=history,
|
|
||||||
servers=user_params['servers'], user_services=user_params['user_services'], token=user_params['token'],
|
|
||||||
user_status=user_subscription['user_status'], user_plan=user_subscription['user_plan'], lang=user_params['lang']
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@bp.post('/settings')
|
@bp.post('/settings')
|
||||||
|
|
|
@ -11,6 +11,7 @@ import app.modules.common.common as common
|
||||||
import app.modules.roxywi.auth as roxywi_auth
|
import app.modules.roxywi.auth as roxywi_auth
|
||||||
import app.modules.roxywi.common as roxywi_common
|
import app.modules.roxywi.common as roxywi_common
|
||||||
import app.modules.tools.smon as smon_mod
|
import app.modules.tools.smon as smon_mod
|
||||||
|
import app.modules.tools.common as tools_common
|
||||||
|
|
||||||
|
|
||||||
@bp.route('/dashboard')
|
@bp.route('/dashboard')
|
||||||
|
@ -19,24 +20,29 @@ import app.modules.tools.smon as smon_mod
|
||||||
def smon():
|
def smon():
|
||||||
roxywi_common.check_user_group_for_flask()
|
roxywi_common.check_user_group_for_flask()
|
||||||
|
|
||||||
user_params = g.user_params
|
smon = sql.smon_list(g.user_params['group_id'])
|
||||||
user_group = roxywi_common.get_user_group(id=1)
|
smon_status = tools_common.is_tool_active('roxy-wi-smon')
|
||||||
smon = sql.smon_list(user_group)
|
|
||||||
smon_status, stderr = smon_mod.return_smon_status()
|
|
||||||
user_subscription = roxywi_common.return_user_subscription()
|
user_subscription = roxywi_common.return_user_subscription()
|
||||||
|
kwargs = {
|
||||||
|
'autorefresh': 1,
|
||||||
|
'role': g.user_params['role'],
|
||||||
|
'user': g.user_params['user'],
|
||||||
|
'user_services': g.user_params['user_services'],
|
||||||
|
'token': g.user_params['token'],
|
||||||
|
'lang': g.user_params['lang'],
|
||||||
|
'smon': smon,
|
||||||
|
'group': g.user_params['group_id'],
|
||||||
|
'smon_status': smon_status,
|
||||||
|
'user_subscription': user_subscription,
|
||||||
|
}
|
||||||
|
|
||||||
return render_template(
|
return render_template('smon/dashboard.html', **kwargs)
|
||||||
'smon/dashboard.html', autorefresh=1, role=user_params['role'], user=user_params['user'], group=user_group,
|
|
||||||
lang=user_params['lang'], smon_status=smon_status, smon_error=stderr, user_services=user_params['user_services'],
|
|
||||||
user_status=user_subscription['user_status'], smon=smon, user_plan=user_subscription['user_plan'], token=user_params['token']
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@bp.route('/dashboard/<dashboard_id>/<check_id>')
|
@bp.route('/dashboard/<dashboard_id>/<check_id>')
|
||||||
@login_required
|
@login_required
|
||||||
@get_user_params()
|
@get_user_params()
|
||||||
def smon_dashboard(dashboard_id, check_id):
|
def smon_dashboard(dashboard_id, check_id):
|
||||||
user_params = g.user_params
|
|
||||||
check_id = int(check_id)
|
check_id = int(check_id)
|
||||||
roxywi_common.check_user_group_for_flask()
|
roxywi_common.check_user_group_for_flask()
|
||||||
user_subscription = roxywi_common.return_user_subscription()
|
user_subscription = roxywi_common.return_user_subscription()
|
||||||
|
@ -63,13 +69,27 @@ def smon_dashboard(dashboard_id, check_id):
|
||||||
ssl_expire_date = datetime.strptime(s.smon_id.ssl_expire_date, '%Y-%m-%d %H:%M:%S')
|
ssl_expire_date = datetime.strptime(s.smon_id.ssl_expire_date, '%Y-%m-%d %H:%M:%S')
|
||||||
cert_day_diff = (ssl_expire_date - present).days
|
cert_day_diff = (ssl_expire_date - present).days
|
||||||
|
|
||||||
return render_template(
|
kwargs = {
|
||||||
'include/smon/smon_history.html', autorefresh=1, role=user_params['role'], user=user_params['user'], smon=smon,
|
'autorefresh': 1,
|
||||||
lang=user_params['lang'], user_status=user_subscription['user_status'], check_interval=check_interval,
|
'role': g.user_params['role'],
|
||||||
user_plan=user_subscription['user_plan'], token=user_params['token'], uptime=uptime, avg_res_time=avg_res_time,
|
'user': g.user_params['user'],
|
||||||
user_services=user_params['user_services'], smon_name=smon_name, cert_day_diff=cert_day_diff, check_id=check_id,
|
'user_services': g.user_params['user_services'],
|
||||||
dashboard_id=dashboard_id, last_resp_time=last_resp_time
|
'token': g.user_params['token'],
|
||||||
)
|
'lang': g.user_params['lang'],
|
||||||
|
'smon': smon,
|
||||||
|
'group': g.user_params['group_id'],
|
||||||
|
'user_subscription': user_subscription,
|
||||||
|
'check_interval': check_interval,
|
||||||
|
'uptime': uptime,
|
||||||
|
'avg_res_time': avg_res_time,
|
||||||
|
'smon_name': smon_name,
|
||||||
|
'cert_day_diff': cert_day_diff,
|
||||||
|
'check_id': check_id,
|
||||||
|
'dashboard_id': dashboard_id,
|
||||||
|
'last_resp_time': last_resp_time
|
||||||
|
}
|
||||||
|
|
||||||
|
return render_template('include/smon/smon_history.html', **kwargs)
|
||||||
|
|
||||||
|
|
||||||
@bp.route('/status-page', methods=['GET', 'POST', 'DELETE', 'PUT'])
|
@bp.route('/status-page', methods=['GET', 'POST', 'DELETE', 'PUT'])
|
||||||
|
@ -77,19 +97,23 @@ def smon_dashboard(dashboard_id, check_id):
|
||||||
@get_user_params()
|
@get_user_params()
|
||||||
def status_page():
|
def status_page():
|
||||||
if request.method == 'GET':
|
if request.method == 'GET':
|
||||||
user_params = g.user_params
|
smon_list = sql.smon_list(g.user_params['group_id'])
|
||||||
user_group = roxywi_common.get_user_group(id=1)
|
pages = sql.select_status_pages(g.user_params['group_id'])
|
||||||
smon_list = sql.smon_list(user_group)
|
smon_status = tools_common.is_tool_active('roxy-wi-smon')
|
||||||
pages = sql.select_status_pages(user_group)
|
|
||||||
smon_status, stderr = smon_mod.return_smon_status()
|
|
||||||
user_subscription = roxywi_common.return_user_subscription()
|
user_subscription = roxywi_common.return_user_subscription()
|
||||||
|
kwargs = {
|
||||||
|
'role': g.user_params['role'],
|
||||||
|
'user': g.user_params['user'],
|
||||||
|
'user_services': g.user_params['user_services'],
|
||||||
|
'token': g.user_params['token'],
|
||||||
|
'lang': g.user_params['lang'],
|
||||||
|
'smon': smon_list,
|
||||||
|
'pages': pages,
|
||||||
|
'smon_status': smon_status,
|
||||||
|
'user_subscription': user_subscription
|
||||||
|
}
|
||||||
|
|
||||||
return render_template(
|
return render_template('smon/manage_status_page.html', **kwargs)
|
||||||
'smon/manage_status_page.html', role=user_params['role'], user=user_params['user'],
|
|
||||||
lang=user_params['lang'], pages=pages, smon_status=smon_status,
|
|
||||||
user_status=user_subscription['user_status'], user_plan=user_subscription['user_plan'], smon_error=stderr,
|
|
||||||
token=user_params['token'], user_services=user_params['user_services'], smon=smon_list,
|
|
||||||
)
|
|
||||||
elif request.method == 'POST':
|
elif request.method == 'POST':
|
||||||
name = common.checkAjaxInput(request.form.get('name'))
|
name = common.checkAjaxInput(request.form.get('name'))
|
||||||
slug = common.checkAjaxInput(request.form.get('slug'))
|
slug = common.checkAjaxInput(request.form.get('slug'))
|
||||||
|
@ -160,17 +184,21 @@ def smon_history_statuses_avg(page_id):
|
||||||
def smon_history():
|
def smon_history():
|
||||||
roxywi_common.check_user_group_for_flask()
|
roxywi_common.check_user_group_for_flask()
|
||||||
|
|
||||||
user_group = roxywi_common.get_user_group(id=1)
|
smon = sql.alerts_history('SMON', g.user_params['group_id'])
|
||||||
smon_status, stderr = smon_mod.return_smon_status()
|
smon_status = tools_common.is_tool_active('roxy-wi-smon')
|
||||||
smon = sql.alerts_history('SMON', user_group)
|
|
||||||
user_subscription = roxywi_common.return_user_subscription()
|
user_subscription = roxywi_common.return_user_subscription()
|
||||||
user_params = g.user_params
|
kwargs = {
|
||||||
|
'role': g.user_params['role'],
|
||||||
|
'user': g.user_params['user'],
|
||||||
|
'user_services': g.user_params['user_services'],
|
||||||
|
'token': g.user_params['token'],
|
||||||
|
'lang': g.user_params['lang'],
|
||||||
|
'smon': smon,
|
||||||
|
'smon_status': smon_status,
|
||||||
|
'user_subscription': user_subscription
|
||||||
|
}
|
||||||
|
|
||||||
return render_template(
|
return render_template('smon/history.html', **kwargs)
|
||||||
'smon/history.html', autorefresh=0, role=user_params['role'], user=user_params['user'], smon=smon, lang=user_params['lang'],
|
|
||||||
user_status=user_subscription['user_status'], user_plan=user_subscription['user_plan'], token=user_params['token'],
|
|
||||||
smon_status=smon_status, smon_error=stderr, user_services=user_params['user_services']
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@bp.route('/history/host/<server_ip>')
|
@bp.route('/history/host/<server_ip>')
|
||||||
|
@ -180,17 +208,21 @@ def smon_host_history(server_ip):
|
||||||
roxywi_common.check_user_group_for_flask()
|
roxywi_common.check_user_group_for_flask()
|
||||||
|
|
||||||
needed_host = common.is_ip_or_dns(server_ip)
|
needed_host = common.is_ip_or_dns(server_ip)
|
||||||
user_group = roxywi_common.get_user_group(id=1)
|
smon_status = tools_common.is_tool_active('roxy-wi-smon')
|
||||||
smon_status, stderr = smon_mod.return_smon_status()
|
smon = sql.alerts_history('SMON', g.user_params['group_id'], host=needed_host)
|
||||||
smon = sql.alerts_history('SMON', user_group, host=needed_host)
|
|
||||||
user_subscription = roxywi_common.return_user_subscription()
|
user_subscription = roxywi_common.return_user_subscription()
|
||||||
user_params = g.user_params
|
kwargs = {
|
||||||
|
'role': g.user_params['role'],
|
||||||
|
'user': g.user_params['user'],
|
||||||
|
'user_services': g.user_params['user_services'],
|
||||||
|
'token': g.user_params['token'],
|
||||||
|
'lang': g.user_params['lang'],
|
||||||
|
'smon': smon,
|
||||||
|
'smon_status': smon_status,
|
||||||
|
'user_subscription': user_subscription
|
||||||
|
}
|
||||||
|
|
||||||
return render_template(
|
return render_template('smon/history.html', **kwargs)
|
||||||
'smon/history.html', autorefresh=0, role=user_params['role'], user=user_params['user'], smon=smon,
|
|
||||||
lang=user_params['lang'], user_status=user_subscription['user_status'], user_plan=user_subscription['user_plan'],
|
|
||||||
token=user_params['token'], smon_status=smon_status, smon_error=stderr, user_services=user_params['user_services']
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@bp.route('/history/metric/<int:dashboard_id>')
|
@bp.route('/history/metric/<int:dashboard_id>')
|
||||||
|
@ -214,26 +246,37 @@ def smon_history_cur_status(dashboard_id, check_id):
|
||||||
@login_required
|
@login_required
|
||||||
@get_user_params()
|
@get_user_params()
|
||||||
def smon_admin():
|
def smon_admin():
|
||||||
user_group = roxywi_common.get_user_group(id=1)
|
roxywi_auth.page_for_admin(level=3)
|
||||||
smon_status, stderr = smon_mod.return_smon_status()
|
user_group = g.user_params['group_id']
|
||||||
|
smon_status = tools_common.is_tool_active('roxy-wi-smon')
|
||||||
telegrams = sql.get_user_telegram_by_group(user_group)
|
telegrams = sql.get_user_telegram_by_group(user_group)
|
||||||
slacks = sql.get_user_slack_by_group(user_group)
|
slacks = sql.get_user_slack_by_group(user_group)
|
||||||
pds = sql.get_user_pd_by_group(user_group)
|
pds = sql.get_user_pd_by_group(user_group)
|
||||||
smon = sql.select_smon(user_group)
|
smon_checks = sql.select_smon(user_group)
|
||||||
smon_ping = sql.select_smon_ping(user_group)
|
smon_ping = sql.select_smon_ping()
|
||||||
smon_tcp = sql.select_smon_tcp(user_group)
|
smon_tcp = sql.select_smon_tcp()
|
||||||
smon_http = sql.select_smon_http(user_group)
|
smon_http = sql.select_smon_http()
|
||||||
smon_dns = sql.select_smon_dns(user_group)
|
smon_dns = sql.select_smon_dns()
|
||||||
roxywi_auth.page_for_admin(level=3)
|
|
||||||
user_subscription = roxywi_common.return_user_subscription()
|
user_subscription = roxywi_common.return_user_subscription()
|
||||||
user_params = g.user_params
|
kwargs = {
|
||||||
|
'role': g.user_params['role'],
|
||||||
|
'user': g.user_params['user'],
|
||||||
|
'user_services': g.user_params['user_services'],
|
||||||
|
'token': g.user_params['token'],
|
||||||
|
'lang': g.user_params['lang'],
|
||||||
|
'smon': smon_checks,
|
||||||
|
'smon_status': smon_status,
|
||||||
|
'user_subscription': user_subscription,
|
||||||
|
'telegrams': telegrams,
|
||||||
|
'slacks': slacks,
|
||||||
|
'pds': pds,
|
||||||
|
'smon_ping': smon_ping,
|
||||||
|
'smon_tcp:': smon_tcp,
|
||||||
|
'smon_http': smon_http,
|
||||||
|
'smon_dns': smon_dns
|
||||||
|
}
|
||||||
|
|
||||||
return render_template(
|
return render_template('smon/add.html', **kwargs)
|
||||||
'smon/add.html', autorefresh=0, role=user_params['role'], user=user_params['user'], smon=smon, lang=user_params['lang'],
|
|
||||||
user_status=user_subscription['user_status'], user_plan=user_subscription['user_plan'], token=user_params['token'],
|
|
||||||
smon_status=smon_status, smon_error=stderr, user_services=user_params['user_services'], telegrams=telegrams,
|
|
||||||
slacks=slacks, pds=pds, smon_ping=smon_ping, smon_tcp=smon_tcp, smon_http=smon_http, smon_dns=smon_dns
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@bp.post('/add')
|
@bp.post('/add')
|
||||||
|
@ -267,16 +310,15 @@ def smon_add():
|
||||||
return str(e), 200
|
return str(e), 200
|
||||||
else:
|
else:
|
||||||
if last_id:
|
if last_id:
|
||||||
smon = sql.select_smon_by_id(last_id)
|
kwargs = {
|
||||||
pds = sql.get_user_pd_by_group(user_group)
|
'smon': sql.select_smon_by_id(last_id),
|
||||||
slacks = sql.get_user_slack_by_group(user_group)
|
'pds': sql.get_user_pd_by_group(user_group),
|
||||||
telegrams = sql.get_user_telegram_by_group(user_group)
|
'slacks': sql.get_user_slack_by_group(user_group),
|
||||||
smon_service = sql.select_smon_check_by_id(last_id, check_type)
|
'telegrams': sql.get_user_telegram_by_group(user_group),
|
||||||
|
'smon_service': sql.select_smon_check_by_id(last_id, check_type)
|
||||||
|
}
|
||||||
|
|
||||||
return render_template(
|
return render_template('ajax/smon/show_new_smon.html', **kwargs)
|
||||||
'ajax/smon/show_new_smon.html', smon=smon, telegrams=telegrams, slacks=slacks, pds=pds, lang=lang,
|
|
||||||
check_type=check_type, smon_service=smon_service
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@bp.post('/update/<smon_id>')
|
@bp.post('/update/<smon_id>')
|
||||||
|
|
|
@ -49,7 +49,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<span style="color: {{color}};"><b>{{t.1 |upper}}</b></span>
|
<span style="color: {{color}};"><b>{{t.1 |upper}}</b></span>
|
||||||
</td>
|
</td>
|
||||||
<td><a href="/app/smon.py?action=history&host={{t.2}}" title="{{lang.words.open|title()}} {{lang.words.history}} {{lang.words.for}} {{t.2}} {{lang.words.host}}">{{t.2}}</a></td>
|
<td><a href="/app/history/server/{{t.2}}" title="{{lang.words.open|title()}} {{lang.words.history}} {{lang.words.for}} {{t.2}} {{lang.words.host}}">{{t.2}}</a></td>
|
||||||
{% if action != "checker_history" %}
|
{% if action != "checker_history" %}
|
||||||
<td>{{t.3}}</td>
|
<td>{{t.3}}</td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
} );
|
} );
|
||||||
} );
|
} );
|
||||||
</script>
|
</script>
|
||||||
{% if user_status == 0 %}
|
{% if user_subscription['user_status'] == 0 %}
|
||||||
{% include 'include/no_sub.html' %}
|
{% include 'include/no_sub.html' %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<table class="overview hover order-column display compact" id="scan_history">
|
<table class="overview hover order-column display compact" id="scan_history">
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
{% block h2 %}{{ lang.menu_links.history.title }} {{ smon_name }}{% endblock %}
|
{% block h2 %}{{ lang.menu_links.history.title }} {{ smon_name }}{% endblock %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% set checking_types = {'1': 'TCP/UDP', '2': 'HTTP', '4': 'Ping', '5': 'DNS'} %}
|
{% set checking_types = {'1': 'TCP/UDP', '2': 'HTTP', '4': 'Ping', '5': 'DNS'} %}
|
||||||
{% if user_status == 0 or user_plan == 'user' %}
|
{% if user_subscription['user_status'] == 0 or user_subscription['user_plan'] == 'user' %}
|
||||||
{% include 'include/no_sub.html' %}
|
{% include 'include/no_sub.html' %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<link href="/inc/css/chart.min.css" rel="stylesheet">
|
<link href="/inc/css/chart.min.css" rel="stylesheet">
|
||||||
|
@ -77,10 +77,10 @@
|
||||||
let metrics = new Promise(
|
let metrics = new Promise(
|
||||||
(resolve, reject) => {
|
(resolve, reject) => {
|
||||||
removeData();
|
removeData();
|
||||||
getSmonHistoryCheckData('{{dashboard_id}}', '{{check_id}}');
|
getSmonHistoryCheckData('{{dashboard_id}}');
|
||||||
});
|
});
|
||||||
metrics.then();
|
metrics.then();
|
||||||
show_statuses('{{dashboard_id}}', '{{check_id}}');
|
show_statuses('{{dashboard_id}}', '{{check_id}}', '#smon_history_statuses');
|
||||||
}
|
}
|
||||||
showSmonHistory();
|
showSmonHistory();
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -18,10 +18,10 @@
|
||||||
padding-top: 5px !important;
|
padding-top: 5px !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
{% if user_status == 0 %}
|
{% if user_subscription['user_status'] == 0 %}
|
||||||
{% include 'include/no_sub.html' %}
|
{% include 'include/no_sub.html' %}
|
||||||
{% else %}
|
{% else %}
|
||||||
{% if port_scanner_stderr != '' %}
|
{% if 'is not installed' in port_scanner or 'ERROR' in port_scanner %}
|
||||||
<div style="text-align: center;">
|
<div style="text-align: center;">
|
||||||
<br />
|
<br />
|
||||||
<h3>{{lang.admin_page.desc.no_ansible}} Port scanner {{lang.words.service}}. {{lang.words.read|title()}} <a href="https://roxy-wi.org/services/portscanner"
|
<h3>{{lang.admin_page.desc.no_ansible}} Port scanner {{lang.words.service}}. {{lang.words.read|title()}} <a href="https://roxy-wi.org/services/portscanner"
|
||||||
|
@ -138,7 +138,7 @@
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div class="add-note addName alert-info" style="width: inherit; margin-right: 15px; margin-top: 45%">
|
<div class="add-note addName alert-info" style="width: inherit; margin-right: 15px; margin-top: 45%;clear: both;">
|
||||||
{{lang.words.read|title()}} {{lang.words.about}} Port scanner {{lang.words.service}} {{lang.words.in}} {{lang.words.this2}} <a href="https://roxy-wi.org/services/portscanner" title="The Port scanner service description" target="_blank">{{lang.words.article}}</a>
|
{{lang.words.read|title()}} {{lang.words.about}} Port scanner {{lang.words.service}} {{lang.words.in}} {{lang.words.this2}} <a href="https://roxy-wi.org/services/portscanner" title="The Port scanner service description" target="_blank">{{lang.words.article}}</a>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -7,17 +7,9 @@
|
||||||
<script src="/inc/users.js"></script>
|
<script src="/inc/users.js"></script>
|
||||||
<script src="/inc/fontawesome.min.js"></script>
|
<script src="/inc/fontawesome.min.js"></script>
|
||||||
<script src="/inc/jquery.timeago.js" type="text/javascript"></script>
|
<script src="/inc/jquery.timeago.js" type="text/javascript"></script>
|
||||||
{% if user_status == 0 %}
|
{% if user_subscription['user_status'] == 0 %}
|
||||||
{% include 'include/no_sub.html' %}
|
{% include 'include/no_sub.html' %}
|
||||||
{% elif smon_error != '' %}
|
{% elif smon_status in ('failed', 'inactive', 'ERROR') %}
|
||||||
<div style="text-align: center;">
|
|
||||||
<br />
|
|
||||||
<h3>{{lang.smon_page.desc.not_installed}}</h3>.
|
|
||||||
<img src="{{ url_for('static', filename='images/no_servers.png')}}" alt="There is no server">
|
|
||||||
<h4>{{lang.words.read|title()}} <a href="https://roxy-wi.org/services/smon" title="Simple monitoring network ports with alerting via Telegram and WEB panel" target="_blank">{{lang.words.here}}</a>
|
|
||||||
{{lang.phrases.how_to_install}} SMON {{lang.words.service}}.</h4>
|
|
||||||
</div>
|
|
||||||
{% elif smon_status.0 == 'failed' or smon_status.0 == 'inactive' %}
|
|
||||||
<div style="text-align: center;">
|
<div style="text-align: center;">
|
||||||
<br />
|
<br />
|
||||||
<h3>{{lang.smon_page.desc.smon_is_not_run}}</h3>
|
<h3>{{lang.smon_page.desc.smon_is_not_run}}</h3>
|
||||||
|
|
|
@ -2,23 +2,8 @@
|
||||||
{% block title %}{{ lang.menu_links.monitoring.checker_history }}{% endblock %}
|
{% block title %}{{ lang.menu_links.monitoring.checker_history }}{% endblock %}
|
||||||
{% block h2 %}{{ lang.menu_links.monitoring.checker_history }}{% endblock %}
|
{% block h2 %}{{ lang.menu_links.monitoring.checker_history }}{% endblock %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% if user_status == 0 or user_plan == 'user' %}
|
{% if user_subscription['user_status'] == 0 or user_subscription['user_plan'] == 'user' %}
|
||||||
{% include 'include/no_sub.html' %}
|
{% include 'include/no_sub.html' %}
|
||||||
{% elif smon_error != '' %}
|
|
||||||
<div style="text-align: center;">
|
|
||||||
<br />
|
|
||||||
<h3>{{lang.smon_page.desc.not_installed}}</h3>.
|
|
||||||
<img src="{{ url_for('static', filename='images/no_servers.png')}}" alt="There is no server">
|
|
||||||
<h4>{{lang.words.read|title()}} <a href="https://roxy-wi.org/services/smon" title="Simple monitoring network ports with alerting via Telegram and WEB panel" target="_blank">{{lang.words.here}}</a>
|
|
||||||
{{lang.phrases.how_to_install}} SMON {{lang.words.service}}.</h4>
|
|
||||||
</div>
|
|
||||||
{% elif smon_status.0 == 'failed' or smon_status.0 == 'inactive' %}
|
|
||||||
<div style="text-align: center;">
|
|
||||||
<br />
|
|
||||||
<h3>{{lang.smon_page.desc.smon_is_not_run}}</h3>
|
|
||||||
<img src="{{ url_for('static', filename='images/no_servers.png')}}" alt="There is no server">
|
|
||||||
<h4>{{lang.smon_page.desc.run_smon}} <a href="/app/users/services" title="Roxy-WI services" target="_blank">{{lang.words.here}}</a> {{lang.smon_page.desc.before_use}}</h4>
|
|
||||||
</div>
|
|
||||||
{% elif smon|length == 0 %}
|
{% elif smon|length == 0 %}
|
||||||
<div style="text-align: center;">
|
<div style="text-align: center;">
|
||||||
<br />
|
<br />
|
||||||
|
|
|
@ -6,17 +6,9 @@
|
||||||
<script src="/inc/users.js"></script>
|
<script src="/inc/users.js"></script>
|
||||||
<script src="/inc/fontawesome.min.js"></script>
|
<script src="/inc/fontawesome.min.js"></script>
|
||||||
<script src="/inc/jquery.timeago.js" type="text/javascript"></script>
|
<script src="/inc/jquery.timeago.js" type="text/javascript"></script>
|
||||||
{% if user_status == 0 %}
|
{% if user_subscription['user_status'] == 0 %}
|
||||||
{% include 'include/no_sub.html' %}
|
{% include 'include/no_sub.html' %}
|
||||||
{% elif smon_error != '' %}
|
{% elif smon_status in ('failed', 'inactive', 'ERROR') %}
|
||||||
<div style="text-align: center;">
|
|
||||||
<br />
|
|
||||||
<h3>{{lang.smon_page.desc.not_installed}}</h3>.
|
|
||||||
<img src="{{ url_for('static', filename='images/no_servers.png')}}" alt="There is no server">
|
|
||||||
<h4>{{lang.words.read|title()}} <a href="https://roxy-wi.org/services/smon" title="Simple monitoring network ports with alerting via Telegram and WEB panel" target="_blank">{{lang.words.here}}</a>
|
|
||||||
{{lang.phrases.how_to_install}} SMON {{lang.words.service}}.</h4>
|
|
||||||
</div>
|
|
||||||
{% elif smon_status.0 == 'failed' or smon_status.0 == 'inactive' %}
|
|
||||||
<div style="text-align: center;">
|
<div style="text-align: center;">
|
||||||
<br />
|
<br />
|
||||||
<h3>{{lang.smon_page.desc.smon_is_not_run}}</h3>
|
<h3>{{lang.smon_page.desc.smon_is_not_run}}</h3>
|
||||||
|
|
|
@ -2,17 +2,9 @@
|
||||||
{% block title %}{{ lang.menu_links.monitoring.smon.history }}{% endblock %}
|
{% block title %}{{ lang.menu_links.monitoring.smon.history }}{% endblock %}
|
||||||
{% block h2 %}{{ lang.menu_links.monitoring.smon.history }}{% endblock %}
|
{% block h2 %}{{ lang.menu_links.monitoring.smon.history }}{% endblock %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% if user_status == 0 or user_plan == 'user' %}
|
{% if user_subscription['user_status'] == 0 or user_subscription['user_plan'] == 'user' %}
|
||||||
{% include 'include/no_sub.html' %}
|
{% include 'include/no_sub.html' %}
|
||||||
{% elif smon_error != '' %}
|
{% elif smon_status in ('failed', 'inactive', 'ERROR') %}
|
||||||
<div style="text-align: center;">
|
|
||||||
<br />
|
|
||||||
<h3>{{lang.smon_page.desc.not_installed}}</h3>.
|
|
||||||
<img src="{{ url_for('static', filename='images/no_servers.png')}}" alt="There is no server">
|
|
||||||
<h4>{{lang.words.read|title()}} <a href="https://roxy-wi.org/services/smon" title="Simple monitoring network ports with alerting via Telegram and WEB panel" target="_blank">{{lang.words.here}}</a>
|
|
||||||
{{lang.phrases.how_to_install}} SMON {{lang.words.service}}.</h4>
|
|
||||||
</div>
|
|
||||||
{% elif smon_status.0 == 'failed' or smon_status.0 == 'inactive' %}
|
|
||||||
<div style="text-align: center;">
|
<div style="text-align: center;">
|
||||||
<br />
|
<br />
|
||||||
<h3>{{lang.smon_page.desc.smon_is_not_run}}</h3>
|
<h3>{{lang.smon_page.desc.smon_is_not_run}}</h3>
|
||||||
|
|
|
@ -7,17 +7,9 @@
|
||||||
<link href="/inc/css/servers.css" rel="stylesheet"/>
|
<link href="/inc/css/servers.css" rel="stylesheet"/>
|
||||||
<link href="/inc/css/smon.css" rel="stylesheet"/>
|
<link href="/inc/css/smon.css" rel="stylesheet"/>
|
||||||
|
|
||||||
{% if user_status == 0 or user_plan != 'support' %}
|
{% if user_subscription['user_status'] == 0 or user_subscription['user_plan'] != 'support' %}
|
||||||
{% include 'include/no_sub.html' %}
|
{% include 'include/no_sub.html' %}
|
||||||
{% elif smon_error != '' %}
|
{% elif smon_status in ('failed', 'inactive', 'ERROR') %}
|
||||||
<div style="text-align: center;">
|
|
||||||
<br />
|
|
||||||
<h3>{{lang.smon_page.desc.not_installed}}</h3>.
|
|
||||||
<img src="{{ url_for('static', filename='images/no_servers.png')}}" alt="There is no server">
|
|
||||||
<h4>{{lang.words.read|title()}} <a href="https://roxy-wi.org/services/smon" title="Simple monitoring network ports with alerting via Telegram and WEB panel" target="_blank">{{lang.words.here}}</a>
|
|
||||||
{{lang.phrases.how_to_install}} SMON {{lang.words.service}}.</h4>
|
|
||||||
</div>
|
|
||||||
{% elif smon_status.0 == 'failed' or smon_status.0 == 'inactive' %}
|
|
||||||
<div style="text-align: center;">
|
<div style="text-align: center;">
|
||||||
<br />
|
<br />
|
||||||
<h3>{{lang.smon_page.desc.smon_is_not_run}}</h3>
|
<h3>{{lang.smon_page.desc.smon_is_not_run}}</h3>
|
||||||
|
|
Loading…
Reference in New Issue