mirror of https://github.com/Aidaho12/haproxy-wi
parent
3c773dd953
commit
0173487eea
53
app/funct.py
53
app/funct.py
|
@ -333,7 +333,7 @@ def get_user_id(**kwargs):
|
|||
return user_id
|
||||
|
||||
|
||||
def is_admin(**kwargs):
|
||||
def is_admin(level=1):
|
||||
import sql
|
||||
cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE"))
|
||||
user_id = cookie.get('uuid')
|
||||
|
@ -342,10 +342,6 @@ def is_admin(**kwargs):
|
|||
except Exception:
|
||||
role = 4
|
||||
pass
|
||||
level = kwargs.get("level")
|
||||
|
||||
if level is None:
|
||||
level = 1
|
||||
|
||||
try:
|
||||
return True if role <= level else False
|
||||
|
@ -353,18 +349,13 @@ def is_admin(**kwargs):
|
|||
return False
|
||||
|
||||
|
||||
def page_for_admin(**kwargs):
|
||||
if kwargs.get("level"):
|
||||
give_level = kwargs.get("level")
|
||||
else:
|
||||
give_level = 1
|
||||
|
||||
if not is_admin(level=give_level):
|
||||
def page_for_admin(given_level=1) -> None:
|
||||
if not is_admin(level=given_level):
|
||||
print('<meta http-equiv="refresh" content="0; url=/">')
|
||||
return
|
||||
|
||||
|
||||
def return_ssh_keys_path(server_ip, **kwargs):
|
||||
def return_ssh_keys_path(server_ip: str, **kwargs):
|
||||
import sql
|
||||
lib_path = get_config_var('main', 'lib_path')
|
||||
ssh_enable = ''
|
||||
|
@ -373,17 +364,15 @@ def return_ssh_keys_path(server_ip, **kwargs):
|
|||
ssh_key_name = ''
|
||||
|
||||
if kwargs.get('id'):
|
||||
for sshs in sql.select_ssh(id=kwargs.get('id')):
|
||||
ssh_enable = sshs.enable
|
||||
ssh_user_name = sshs.username
|
||||
ssh_user_password = sshs.password
|
||||
ssh_key_name = lib_path + '/keys/%s.pem' % sshs.name
|
||||
sshs = sql.select_ssh(id=kwargs.get('id'))
|
||||
else:
|
||||
for sshs in sql.select_ssh(serv=server_ip):
|
||||
ssh_enable = sshs.enable
|
||||
ssh_user_name = sshs.username
|
||||
ssh_user_password = sshs.password
|
||||
ssh_key_name = lib_path + '/keys/%s.pem' % sshs.name
|
||||
sshs = sql.select_ssh(serv=server_ip)
|
||||
|
||||
for ssh in sshs:
|
||||
ssh_enable = ssh.enable
|
||||
ssh_user_name = ssh.username
|
||||
ssh_user_password = ssh.password
|
||||
ssh_key_name = f'{lib_path}/keys/{ssh.name}.pem'
|
||||
|
||||
return ssh_enable, ssh_user_name, ssh_user_password, ssh_key_name
|
||||
|
||||
|
@ -514,19 +503,15 @@ def get_remote_sections(server_ip: str, service: str) -> str:
|
|||
remote_dir = service + '_dir'
|
||||
config_dir = sql.get_setting(remote_dir)
|
||||
config_dir = return_nice_path(config_dir)
|
||||
if service == 'nginx':
|
||||
section_name = 'server_name'
|
||||
commands = [
|
||||
'sudo grep {} {}* -R |grep -v \'${}\|#\'|awk \'{{print $1, $3}}\''.format(
|
||||
section_name, config_dir, section_name
|
||||
)]
|
||||
section_name = 'server_name'
|
||||
|
||||
elif service == 'apache':
|
||||
if service == 'apache':
|
||||
section_name = 'ServerName'
|
||||
commands = [
|
||||
'sudo grep {} {}*/*.conf -R |grep -v \'${}\|#\'|awk \'{{print $1, $3}}\''.format(
|
||||
section_name, config_dir, section_name
|
||||
)]
|
||||
|
||||
commands = [
|
||||
"sudo grep {} {}*/*.conf -R |grep -v '${{}}\|#'|awk '{{print $1, $3}}'".format(
|
||||
section_name, config_dir
|
||||
)]
|
||||
|
||||
backends = ssh_command(server_ip, commands)
|
||||
|
||||
|
|
84
app/sql.py
84
app/sql.py
|
@ -1554,7 +1554,7 @@ def insert_new_waf_rule(rule_name: str, rule_file: str, rule_description: str, s
|
|||
out_error(e)
|
||||
else:
|
||||
return last_id
|
||||
|
||||
|
||||
|
||||
|
||||
def delete_waf_server(server_id):
|
||||
|
@ -1704,7 +1704,7 @@ def select_haproxy_servers_metrics_for_master():
|
|||
|
||||
|
||||
def select_nginx_servers_metrics_for_master():
|
||||
query = Server.select(Server.ip).where(Server.nginx_metrics == 1)
|
||||
query = Server.select(Server.ip).where((Server.nginx_metrics == 1) & (Server.nginx == 1))
|
||||
try:
|
||||
query_res = query.execute()
|
||||
except Exception as e:
|
||||
|
@ -1714,7 +1714,10 @@ def select_nginx_servers_metrics_for_master():
|
|||
|
||||
|
||||
def select_apache_servers_metrics_for_master():
|
||||
query = Server.select(Server.ip).where(Server.apache_metrics == 1)
|
||||
query = Server.select(Server.ip).where(
|
||||
(Server.apache_metrics == 1)
|
||||
& (Server.apache == 1)
|
||||
)
|
||||
try:
|
||||
query_res = query.execute()
|
||||
except Exception as e:
|
||||
|
@ -2171,10 +2174,17 @@ def select_all_alerts(**kwargs):
|
|||
def select_nginx_alert(**kwargs):
|
||||
if kwargs.get("group") is not None:
|
||||
query = Server.select(Server.ip).where(
|
||||
(Server.nginx_alert == 1) & (Server.enable == 1) & (Server.groups == kwargs.get('group'))
|
||||
(Server.nginx_alert == 1)
|
||||
& (Server.enable == 1)
|
||||
& (Server.groups == kwargs.get('group'))
|
||||
& (Server.nginx == 1)
|
||||
)
|
||||
else:
|
||||
query = Server.select(Server.ip).where((Server.nginx_alert == 1) & (Server.enable == 1))
|
||||
query = Server.select(Server.ip).where(
|
||||
(Server.nginx_alert == 1)
|
||||
& (Server.enable == 1)
|
||||
& (Server.nginx == 1)
|
||||
)
|
||||
try:
|
||||
query_res = query.execute()
|
||||
except Exception as e:
|
||||
|
@ -2186,10 +2196,13 @@ def select_nginx_alert(**kwargs):
|
|||
def select_apache_alert(**kwargs):
|
||||
if kwargs.get("group") is not None:
|
||||
query = Server.select(Server.ip).where(
|
||||
(Server.apache_alert == 1) & (Server.enable == 1) & (Server.groups == kwargs.get('group'))
|
||||
(Server.apache_alert == 1)
|
||||
& (Server.enable == 1)
|
||||
& (Server.groups == kwargs.get('group'))
|
||||
& (Server.apache == 1)
|
||||
)
|
||||
else:
|
||||
query = Server.select(Server.ip).where((Server.apache_alert == 1) & (Server.enable == 1))
|
||||
query = Server.select(Server.ip).where((Server.apache_alert == 1) & (Server.enable == 1) & (Server.apache == 1))
|
||||
try:
|
||||
query_res = query.execute()
|
||||
except Exception as e:
|
||||
|
@ -2201,11 +2214,17 @@ def select_apache_alert(**kwargs):
|
|||
def select_keepalived_alert(**kwargs):
|
||||
if kwargs.get("group") is not None:
|
||||
query = Server.select(Server.ip).where(
|
||||
(Server.keepalived_alert == 1) & (Server.enable == 1) & (Server.groups == kwargs.get('group'))
|
||||
(Server.keepalived_alert == 1)
|
||||
& (Server.enable == 1)
|
||||
& (Server.groups == kwargs.get('group'))
|
||||
& (Server.keepalived == 1)
|
||||
)
|
||||
else:
|
||||
query = Server.select(Server.ip).where((Server.keepalived_alert == 1) & (Server.enable == 1))
|
||||
|
||||
query = Server.select(Server.ip).where(
|
||||
(Server.keepalived_alert == 1)
|
||||
& (Server.enable == 1)
|
||||
& (Server.keepalived == 1)
|
||||
)
|
||||
try:
|
||||
query_res = query.execute()
|
||||
except Exception as e:
|
||||
|
@ -3524,7 +3543,7 @@ def select_services():
|
|||
return query_res
|
||||
|
||||
|
||||
def select_service_name_by_id(service_id):
|
||||
def select_service_name_by_id(service_id: int) -> str:
|
||||
try:
|
||||
service = Services.get(Services.service_id == service_id).service
|
||||
except Exception as e:
|
||||
|
@ -3533,6 +3552,15 @@ def select_service_name_by_id(service_id):
|
|||
return service
|
||||
|
||||
|
||||
def select_service_id_by_slug(service_slug: str) -> int:
|
||||
try:
|
||||
service = Services.get(Services.slug == service_slug).service_id
|
||||
except Exception as e:
|
||||
return out_error(e)
|
||||
else:
|
||||
return service
|
||||
|
||||
|
||||
def insert_user_name(user_name):
|
||||
try:
|
||||
UserName.insert(UserName=user_name).execute()
|
||||
|
@ -3767,6 +3795,24 @@ def select_service(slug: str) -> str:
|
|||
return query_res
|
||||
|
||||
|
||||
def select_count_services(service: str) -> int:
|
||||
try:
|
||||
if service == 'haproxy':
|
||||
query_res = Server.select().where(Server.haproxy == 1).count()
|
||||
elif service == 'nginx':
|
||||
query_res = Server.select().where(Server.nginx == 1).count()
|
||||
elif service == 'keepalived':
|
||||
query_res = Server.select().where(Server.keepalived == 1).count()
|
||||
elif service == 'apache':
|
||||
query_res = Server.select().where(Server.apache == 1).count()
|
||||
else:
|
||||
query_res = Server.select().where().count()
|
||||
except Exception as e:
|
||||
out_error(e)
|
||||
else:
|
||||
return query_res
|
||||
|
||||
|
||||
def select_checker_service_status(server_id: int, service_id: int, service_check: str) -> int:
|
||||
try:
|
||||
service_check_status = ServiceStatus.get(
|
||||
|
@ -3780,12 +3826,22 @@ def select_checker_service_status(server_id: int, service_id: int, service_check
|
|||
return service_check_status
|
||||
|
||||
|
||||
def select_checker_services_status() -> tuple:
|
||||
try:
|
||||
services_check_status = ServiceStatus.select().execute()
|
||||
except Exception as e:
|
||||
return out_error(e)
|
||||
else:
|
||||
return services_check_status
|
||||
|
||||
|
||||
def inset_or_update_service_status(
|
||||
server_id: int, service_id: int, service_check: str, status: int
|
||||
) -> None:
|
||||
query = ServiceStatus.insert(
|
||||
server_id=server_id, service_id=service_id, service_check=service_check, status=status
|
||||
).on_conflict('replace')
|
||||
try:
|
||||
ServiceStatus.insert(
|
||||
server_id=server_id, service_id=service_id, service_check=service_check, status=status
|
||||
).on_conflict('replace').execute()
|
||||
query.execute()
|
||||
except Exception as e:
|
||||
out_error(e)
|
||||
|
|
Loading…
Reference in New Issue