2018-02-06 04:39:43 +00:00
|
|
|
#!/usr/bin/env python3
|
2020-04-07 18:16:12 +00:00
|
|
|
# -*- coding: utf-8 -*-
|
2020-07-15 04:22:18 +00:00
|
|
|
import funct
|
|
|
|
import sql
|
2018-05-07 13:24:22 +00:00
|
|
|
import create_db
|
2020-04-24 19:44:37 +00:00
|
|
|
import os
|
2018-05-05 12:40:41 +00:00
|
|
|
from jinja2 import Environment, FileSystemLoader
|
2020-02-26 18:10:02 +00:00
|
|
|
env = Environment(loader=FileSystemLoader('templates/'), autoescape=True)
|
2018-05-05 12:40:41 +00:00
|
|
|
template = env.get_template('ovw.html')
|
|
|
|
|
|
|
|
print('Content-type: text/html\n')
|
2018-06-24 09:31:28 +00:00
|
|
|
if create_db.check_db():
|
|
|
|
if create_db.create_table():
|
|
|
|
create_db.update_all()
|
2018-05-07 13:24:22 +00:00
|
|
|
create_db.update_all_silent()
|
2018-06-01 12:27:58 +00:00
|
|
|
funct.check_login()
|
2018-03-27 10:15:24 +00:00
|
|
|
|
2018-05-05 12:40:41 +00:00
|
|
|
try:
|
2020-02-22 08:32:44 +00:00
|
|
|
user, user_id, role, token, servers = funct.get_users_params()
|
2018-05-09 12:21:09 +00:00
|
|
|
users = sql.select_users()
|
|
|
|
groups = sql.select_groups()
|
2018-08-06 18:08:52 +00:00
|
|
|
cmd = "ps ax |grep checker_mas |grep -v grep |wc -l"
|
|
|
|
checker_master, stderr = funct.subprocess_execute(cmd)
|
|
|
|
cmd = "ps ax |grep checker_worker |grep -v grep |wc -l"
|
|
|
|
checker_worker, stderr = funct.subprocess_execute(cmd)
|
|
|
|
cmd = "ps ax |grep metrics_master |grep -v grep |wc -l"
|
|
|
|
metrics_master, stderr = funct.subprocess_execute(cmd)
|
2018-08-17 17:08:07 +00:00
|
|
|
cmd = "ps ax |grep -e 'metrics_worker\|metrics_waf_worker.py' |grep -v grep |wc -l"
|
2018-08-06 18:08:52 +00:00
|
|
|
metrics_worker, stderr = funct.subprocess_execute(cmd)
|
2019-09-22 15:46:26 +00:00
|
|
|
cmd = "ps ax |grep -e 'keep_alive.py' |grep -v grep |wc -l"
|
|
|
|
keep_alive, stderr = funct.subprocess_execute(cmd)
|
2020-07-15 04:22:18 +00:00
|
|
|
cmd = "systemctl status smon |grep Act |awk '{print $2}'"
|
|
|
|
smon, stderr = funct.subprocess_execute(cmd)
|
2020-04-07 18:16:12 +00:00
|
|
|
cmd = "ps ax |grep grafana|grep -v grep|wc -l"
|
|
|
|
grafana, stderr = funct.subprocess_execute(cmd)
|
2020-04-07 20:13:09 +00:00
|
|
|
cmd = "ps ax |grep 'prometheus ' |grep -v grep|wc -l"
|
2020-04-07 18:16:12 +00:00
|
|
|
prometheus, stderr = funct.subprocess_execute(cmd)
|
2020-04-21 21:07:54 +00:00
|
|
|
is_checker_workers = sql.select_alert()
|
|
|
|
i = 0
|
|
|
|
for s in sql.select_alert():
|
|
|
|
i += 1
|
|
|
|
is_checker_worker = i
|
|
|
|
is_metrics_workers = sql.select_servers_metrics_for_master()
|
|
|
|
i = 0
|
|
|
|
for s in is_metrics_workers:
|
|
|
|
i += 1
|
|
|
|
is_metrics_worker = i
|
2020-04-24 19:44:37 +00:00
|
|
|
host = os.environ.get('HTTP_HOST', '')
|
2020-04-21 21:07:54 +00:00
|
|
|
|
2018-05-05 12:40:41 +00:00
|
|
|
except:
|
2020-01-11 21:16:27 +00:00
|
|
|
role = ''
|
2020-01-18 23:50:43 +00:00
|
|
|
user = ''
|
|
|
|
users = ''
|
|
|
|
groups = ''
|
|
|
|
roles = ''
|
|
|
|
metrics_master = ''
|
|
|
|
metrics_worker = ''
|
|
|
|
checker_master = ''
|
|
|
|
checker_worker = ''
|
|
|
|
keep_alive = ''
|
2020-07-15 04:22:18 +00:00
|
|
|
smon = ''
|
2020-04-07 18:16:12 +00:00
|
|
|
grafana = ''
|
|
|
|
prometheus = ''
|
2020-01-18 23:50:43 +00:00
|
|
|
versions = ''
|
|
|
|
haproxy_wi_log = ''
|
|
|
|
servers = ''
|
2020-04-07 18:16:12 +00:00
|
|
|
stderr = ''
|
2020-04-21 21:07:54 +00:00
|
|
|
is_checker_worker = ''
|
|
|
|
is_metrics_worker = ''
|
|
|
|
token = ''
|
2019-09-15 11:51:09 +00:00
|
|
|
|
2018-05-05 12:40:41 +00:00
|
|
|
|
2018-08-01 08:06:09 +00:00
|
|
|
template = template.render(h2 = 1,
|
|
|
|
autorefresh = 1,
|
|
|
|
title = "Overview",
|
2019-12-23 14:46:56 +00:00
|
|
|
role = role,
|
2018-08-01 08:06:09 +00:00
|
|
|
user = user,
|
|
|
|
users = users,
|
|
|
|
groups = groups,
|
2020-05-10 06:17:07 +00:00
|
|
|
users_groups = sql.select_user_groups_with_names(1, all=1),
|
2019-09-23 11:18:38 +00:00
|
|
|
roles = sql.select_roles(),
|
2018-08-06 18:08:52 +00:00
|
|
|
metrics_master = ''.join(metrics_master),
|
|
|
|
metrics_worker = ''.join(metrics_worker),
|
|
|
|
checker_master = ''.join(checker_master),
|
|
|
|
checker_worker = ''.join(checker_worker),
|
2019-09-22 15:46:26 +00:00
|
|
|
keep_alive = ''.join(keep_alive),
|
2020-07-15 04:22:18 +00:00
|
|
|
smon = ''.join(smon),
|
2020-04-07 18:16:12 +00:00
|
|
|
grafana = ''.join(grafana),
|
|
|
|
prometheus = ''.join(prometheus),
|
2020-03-05 18:56:13 +00:00
|
|
|
haproxy_wi_log_id = funct.haproxy_wi_log(log_id=1, file="haproxy-wi-", with_date=1),
|
|
|
|
metrics_log_id = funct.haproxy_wi_log(log_id=1, file="metrics-", with_date=1),
|
|
|
|
checker_log_id = funct.haproxy_wi_log(log_id=1, file="checker-", with_date=1),
|
|
|
|
keep_alive_log_id = funct.haproxy_wi_log(log_id=1, file="keep_alive"),
|
|
|
|
checker_error_log_id = funct.haproxy_wi_log(log_id=1, file="checker-error"),
|
|
|
|
metrics_error_log_id = funct.haproxy_wi_log(log_id=1, file="metrics-error"),
|
2018-08-06 18:08:52 +00:00
|
|
|
error = stderr,
|
2019-09-15 11:51:09 +00:00
|
|
|
versions = funct.versions(),
|
2019-12-08 10:44:23 +00:00
|
|
|
haproxy_wi_log = funct.haproxy_wi_log(),
|
2019-12-27 04:31:09 +00:00
|
|
|
servers = servers,
|
2020-04-21 21:07:54 +00:00
|
|
|
is_checker_worker = is_checker_worker,
|
|
|
|
is_metrics_worker = is_metrics_worker,
|
2020-04-24 19:44:37 +00:00
|
|
|
host = host,
|
2018-08-01 08:06:09 +00:00
|
|
|
token = token)
|
2020-04-07 18:16:12 +00:00
|
|
|
print(template)
|