mirror of https://github.com/Aidaho12/haproxy-wi
parent
ecaff8ef7a
commit
1fabdffb97
|
@ -139,7 +139,7 @@ def get_server(server_id, service):
|
|||
'master': s[6],
|
||||
'creds': s[7]
|
||||
}
|
||||
except:
|
||||
except Exception:
|
||||
data = ''
|
||||
return dict(server=data)
|
||||
|
||||
|
@ -171,9 +171,9 @@ def get_status(server_id, service):
|
|||
apache_stats_port = sql.get_setting('apache_stats_port')
|
||||
apache_stats_page = sql.get_setting('apache_stats_page')
|
||||
cmd = "curl -s -u %s:%s http://%s:%s/%s?auto |grep 'ServerVersion\|Processes\|ServerUptime:'" % \
|
||||
(
|
||||
apache_stats_user, apache_stats_password, s[2], apache_stats_port, apache_stats_page
|
||||
)
|
||||
(
|
||||
apache_stats_user, apache_stats_password, s[2], apache_stats_port, apache_stats_page
|
||||
)
|
||||
servers_with_status = list()
|
||||
try:
|
||||
out = funct.subprocess_execute(cmd)
|
||||
|
@ -192,13 +192,13 @@ def get_status(server_id, service):
|
|||
data = {server_id: {"error": "Cannot get status: " + str(e)}}
|
||||
|
||||
|
||||
except:
|
||||
except Exception:
|
||||
data = {server_id: {"error": "Cannot find the server"}}
|
||||
return dict(error=data)
|
||||
|
||||
return dict(status=data)
|
||||
|
||||
|
||||
|
||||
|
||||
def get_all_statuses():
|
||||
data = {}
|
||||
try:
|
||||
|
@ -215,13 +215,13 @@ def get_all_statuses():
|
|||
data[s[2]] = {}
|
||||
out = funct.subprocess_execute(cmd)
|
||||
data[s[2]] = return_dict_from_out(s[1], out[0])
|
||||
except:
|
||||
except Exception:
|
||||
data = {"error": "Cannot find the server"}
|
||||
return dict(error=data)
|
||||
|
||||
return dict(status=data)
|
||||
|
||||
|
||||
|
||||
|
||||
def actions(server_id, action, service):
|
||||
if action != 'start' and action != 'stop' and action != 'restart' and action != 'reload':
|
||||
return dict(status='wrong action')
|
||||
|
@ -244,9 +244,8 @@ def actions(server_id, action, service):
|
|||
return dict(status=data)
|
||||
except Exception as e:
|
||||
return dict(status=str(e))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def runtime(server_id):
|
||||
data = {}
|
||||
try:
|
||||
|
@ -256,36 +255,36 @@ def runtime(server_id):
|
|||
haproxy_sock = sql.get_setting('haproxy_sock')
|
||||
servers = check_permit_to_server(server_id)
|
||||
cmd = ['echo "%s" |sudo socat stdio %s' % (action, haproxy_sock)]
|
||||
|
||||
|
||||
for s in servers:
|
||||
out = funct.ssh_command(s[2], cmd)
|
||||
|
||||
|
||||
data = {server_id: {}}
|
||||
sep_data = out.split('\r\n')
|
||||
data = {server_id: sep_data}
|
||||
|
||||
|
||||
return dict(status=data)
|
||||
except:
|
||||
except Exception:
|
||||
return dict(status='error')
|
||||
|
||||
|
||||
|
||||
|
||||
def show_backends(server_id):
|
||||
data = {}
|
||||
try:
|
||||
servers = check_permit_to_server(server_id)
|
||||
|
||||
|
||||
for s in servers:
|
||||
out = funct.show_backends(s[2], ret=1)
|
||||
|
||||
|
||||
data = {server_id: out}
|
||||
|
||||
except:
|
||||
|
||||
except Exception:
|
||||
data = {server_id: {"error": "Cannot find the server"}}
|
||||
return dict(error=data)
|
||||
|
||||
|
||||
return dict(backends=data)
|
||||
|
||||
|
||||
|
||||
|
||||
def get_config(server_id, **kwargs):
|
||||
service = kwargs.get('service')
|
||||
if service != 'apache' and service != 'nginx' and service != 'haproxy' and service != 'keepalived':
|
||||
|
@ -294,7 +293,7 @@ def get_config(server_id, **kwargs):
|
|||
data = {}
|
||||
try:
|
||||
servers = check_permit_to_server(server_id)
|
||||
|
||||
|
||||
for s in servers:
|
||||
cfg = '/tmp/' + s[2] + '.cfg'
|
||||
out = funct.get_config(s[2], cfg, service=service, config_file_name=kwargs.get('config_path'))
|
||||
|
@ -303,16 +302,16 @@ def get_config(server_id, **kwargs):
|
|||
conf = open(cfg, "r")
|
||||
config_read = conf.read()
|
||||
conf.close
|
||||
|
||||
|
||||
except IOError:
|
||||
conf = '<br />Cannot read import config file'
|
||||
|
||||
|
||||
data = {server_id: config_read}
|
||||
|
||||
|
||||
except Exception as e:
|
||||
data = {server_id: {"error": "Cannot find the server " + str(e)}}
|
||||
return dict(error=data)
|
||||
|
||||
|
||||
return dict(config=data)
|
||||
|
||||
|
||||
|
@ -447,8 +446,8 @@ def upload_config(server_id, **kwargs):
|
|||
return dict(error=data)
|
||||
|
||||
return dict(config=data)
|
||||
|
||||
|
||||
|
||||
|
||||
def add_to_config(server_id):
|
||||
data = {}
|
||||
body = request.body.getvalue().decode('utf-8')
|
||||
|
@ -456,15 +455,15 @@ def add_to_config(server_id):
|
|||
hap_configs_dir = funct.get_config_var('configs', 'haproxy_save_configs_dir')
|
||||
token = request.headers.get('token')
|
||||
login, group_id = sql.get_username_groupid_from_api_token(token)
|
||||
|
||||
|
||||
if save == '':
|
||||
save = 'save'
|
||||
elif save == 'restart':
|
||||
save = ''
|
||||
|
||||
|
||||
try:
|
||||
servers = check_permit_to_server(server_id)
|
||||
|
||||
|
||||
for s in servers:
|
||||
ip = s[2]
|
||||
cfg = '/tmp/' + ip + '.cfg'
|
||||
|
@ -483,15 +482,15 @@ def add_to_config(server_id):
|
|||
return_mess = out
|
||||
except IOError:
|
||||
return_mess = "cannot upload config"
|
||||
|
||||
|
||||
data = {server_id: return_mess}
|
||||
except:
|
||||
except Exception:
|
||||
data[server_id] = {"error": "cannot find the server"}
|
||||
return dict(error=data)
|
||||
|
||||
|
||||
return dict(config=data)
|
||||
|
||||
|
||||
|
||||
|
||||
def show_log(server_id):
|
||||
data = {}
|
||||
rows = request.headers.get('rows')
|
||||
|
@ -501,7 +500,7 @@ def show_log(server_id):
|
|||
minute = request.headers.get('start_minute')
|
||||
hour1 = request.headers.get('end_hour')
|
||||
minute1 = request.headers.get('end_minute')
|
||||
|
||||
|
||||
if rows is None:
|
||||
rows = '10'
|
||||
if waf is None:
|
||||
|
@ -517,14 +516,14 @@ def show_log(server_id):
|
|||
|
||||
try:
|
||||
servers = check_permit_to_server(server_id)
|
||||
|
||||
|
||||
for s in servers:
|
||||
ip = s[2]
|
||||
except:
|
||||
|
||||
except Exception:
|
||||
|
||||
data[server_id] = {"error": "Cannot find the server"}
|
||||
return dict(error=data)
|
||||
|
||||
|
||||
out = funct.show_haproxy_log(ip, rows=rows, waf=str(waf), grep=grep, hour=str(hour), minut=str(minute), hour1=str(hour1), minut1=str(minute1), html=0)
|
||||
data = {server_id: out}
|
||||
|
||||
|
|
122
app/sql.py
122
app/sql.py
|
@ -347,9 +347,10 @@ def select_users(**kwargs):
|
|||
where(UserGroups.user_group_id == kwargs.get("group"))
|
||||
)
|
||||
else:
|
||||
query = User.select(User,Case(0, [((
|
||||
User.last_login_date >= funct.get_data('regular', timedelta_minutes_minus=15)
|
||||
), 0)], 1).alias('last_login')).order_by(User.user_id)
|
||||
query = User.select(User,Case(0, [(
|
||||
(
|
||||
User.last_login_date >= funct.get_data('regular', timedelta_minutes_minus=15)
|
||||
), 0)], 1).alias('last_login')).order_by(User.user_id)
|
||||
|
||||
try:
|
||||
query_res = query.execute()
|
||||
|
@ -2377,14 +2378,15 @@ def response_time(time, smon_id):
|
|||
|
||||
def smon_list(user_group):
|
||||
if user_group == 1:
|
||||
query = (SMON.select(SMON.ip, SMON.port, SMON.status, SMON.en, SMON.desc, SMON.response_time, SMON.time_state,
|
||||
SMON.group, SMON.script, SMON.http, SMON.http_status, SMON.body, SMON.body_status)
|
||||
.order_by(SMON.group))
|
||||
query = (SMON.select(
|
||||
SMON.ip, SMON.port, SMON.status, SMON.en, SMON.desc, SMON.response_time, SMON.time_state,
|
||||
SMON.group, SMON.script, SMON.http, SMON.http_status, SMON.body, SMON.body_status
|
||||
).order_by(SMON.group))
|
||||
else:
|
||||
query = (SMON.select(SMON.ip, SMON.port, SMON.status, SMON.en, SMON.desc, SMON.response_time, SMON.time_state,
|
||||
SMON.group, SMON.script, SMON.http, SMON.http_status, SMON.body, SMON.body_status)
|
||||
.where(SMON.user_group == user_group)
|
||||
.order_by(SMON.group))
|
||||
query = (SMON.select(
|
||||
SMON.ip, SMON.port, SMON.status, SMON.en, SMON.desc, SMON.response_time, SMON.time_state,
|
||||
SMON.group, SMON.script, SMON.http, SMON.http_status, SMON.body, SMON.body_status
|
||||
).where(SMON.user_group == user_group).order_by(SMON.group))
|
||||
|
||||
try:
|
||||
query_res = query.execute()
|
||||
|
@ -2571,8 +2573,9 @@ def delete_ports(serv):
|
|||
|
||||
def insert_port_scanner_history(serv, port, port_status, service_name):
|
||||
try:
|
||||
PortScannerHistory.insert(serv=serv, port=port, status=port_status, service_name=service_name,
|
||||
date=funct.get_data('regular')).execute()
|
||||
PortScannerHistory.insert(
|
||||
serv=serv, port=port, status=port_status, service_name=service_name,date=funct.get_data('regular')
|
||||
).execute()
|
||||
except Exception as e:
|
||||
out_error(e)
|
||||
|
||||
|
@ -2618,9 +2621,10 @@ def add_provider_do(provider_name, provider_group, provider_token):
|
|||
|
||||
def add_provider_aws(provider_name, provider_group, provider_key, provider_secret):
|
||||
try:
|
||||
ProvidersCreds.insert(name=provider_name, type='aws', group=provider_group, key=provider_key,
|
||||
secret=provider_secret, create_date=funct.get_data('regular'),
|
||||
edit_date=funct.get_data('regular')).execute()
|
||||
ProvidersCreds.insert(
|
||||
name=provider_name, type='aws', group=provider_group, key=provider_key, secret=provider_secret,
|
||||
create_date=funct.get_data('regular'),edit_date=funct.get_data('regular')
|
||||
).execute()
|
||||
return True
|
||||
except Exception as e:
|
||||
out_error(e)
|
||||
|
@ -2669,15 +2673,17 @@ 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,
|
||||
type='aws', status=status, date=funct.get_data('regular')).execute()
|
||||
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,
|
||||
type='aws', status=status, date=funct.get_data('regular')
|
||||
).execute()
|
||||
return True
|
||||
except Exception as e:
|
||||
out_error(e)
|
||||
|
@ -2835,11 +2841,11 @@ def update_server_gcore(region, size, network_type, network_name, volume_size, s
|
|||
|
||||
def update_server_do(size, privet_net, floating_ip, ssh_ids, ssh_name, oss, firewall, monitoring, backup, provider,
|
||||
group, status, server_id):
|
||||
query = ProvisionedServers.update(instance_type=size, private_networking=privet_net,
|
||||
floating_ip=floating_ip, ssh_ids=ssh_ids, ssh_key_name=ssh_name,
|
||||
os=oss, firewall=firewall, monitoring=monitoring, backup=backup,
|
||||
provider_id=provider,
|
||||
group_id=group, status=status).where(ProvisionedServers.id == server_id)
|
||||
query = ProvisionedServers.update(
|
||||
instance_type=size, private_networking=privet_net, floating_ip=floating_ip, ssh_ids=ssh_ids,
|
||||
ssh_key_name=ssh_name, os=oss, firewall=firewall, monitoring=monitoring, backup=backup, provider_id=provider,
|
||||
group_id=group, status=status
|
||||
).where(ProvisionedServers.id == server_id)
|
||||
try:
|
||||
query.execute()
|
||||
return True
|
||||
|
@ -2860,13 +2866,16 @@ def select_provisioned_servers(**kwargs):
|
|||
prov_serv = ProvisionedServers.alias()
|
||||
if kwargs.get('new'):
|
||||
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)
|
||||
.where((prov_serv.name == kwargs.get('new')) &
|
||||
(prov_serv.group_id == kwargs.get('group')) &
|
||||
(prov_serv.type == kwargs.get('type'))))
|
||||
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
|
||||
) .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,
|
||||
|
@ -3034,12 +3043,14 @@ def delete_service_settings(server_id: int):
|
|||
|
||||
def insert_action_history(service: str, action: str, server_id: int, user_id: int, user_ip: str):
|
||||
try:
|
||||
ActionHistory.insert(service=service,
|
||||
action=action,
|
||||
server_id=server_id,
|
||||
user_id=user_id,
|
||||
ip=user_ip,
|
||||
date=funct.get_data('regular')).execute()
|
||||
ActionHistory.insert(
|
||||
service=service,
|
||||
action=action,
|
||||
server_id=server_id,
|
||||
user_id=user_id,
|
||||
ip=user_ip,
|
||||
date=funct.get_data('regular')
|
||||
).execute()
|
||||
except Exception as e:
|
||||
out_error(e)
|
||||
|
||||
|
@ -3090,13 +3101,15 @@ def select_action_history_by_server_id_and_service(server_id: int, service: str)
|
|||
|
||||
def insert_config_version(server_id: int, user_id: int, service: str, local_path: str, remote_path: str, diff: str):
|
||||
try:
|
||||
ConfigVersion.insert(server_id=server_id,
|
||||
user_id=user_id,
|
||||
service=service,
|
||||
local_path=local_path,
|
||||
remote_path=remote_path,
|
||||
diff=diff,
|
||||
date=funct.get_data('regular')).execute()
|
||||
ConfigVersion.insert(
|
||||
server_id=server_id,
|
||||
user_id=user_id,
|
||||
service=service,
|
||||
local_path=local_path,
|
||||
remote_path=remote_path,
|
||||
diff=diff,
|
||||
date=funct.get_data('regular')
|
||||
).execute()
|
||||
except Exception as e:
|
||||
out_error(e)
|
||||
|
||||
|
@ -3132,9 +3145,11 @@ def delete_config_version(service: str, local_path: str):
|
|||
def select_remote_path_from_version(server_ip: str, service: str, local_path: str):
|
||||
server_id = select_server_id_by_ip(server_ip)
|
||||
try:
|
||||
query_res = ConfigVersion.get((ConfigVersion.server_id == server_id) &
|
||||
(ConfigVersion.service == service) &
|
||||
(ConfigVersion.local_path == local_path)).remote_path
|
||||
query_res = ConfigVersion.get(
|
||||
(ConfigVersion.server_id == server_id) &
|
||||
(ConfigVersion.service == service) &
|
||||
(ConfigVersion.local_path == local_path)
|
||||
).remote_path
|
||||
except Exception as e:
|
||||
out_error(e)
|
||||
else:
|
||||
|
@ -3144,8 +3159,9 @@ def select_remote_path_from_version(server_ip: str, service: str, local_path: st
|
|||
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()
|
||||
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()
|
||||
except Exception as e:
|
||||
out_error(e)
|
||||
return False
|
||||
|
|
Loading…
Reference in New Issue