mirror of https://github.com/Aidaho12/haproxy-wi
parent
85a59b6b2b
commit
56b2c8639b
|
@ -1,15 +1,15 @@
|
|||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
from bottle import route, run, template, hook, response, request, error
|
||||
from bottle import route, run, hook, response, request, error
|
||||
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
os.chdir(os.path.dirname(os.path.abspath(__file__)))
|
||||
sys.path.append(os.path.join(sys.path[0], '/var/www/haproxy-wi/app/'))
|
||||
|
||||
import api_funct
|
||||
import json
|
||||
import sql
|
||||
|
||||
_error_auth = '403 Auth before'
|
||||
|
@ -108,7 +108,7 @@ def get_servers():
|
|||
'alert': s[8],
|
||||
'metrics': s[9]
|
||||
}
|
||||
except:
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
return dict(servers=data)
|
||||
|
@ -231,6 +231,5 @@ def callback(server_id, service):
|
|||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print(sys.path)
|
||||
port = int(os.environ.get('PORT', 8080))
|
||||
run(host='0.0.0.0', port=port, debug=True)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import os
|
||||
import sys
|
||||
import json
|
||||
from bottle import route, run, template, hook, response, request, post
|
||||
from bottle import route, run, hook, response, request, post
|
||||
sys.path.append(os.path.join(sys.path[0], '/var/www/haproxy-wi/app/'))
|
||||
|
||||
import sql
|
||||
|
@ -179,9 +179,12 @@ def get_status(server_id, service):
|
|||
for k in out:
|
||||
servers_with_status.append(k)
|
||||
json_for_sending = {
|
||||
server_id: {"Version": servers_with_status[0][0].split('/')[1],
|
||||
server_id: {
|
||||
"Version": servers_with_status[0][0].split('/')[1],
|
||||
"Uptime": servers_with_status[0][1].split(':')[1].strip(),
|
||||
"Process": servers_with_status[0][2].split(' ')[1]}}
|
||||
"Process": servers_with_status[0][2].split(' ')[1]
|
||||
}
|
||||
}
|
||||
data = json_for_sending
|
||||
except Exception as e:
|
||||
data = {server_id: {"error": "Cannot get status: " + str(e)}}
|
||||
|
|
11
app/add.py
11
app/add.py
|
@ -16,10 +16,10 @@ funct.check_login(service=1)
|
|||
funct.page_for_admin(level=3)
|
||||
|
||||
if (
|
||||
form.getvalue('mode') is None and
|
||||
form.getvalue('new_userlist') is None and
|
||||
form.getvalue('peers-name') is None and
|
||||
form.getvalue('generateconfig') is None
|
||||
form.getvalue('mode') is None
|
||||
and form.getvalue('new_userlist') is None
|
||||
and form.getvalue('peers-name') is None
|
||||
and form.getvalue('generateconfig') is None
|
||||
):
|
||||
try:
|
||||
user, user_id, role, token, servers, user_services = funct.get_users_params(haproxy=1)
|
||||
|
@ -332,7 +332,8 @@ elif form.getvalue('mode') is not None:
|
|||
waf = " filter spoe engine modsecurity config " + haproxy_dir + "/waf.conf\n"
|
||||
waf += " http-request deny if { var(txn.modsec.code) -m int gt 0 }\n"
|
||||
|
||||
config_add = "\n" + name + "\n" + bind + mode + maxconn + balance + options_split + cache_s + filter_com + compression_s + waf + acl + backend + servers_split + "\n" + cache_set + "\n"
|
||||
config_add = "\n" + name + "\n" + bind + mode + maxconn + balance + options_split + cache_s + filter_com + \
|
||||
compression_s + waf + acl + backend + servers_split + "\n" + cache_set + "\n"
|
||||
|
||||
if form.getvalue('new_userlist') is not None:
|
||||
name = "userlist " + form.getvalue('new_userlist') + "\n"
|
||||
|
|
160
app/sql.py
160
app/sql.py
|
@ -123,7 +123,8 @@ def add_setting_for_new_group(group_id):
|
|||
group_id = str(group_id)
|
||||
data_source = [
|
||||
{'param': 'time_zone', 'value': 'UTC', 'section': 'main', 'desc': 'Time Zone', 'group': group_id},
|
||||
{'param': 'proxy', 'value': '', 'section': 'main', 'desc': 'IP address and port of the proxy server . Use proto://ip:port',
|
||||
{'param': 'proxy', 'value': '', 'section': 'main',
|
||||
'desc': 'IP address and port of the proxy server . Use proto://ip:port',
|
||||
'group': group_id},
|
||||
{'param': 'session_ttl', 'value': '5', 'section': 'main', 'desc': 'TTL for a user session (in days)',
|
||||
'group': group_id},
|
||||
|
@ -141,7 +142,8 @@ def add_setting_for_new_group(group_id):
|
|||
'desc': 'Enable getting logs from a syslog server; (0 - no, 1 - yes)', 'group': group_id},
|
||||
{'param': 'syslog_server', 'value': '', 'section': 'logs', 'desc': 'IP address of the syslog_server',
|
||||
'group': group_id},
|
||||
{'param': 'stats_user', 'value': 'admin', 'section': 'haproxy', 'desc': 'Username for accessing HAProxy stats page',
|
||||
{'param': 'stats_user', 'value': 'admin', 'section': 'haproxy',
|
||||
'desc': 'Username for accessing HAProxy stats page',
|
||||
'group': group_id},
|
||||
{'param': 'stats_password', 'value': 'password', 'section': 'haproxy',
|
||||
'desc': 'Password for accessing HAProxy stats page', 'group': group_id},
|
||||
|
@ -151,9 +153,11 @@ def add_setting_for_new_group(group_id):
|
|||
'group': group_id},
|
||||
{'param': 'haproxy_dir', 'value': '/etc/haproxy', 'section': 'haproxy', 'desc': 'Path to the HAProxy directory',
|
||||
'group': group_id},
|
||||
{'param': 'haproxy_config_path', 'value': '/etc/haproxy/haproxy.cfg', 'section': 'haproxy', 'desc': 'Path to the HAProxy configuration file',
|
||||
{'param': 'haproxy_config_path', 'value': '/etc/haproxy/haproxy.cfg', 'section': 'haproxy',
|
||||
'desc': 'Path to the HAProxy configuration file',
|
||||
'group': group_id},
|
||||
{'param': 'server_state_file', 'value': '/etc/haproxy/haproxy.state', 'section': 'haproxy', 'desc': 'Path to the HAProxy state file',
|
||||
{'param': 'server_state_file', 'value': '/etc/haproxy/haproxy.state', 'section': 'haproxy',
|
||||
'desc': 'Path to the HAProxy state file',
|
||||
'group': group_id},
|
||||
{'param': 'haproxy_sock', 'value': '/var/run/haproxy.sock', 'section': 'haproxy',
|
||||
'desc': 'Path to the HAProxy sock file', 'group': group_id},
|
||||
|
@ -161,7 +165,8 @@ def add_setting_for_new_group(group_id):
|
|||
'group': group_id},
|
||||
{'param': 'nginx_path_logs', 'value': '/var/log/nginx/', 'section': 'nginx',
|
||||
'desc': 'NGINX error log', 'group': group_id},
|
||||
{'param': 'nginx_stats_user', 'value': 'admin', 'section': 'nginx', 'desc': 'Username for accessing NGINX stats page',
|
||||
{'param': 'nginx_stats_user', 'value': 'admin', 'section': 'nginx',
|
||||
'desc': 'Username for accessing NGINX stats page',
|
||||
'group': group_id},
|
||||
{'param': 'nginx_stats_password', 'value': 'password', 'section': 'nginx',
|
||||
'desc': 'Password for accessing NGINX stats page', 'group': group_id},
|
||||
|
@ -175,22 +180,26 @@ def add_setting_for_new_group(group_id):
|
|||
'desc': 'Path to the main NGINX configuration file', 'group': group_id},
|
||||
{'param': 'ldap_enable', 'value': '0', 'section': 'ldap', 'desc': 'Enable LDAP (1 - yes, 0 - no)',
|
||||
'group': group_id},
|
||||
{'param': 'ldap_server', 'value': '', 'section': 'ldap', 'desc': 'IP address of the LDAP server', 'group': group_id},
|
||||
{'param': 'ldap_port', 'value': '389', 'section': 'ldap', 'desc': 'LDAP port (port 389 or 636 is used by default)',
|
||||
{'param': 'ldap_server', 'value': '', 'section': 'ldap', 'desc': 'IP address of the LDAP server',
|
||||
'group': group_id},
|
||||
{'param': 'ldap_port', 'value': '389', 'section': 'ldap',
|
||||
'desc': 'LDAP port (port 389 or 636 is used by default)',
|
||||
'group': group_id},
|
||||
{'param': 'ldap_user', 'value': '', 'section': 'ldap',
|
||||
'desc': 'LDAP username. Format: user@domain.com', 'group': group_id},
|
||||
{'param': 'ldap_password', 'value': '', 'section': 'ldap', 'desc': 'LDAP password', 'group': group_id},
|
||||
{'param': 'ldap_base', 'value': '', 'section': 'ldap', 'desc': 'Base domain. Example: dc=domain, dc=com',
|
||||
'group': group_id},
|
||||
{'param': 'ldap_domain', 'value': '', 'section': 'ldap', 'desc': 'LDAP domain for logging in', 'group': group_id},
|
||||
{'param': 'ldap_domain', 'value': '', 'section': 'ldap', 'desc': 'LDAP domain for logging in',
|
||||
'group': group_id},
|
||||
{'param': 'ldap_class_search', 'value': 'user', 'section': 'ldap', 'desc': 'Class for searching the user',
|
||||
'group': group_id},
|
||||
{'param': 'ldap_user_attribute', 'value': 'sAMAccountName', 'section': 'ldap',
|
||||
'desc': 'Attribute to search users by', 'group': group_id},
|
||||
{'param': 'ldap_search_field', 'value': 'mail', 'section': 'ldap',
|
||||
'desc': 'User\'s email address', 'group': group_id},
|
||||
{'param': 'ldap_type', 'value': '0', 'section': 'ldap', 'desc': 'Use LDAPS (1 - yes, 0 - no)', 'group': group_id},
|
||||
{'param': 'ldap_type', 'value': '0', 'section': 'ldap', 'desc': 'Use LDAPS (1 - yes, 0 - no)',
|
||||
'group': group_id},
|
||||
{'param': 'apache_path_logs', 'value': '/var/log/httpd/', 'section': 'apache',
|
||||
'desc': 'The path for Apache logs', 'group': group_id},
|
||||
{'param': 'apache_stats_user', 'value': 'admin', 'section': 'apache',
|
||||
|
@ -253,7 +262,8 @@ def update_group(name, descript, group_id):
|
|||
def add_server(hostname, ip, group, typeip, enable, master, cred, port, desc, haproxy, nginx, apache, firewall):
|
||||
try:
|
||||
Server.insert(hostname=hostname, ip=ip, groups=group, type_ip=typeip, enable=enable, master=master, cred=cred,
|
||||
port=port, desc=desc, haproxy=haproxy, nginx=nginx, apache=apache, firewall_enable=firewall).execute()
|
||||
port=port, desc=desc, haproxy=haproxy, nginx=nginx, apache=apache,
|
||||
firewall_enable=firewall).execute()
|
||||
return True
|
||||
except Exception as e:
|
||||
out_error(e)
|
||||
|
@ -289,7 +299,8 @@ def update_hapwi_server(server_id, alert, metrics, active, service_name):
|
|||
out_error(e)
|
||||
|
||||
|
||||
def update_server(hostname, group, typeip, enable, master, server_id, cred, port, desc, haproxy, nginx, apache, firewall, protected):
|
||||
def update_server(hostname, group, typeip, enable, master, server_id, cred, port, desc, haproxy, nginx, apache,
|
||||
firewall, protected):
|
||||
try:
|
||||
server_update = Server.update(hostname=hostname,
|
||||
groups=group,
|
||||
|
@ -512,7 +523,8 @@ def select_servers(**kwargs):
|
|||
if kwargs.get("hostname"):
|
||||
sql = """select * from `servers` where `hostname` = '{}' """.format(kwargs.get("hostname"))
|
||||
if kwargs.get("id_hostname"):
|
||||
sql = """select * from `servers` where `hostname` ='{}' or id = '{}' or ip = '{}'""".format(kwargs.get("id_hostname"), kwargs.get("id_hostname"), kwargs.get("id_hostname"))
|
||||
sql = """select * from `servers` where `hostname` ='{}' or id = '{}' or ip = '{}'""".format(
|
||||
kwargs.get("id_hostname"), kwargs.get("id_hostname"), kwargs.get("id_hostname"))
|
||||
if kwargs.get("server") and kwargs.get("keep_alive"):
|
||||
sql = """select active from `servers` where `ip` = '{}' """.format(kwargs.get("server"))
|
||||
else:
|
||||
|
@ -535,7 +547,8 @@ def select_servers(**kwargs):
|
|||
if kwargs.get("hostname"):
|
||||
sql = """select * from servers where hostname = '{}' """.format(kwargs.get("hostname"))
|
||||
if kwargs.get("id_hostname"):
|
||||
sql = """select * from servers where hostname = '{}' or id = '{}' or ip = '{}'""".format(kwargs.get("id_hostname"), kwargs.get("id_hostname"), kwargs.get("id_hostname"))
|
||||
sql = """select * from servers where hostname = '{}' or id = '{}' or ip = '{}'""".format(
|
||||
kwargs.get("id_hostname"), kwargs.get("id_hostname"), kwargs.get("id_hostname"))
|
||||
if kwargs.get("server") and kwargs.get("keep_alive"):
|
||||
sql = """select active from servers where ip = '{}' """.format(kwargs.get("server"))
|
||||
|
||||
|
@ -810,7 +823,7 @@ def get_dick_permit(**kwargs):
|
|||
ip = ''
|
||||
|
||||
if kwargs.get('virt'):
|
||||
type_ip = ""
|
||||
type_ip = "and type_ip = 1"
|
||||
else:
|
||||
type_ip = "and type_ip = 0"
|
||||
if kwargs.get('disable') == 0:
|
||||
|
@ -831,16 +844,30 @@ def get_dick_permit(**kwargs):
|
|||
try:
|
||||
if mysql_enable == '1':
|
||||
if grp == '1' and not only_group:
|
||||
sql = """ select * from `servers` order by `pos` desc"""
|
||||
sql = """ select * from `servers` where {} {} {} {} {} {} {} order by `pos` desc""".format(disable,
|
||||
type_ip,
|
||||
nginx,
|
||||
haproxy,
|
||||
keepalived,
|
||||
apache,
|
||||
ip)
|
||||
else:
|
||||
sql = """ select * from `servers` where `groups` = {group} and ({disable}) {type_ip} {ip} {haproxy} {nginx} {keepalived} {apache} order by `pos` desc
|
||||
""".format(group=grp, disable=disable, type_ip=type_ip, ip=ip, haproxy=haproxy, nginx=nginx, keepalived=keepalived, apache=apache)
|
||||
""".format(group=grp, disable=disable, type_ip=type_ip, ip=ip, haproxy=haproxy, nginx=nginx,
|
||||
keepalived=keepalived, apache=apache)
|
||||
else:
|
||||
if grp == '1' and not only_group:
|
||||
sql = """ select * from servers order by pos"""
|
||||
sql = """ select * from servers where {} {} {} {} {} {} {} order by pos""".format(disable,
|
||||
type_ip,
|
||||
nginx,
|
||||
haproxy,
|
||||
keepalived,
|
||||
apache,
|
||||
ip)
|
||||
else:
|
||||
sql = """ select * from servers where groups = '{group}' and ({disable}) {type_ip} {ip} {haproxy} {nginx} {keepalived} {apache} order by pos
|
||||
""".format(group=grp, disable=disable, type_ip=type_ip, ip=ip, haproxy=haproxy, nginx=nginx, keepalived=keepalived, apache=apache)
|
||||
""".format(group=grp, disable=disable, type_ip=type_ip, ip=ip, haproxy=haproxy, nginx=nginx,
|
||||
keepalived=keepalived, apache=apache)
|
||||
|
||||
except Exception as e:
|
||||
print(str(e))
|
||||
|
@ -1081,6 +1108,7 @@ def update_slack(token, chanel, group, slack_id):
|
|||
else:
|
||||
return True
|
||||
|
||||
|
||||
def insert_new_option(saved_option, group):
|
||||
try:
|
||||
Option.insert(options=saved_option, groups=group).execute()
|
||||
|
@ -1095,7 +1123,8 @@ def select_options(**kwargs):
|
|||
if kwargs.get('option'):
|
||||
query = Option.select().where(Option.options == kwargs.get('option'))
|
||||
elif kwargs.get('group'):
|
||||
query = Option.select(Option.options).where((Option.groups == kwargs.get('group')) & (Option.options.startswith(kwargs.get('term'))))
|
||||
query = Option.select(Option.options).where(
|
||||
(Option.groups == kwargs.get('group')) & (Option.options.startswith(kwargs.get('term'))))
|
||||
else:
|
||||
query = Option.select()
|
||||
try:
|
||||
|
@ -1271,7 +1300,8 @@ def select_waf_metrics(serv, **kwargs):
|
|||
date_from = "and date > now() - INTERVAL 720 minute group by `date` div 500"
|
||||
else:
|
||||
date_from = "and date > now() - INTERVAL 30 minute"
|
||||
sql = """ select * from waf_metrics where serv = '{serv}' {date_from} order by `date` desc limit 60 """.format(serv=serv, date_from=date_from)
|
||||
sql = """ select * from waf_metrics where serv = '{serv}' {date_from} order by `date` desc limit 60 """.format(
|
||||
serv=serv, date_from=date_from)
|
||||
else:
|
||||
if kwargs.get('time_range') == '60':
|
||||
date_from = "and date > datetime('now', '-60 minutes', 'localtime') and rowid % 2 = 0"
|
||||
|
@ -1283,7 +1313,8 @@ def select_waf_metrics(serv, **kwargs):
|
|||
date_from = "and date > datetime('now', '-720 minutes', 'localtime') and rowid % 9 = 0"
|
||||
else:
|
||||
date_from = "and date > datetime('now', '-30 minutes', 'localtime')"
|
||||
sql = """ select * from (select * from waf_metrics where serv = '{serv}' {date_from} order by `date`) order by `date` """.format(serv=serv, date_from=date_from)
|
||||
sql = """ select * from (select * from waf_metrics where serv = '{serv}' {date_from} order by `date`) order by `date` """.format(
|
||||
serv=serv, date_from=date_from)
|
||||
|
||||
try:
|
||||
cursor.execute(sql)
|
||||
|
@ -1307,7 +1338,8 @@ def select_nginx_metrics(serv, **kwargs):
|
|||
date_from = "and date > now() - INTERVAL 720 minute group by `date` div 500"
|
||||
else:
|
||||
date_from = "and date > now() - INTERVAL 30 minute"
|
||||
sql = """ select * from nginx_metrics where serv = '{serv}' {date_from} order by `date` desc limit 60 """.format(serv=serv, date_from=date_from)
|
||||
sql = """ select * from nginx_metrics where serv = '{serv}' {date_from} order by `date` desc limit 60 """.format(
|
||||
serv=serv, date_from=date_from)
|
||||
else:
|
||||
if kwargs.get('time_range') == '60':
|
||||
date_from = "and date > datetime('now', '-60 minutes', 'localtime') and rowid % 2 = 0"
|
||||
|
@ -1319,7 +1351,8 @@ def select_nginx_metrics(serv, **kwargs):
|
|||
date_from = "and date > datetime('now', '-720 minutes', 'localtime') and rowid % 9 = 0"
|
||||
else:
|
||||
date_from = "and date > datetime('now', '-30 minutes', 'localtime')"
|
||||
sql = """ select * from (select * from nginx_metrics where serv = '{serv}' {date_from} order by `date`) order by `date` """.format(serv=serv, date_from=date_from)
|
||||
sql = """ select * from (select * from nginx_metrics where serv = '{serv}' {date_from} order by `date`) order by `date` """.format(
|
||||
serv=serv, date_from=date_from)
|
||||
|
||||
try:
|
||||
cursor.execute(sql)
|
||||
|
@ -1497,7 +1530,8 @@ def select_metrics(serv, **kwargs):
|
|||
date_from = "and date > now() - INTERVAL 720 minute group by `date` div 500"
|
||||
else:
|
||||
date_from = "and date > now() - INTERVAL 30 minute"
|
||||
sql = """ select * from metrics where serv = '{serv}' {date_from} order by `date` asc """.format(serv=serv, date_from=date_from)
|
||||
sql = """ select * from metrics where serv = '{serv}' {date_from} order by `date` asc """.format(serv=serv,
|
||||
date_from=date_from)
|
||||
else:
|
||||
if kwargs.get('time_range') == '60':
|
||||
date_from = "and date > datetime('now', '-60 minutes', 'localtime') and rowid % 2 = 0"
|
||||
|
@ -1510,7 +1544,8 @@ def select_metrics(serv, **kwargs):
|
|||
else:
|
||||
date_from = "and date > datetime('now', '-30 minutes', 'localtime')"
|
||||
|
||||
sql = """ select * from (select * from metrics where serv = '{serv}' {date_from} order by `date`) order by `date` """.format(serv=serv, date_from=date_from)
|
||||
sql = """ select * from (select * from metrics where serv = '{serv}' {date_from} order by `date`) order by `date` """.format(
|
||||
serv=serv, date_from=date_from)
|
||||
|
||||
try:
|
||||
cursor.execute(sql)
|
||||
|
@ -1534,7 +1569,8 @@ def select_metrics_http(serv, **kwargs):
|
|||
date_from = "and date > now() - INTERVAL 720 minute group by `date` div 500"
|
||||
else:
|
||||
date_from = "and date > now() - INTERVAL 30 minute"
|
||||
sql = """ select * from metrics_http_status where serv = '{serv}' {date_from} order by `date` desc """.format(serv=serv, date_from=date_from)
|
||||
sql = """ select * from metrics_http_status where serv = '{serv}' {date_from} order by `date` desc """.format(
|
||||
serv=serv, date_from=date_from)
|
||||
else:
|
||||
if kwargs.get('time_range') == '60':
|
||||
date_from = "and date > datetime('now', '-60 minutes', 'localtime') and rowid % 2 = 0"
|
||||
|
@ -1547,7 +1583,8 @@ def select_metrics_http(serv, **kwargs):
|
|||
else:
|
||||
date_from = "and date > datetime('now', '-30 minutes', 'localtime')"
|
||||
|
||||
sql = """ select * from (select * from metrics_http_status where serv = '{serv}' {date_from} order by `date`) order by `date` """.format(serv=serv, date_from=date_from)
|
||||
sql = """ select * from (select * from metrics_http_status where serv = '{serv}' {date_from} order by `date`) order by `date` """.format(
|
||||
serv=serv, date_from=date_from)
|
||||
|
||||
try:
|
||||
cursor.execute(sql)
|
||||
|
@ -1586,7 +1623,8 @@ def select_servers_metrics():
|
|||
if group_id == 1:
|
||||
query = Server.select(Server.ip).where((Server.enable == 1) & (Server.metrics == 1))
|
||||
else:
|
||||
query = Server.select(Server.ip).where((Server.enable == 1) & (Server.groups == group_id) & (Server.metrics == 1))
|
||||
query = Server.select(Server.ip).where(
|
||||
(Server.enable == 1) & (Server.groups == group_id) & (Server.metrics == 1))
|
||||
try:
|
||||
query_res = query.execute()
|
||||
except Exception as e:
|
||||
|
@ -1824,7 +1862,8 @@ def get_setting(param, **kwargs):
|
|||
return query_res
|
||||
else:
|
||||
for setting in query_res:
|
||||
if param in ('nginx_stats_port', 'session_ttl', 'token_ttl', 'stats_port', 'haproxy_sock_port', 'ldap_type',
|
||||
if param in (
|
||||
'nginx_stats_port', 'session_ttl', 'token_ttl', 'stats_port', 'haproxy_sock_port', 'ldap_type',
|
||||
'ldap_port', 'ldap_enable', 'log_time_storage', 'syslog_server_enable', 'smon_check_interval',
|
||||
'checker_check_interval', 'port_scan_interval', 'smon_keep_history_range', 'checker_keep_history_range',
|
||||
'portscanner_keep_history_range', 'checker_maxconn_threshold', 'apache_stats_port'):
|
||||
|
@ -2105,7 +2144,8 @@ def insert_smon(server, port, enable, proto, uri, body, group, desc, telegram, s
|
|||
|
||||
try:
|
||||
last_id = SMON.insert(ip=server, port=port, en=enable, desc=desc, group=group, http=http, body=body,
|
||||
telegram_channel_id=telegram, slack_channel_id=slack, user_group=user_group, status='3').execute()
|
||||
telegram_channel_id=telegram, slack_channel_id=slack, user_group=user_group,
|
||||
status='3').execute()
|
||||
except Exception as e:
|
||||
out_error(e)
|
||||
return False
|
||||
|
@ -2175,7 +2215,8 @@ def delete_smon(smon_id, user_group):
|
|||
|
||||
def update_smon(smon_id, ip, port, body, telegram, slack, group, desc, en):
|
||||
funct.check_user_group()
|
||||
query = (SMON.update(ip=ip, port=port, body=body, telegram_channel_id=telegram, slack_channel_id=slack, group=group, desc=desc, en=en)
|
||||
query = (SMON.update(ip=ip, port=port, body=body, telegram_channel_id=telegram, slack_channel_id=slack, group=group,
|
||||
desc=desc, en=en)
|
||||
.where(SMON.id == smon_id))
|
||||
try:
|
||||
query.execute()
|
||||
|
@ -2371,9 +2412,11 @@ def insert_alerts(user_group, level, ip, port, message, service):
|
|||
def select_alerts(user_group):
|
||||
cursor = conn.cursor()
|
||||
if mysql_enable == '1':
|
||||
sql = """ select level, message, `date` from alerts where user_group = '%s' and `date` <= (now()+ INTERVAL 10 second) """ % (user_group)
|
||||
sql = """ select level, message, `date` from alerts where user_group = '%s' and `date` <= (now()+ INTERVAL 10 second) """ % (
|
||||
user_group)
|
||||
else:
|
||||
sql = """ select level, message, `date` from alerts where user_group = '%s' and `date` >= datetime('now', '-20 second', 'localtime') and `date` <= datetime('now', 'localtime') ; """ % (user_group)
|
||||
sql = """ select level, message, `date` from alerts where user_group = '%s' and `date` >= datetime('now', '-20 second', 'localtime') and `date` <= datetime('now', 'localtime') ; """ % (
|
||||
user_group)
|
||||
try:
|
||||
cursor.execute(sql)
|
||||
except Exception as e:
|
||||
|
@ -2631,12 +2674,14 @@ def delete_provider(provider_id):
|
|||
return False
|
||||
|
||||
|
||||
def add_server_aws(region, instance_type, public_ip, floating_ip, volume_size, ssh_key_name, name, os, firewall, provider_id, group_id, status, delete_on_termination, volume_type):
|
||||
def add_server_aws(region, instance_type, public_ip, floating_ip, volume_size, ssh_key_name, name, os, firewall,
|
||||
provider_id, group_id, status, delete_on_termination, volume_type):
|
||||
try:
|
||||
ProvisionedServers.insert(region=region, instance_type=instance_type, public_ip=public_ip,
|
||||
floating_ip=floating_ip, volume_size=volume_size, volume_type=volume_type,
|
||||
ssh_key_name=ssh_key_name, name=name, os=os, firewall=firewall,
|
||||
provider_id=provider_id, group_id=group_id, delete_on_termination=delete_on_termination,
|
||||
provider_id=provider_id, group_id=group_id,
|
||||
delete_on_termination=delete_on_termination,
|
||||
type='aws', status=status, date=funct.get_data('regular')).execute()
|
||||
return True
|
||||
except Exception as e:
|
||||
|
@ -2647,8 +2692,10 @@ def add_server_aws(region, instance_type, public_ip, floating_ip, volume_size, s
|
|||
def add_server_gcore(project, region, instance_type, network_type, network_name, volume_size, ssh_key_name, name, os,
|
||||
firewall, provider_id, group_id, status, delete_on_termination, volume_type):
|
||||
try:
|
||||
ProvisionedServers.insert(region=region, instance_type=instance_type, public_ip=network_type, network_name=network_name,
|
||||
volume_size=volume_size, volume_type=volume_type, ssh_key_name=ssh_key_name, name=name,
|
||||
ProvisionedServers.insert(region=region, instance_type=instance_type, public_ip=network_type,
|
||||
network_name=network_name,
|
||||
volume_size=volume_size, volume_type=volume_type, ssh_key_name=ssh_key_name,
|
||||
name=name,
|
||||
os=os, firewall=firewall, provider_id=provider_id, group_id=group_id, type='gcore',
|
||||
delete_on_termination=delete_on_termination, project=project, status=status,
|
||||
date=funct.get_data('regular')).execute()
|
||||
|
@ -2661,7 +2708,8 @@ def add_server_gcore(project, region, instance_type, network_type, network_name,
|
|||
def add_server_do(region, size, privet_net, floating_ip, ssh_ids, ssh_key_name, name, oss, firewall, monitoring, backup,
|
||||
provider_id, group_id, status):
|
||||
try:
|
||||
ProvisionedServers.insert(region=region, instance_type=size, private_networking=privet_net, floating_ip=floating_ip,
|
||||
ProvisionedServers.insert(region=region, instance_type=size, private_networking=privet_net,
|
||||
floating_ip=floating_ip,
|
||||
ssh_ids=ssh_ids, ssh_key_name=ssh_key_name, name=name, os=oss, firewall=firewall,
|
||||
monitoring=monitoring, backup=backup, provider_id=provider_id, group_id=group_id,
|
||||
type='do', status=status, date=funct.get_data('regular')).execute()
|
||||
|
@ -2691,7 +2739,8 @@ def select_gcore_server(server_id):
|
|||
prov_serv = ProvisionedServers.alias()
|
||||
query = (
|
||||
prov_serv.select(prov_serv.region, prov_serv.instance_type, prov_serv.public_ip, prov_serv.floating_ip,
|
||||
prov_serv.volume_size, prov_serv.ssh_key_name, prov_serv.name, prov_serv.os, prov_serv.firewall,
|
||||
prov_serv.volume_size, prov_serv.ssh_key_name, prov_serv.name, prov_serv.os,
|
||||
prov_serv.firewall,
|
||||
prov_serv.provider_id, prov_serv.group_id, prov_serv.id, prov_serv.delete_on_termination,
|
||||
prov_serv.project, prov_serv.network_name, prov_serv.volume_type, prov_serv.name_template)
|
||||
.where(prov_serv.id == server_id))
|
||||
|
@ -2705,9 +2754,11 @@ def select_gcore_server(server_id):
|
|||
|
||||
def select_do_server(server_id):
|
||||
prov_serv = ProvisionedServers.alias()
|
||||
query = (prov_serv.select(prov_serv.region, prov_serv.instance_type, prov_serv.private_networking, prov_serv.floating_ip,
|
||||
query = (
|
||||
prov_serv.select(prov_serv.region, prov_serv.instance_type, prov_serv.private_networking, prov_serv.floating_ip,
|
||||
prov_serv.ssh_ids, prov_serv.ssh_key_name, prov_serv.name, prov_serv.os, prov_serv.firewall,
|
||||
prov_serv.backup, prov_serv.monitoring, prov_serv.provider_id, prov_serv.group_id, prov_serv.id)
|
||||
prov_serv.backup, prov_serv.monitoring, prov_serv.provider_id, prov_serv.group_id,
|
||||
prov_serv.id)
|
||||
.where(prov_serv.id == server_id))
|
||||
try:
|
||||
query_res = query.execute()
|
||||
|
@ -2756,7 +2807,8 @@ def update_provisioning_server_error(status, user_group_id, name, provider_id):
|
|||
out_error(e)
|
||||
|
||||
|
||||
def update_server_aws(region, size, public_ip, floating_ip, volume_size, ssh_name, workspace, oss, firewall, provider, group, status, server_id, delete_on_termination, volume_type):
|
||||
def update_server_aws(region, size, public_ip, floating_ip, volume_size, ssh_name, workspace, oss, firewall, provider,
|
||||
group, status, server_id, delete_on_termination, volume_type):
|
||||
query = ProvisionedServers.update(region=region, instance_type=size, public_ip=public_ip, floating_ip=floating_ip,
|
||||
volume_size=volume_size, ssh_key_name=ssh_name, name=workspace, os=oss,
|
||||
firewall=firewall, provider_id=provider, group_id=group, status=status,
|
||||
|
@ -2772,7 +2824,8 @@ def update_server_aws(region, size, public_ip, floating_ip, volume_size, ssh_nam
|
|||
|
||||
def update_server_gcore(region, size, network_type, network_name, volume_size, ssh_name, workspace, oss, firewall,
|
||||
provider, group, status, server_id, delete_on_termination, volume_type, project):
|
||||
query = ProvisionedServers.update(region=region, instance_type=size, public_ip=network_type, network_name=network_name,
|
||||
query = ProvisionedServers.update(region=region, instance_type=size, public_ip=network_type,
|
||||
network_name=network_name,
|
||||
volume_size=volume_size, ssh_key_name=ssh_name, name=workspace, os=oss,
|
||||
firewall=firewall, provider_id=provider, group_id=group, status=status,
|
||||
delete_on_termination=delete_on_termination, volume_type=volume_type,
|
||||
|
@ -2814,13 +2867,16 @@ def select_provisioned_servers(**kwargs):
|
|||
query = (
|
||||
prov_serv.select(prov_serv.id, prov_serv.name, prov_serv.provider_id, prov_serv.type,
|
||||
prov_serv.group_id, prov_serv.instance_type, prov_serv.status, prov_serv.date,
|
||||
prov_serv.region, prov_serv.os, prov_serv.IP, prov_serv.last_error, prov_serv.name_template)
|
||||
prov_serv.region, prov_serv.os, prov_serv.IP, prov_serv.last_error,
|
||||
prov_serv.name_template)
|
||||
.where((prov_serv.name == kwargs.get('new')) &
|
||||
(prov_serv.group_id == kwargs.get('group')) &
|
||||
(prov_serv.type == kwargs.get('type'))))
|
||||
else:
|
||||
query = prov_serv.select(prov_serv.id, prov_serv.name, prov_serv.provider_id, prov_serv.type, prov_serv.group_id,
|
||||
prov_serv.instance_type, prov_serv.status, prov_serv.date, prov_serv.region, prov_serv.os,
|
||||
query = prov_serv.select(prov_serv.id, prov_serv.name, prov_serv.provider_id, prov_serv.type,
|
||||
prov_serv.group_id,
|
||||
prov_serv.instance_type, prov_serv.status, prov_serv.date, prov_serv.region,
|
||||
prov_serv.os,
|
||||
prov_serv.IP, prov_serv.last_error, prov_serv.name_template)
|
||||
try:
|
||||
query_res = query.execute()
|
||||
|
@ -2917,7 +2973,8 @@ def update_user_services(services, user_id):
|
|||
|
||||
def insert_or_update_service_setting(server_id, service, setting, value):
|
||||
try:
|
||||
ServiceSetting.insert(server_id=server_id, service=service, setting=setting, value=value).on_conflict('replace').execute()
|
||||
ServiceSetting.insert(server_id=server_id, service=service, setting=setting, value=value).on_conflict(
|
||||
'replace').execute()
|
||||
except Exception as e:
|
||||
out_error(e)
|
||||
return False
|
||||
|
@ -3089,7 +3146,8 @@ def select_remote_path_from_version(server_ip: str, service: str, local_path: st
|
|||
return query_res
|
||||
|
||||
|
||||
def insert_system_info(server_id: int, os_info: str, sys_info: str, cpu: str, ram: str, network: str, disks: str) -> bool:
|
||||
def insert_system_info(server_id: int, os_info: str, sys_info: str, cpu: str, ram: str, network: str,
|
||||
disks: str) -> bool:
|
||||
try:
|
||||
SystemInfo.insert(server_id=server_id, os_info=os_info, sys_info=sys_info, cpu=cpu, ram=ram,
|
||||
network=network, disks=disks).on_conflict('replace').execute()
|
||||
|
@ -3241,7 +3299,8 @@ def select_user_all():
|
|||
|
||||
def insert_new_git(server_id, service_id, repo, branch, period, cred, description):
|
||||
try:
|
||||
GitSetting.insert(server_id=server_id, service_id=service_id, repo=repo, branch=branch, period=period, cred_id=cred,
|
||||
GitSetting.insert(server_id=server_id, service_id=service_id, repo=repo, branch=branch, period=period,
|
||||
cred_id=cred,
|
||||
description=description).execute()
|
||||
except Exception as e:
|
||||
out_error(e)
|
||||
|
@ -3252,7 +3311,8 @@ def insert_new_git(server_id, service_id, repo, branch, period, cred, descriptio
|
|||
|
||||
def select_gits(**kwargs):
|
||||
if kwargs.get("server_id") is not None and kwargs.get("service_id") is not None:
|
||||
query = GitSetting.select().where((GitSetting.server_id == kwargs.get("server_id")) & (GitSetting.service_id == kwargs.get("service_id")))
|
||||
query = GitSetting.select().where(
|
||||
(GitSetting.server_id == kwargs.get("server_id")) & (GitSetting.service_id == kwargs.get("service_id")))
|
||||
else:
|
||||
query = GitSetting.select().order_by(GitSetting.id)
|
||||
|
||||
|
|
Loading…
Reference in New Issue