#!/usr/bin/env python3 # -*- coding: utf-8 -*- import funct import sql import create_db import os from jinja2 import Environment, FileSystemLoader env = Environment(loader=FileSystemLoader('templates/'), autoescape=True) template = env.get_template('ovw.html') print('Content-type: text/html\n') if create_db.check_db(): if create_db.create_table(): create_db.update_all() create_db.update_all_silent() funct.check_login() try: user, user_id, role, token, servers = funct.get_users_params() users = sql.select_users() groups = sql.select_groups() 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) cmd = "ps ax |grep -e 'metrics_worker\|metrics_waf_worker.py' |grep -v grep |wc -l" metrics_worker, stderr = funct.subprocess_execute(cmd) cmd = "ps ax |grep -e 'keep_alive.py' |grep -v grep |wc -l" keep_alive, stderr = funct.subprocess_execute(cmd) cmd = "systemctl status smon |grep Act |awk '{print $2}'" smon, stderr = funct.subprocess_execute(cmd) cmd = "ps ax |grep grafana|grep -v grep|wc -l" grafana, stderr = funct.subprocess_execute(cmd) cmd = "ps ax |grep 'prometheus ' |grep -v grep|wc -l" prometheus, stderr = funct.subprocess_execute(cmd) 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 host = os.environ.get('HTTP_HOST', '') except: role = '' user = '' users = '' groups = '' roles = '' metrics_master = '' metrics_worker = '' checker_master = '' checker_worker = '' keep_alive = '' smon = '' grafana = '' prometheus = '' versions = '' haproxy_wi_log = '' servers = '' stderr = '' is_checker_worker = '' is_metrics_worker = '' token = '' template = template.render(h2 = 1, autorefresh = 1, title = "Overview", role = role, user = user, users = users, groups = groups, users_groups = sql.select_user_groups_with_names(1, all=1), roles = sql.select_roles(), metrics_master = ''.join(metrics_master), metrics_worker = ''.join(metrics_worker), checker_master = ''.join(checker_master), checker_worker = ''.join(checker_worker), keep_alive = ''.join(keep_alive), smon = ''.join(smon), grafana = ''.join(grafana), prometheus = ''.join(prometheus), 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"), error = stderr, versions = funct.versions(), haproxy_wi_log = funct.haproxy_wi_log(), servers = servers, is_checker_worker = is_checker_worker, is_metrics_worker = is_metrics_worker, host = host, token = token) print(template)