Pavel Loginov 2021-08-29 20:27:01 +06:00
parent c9e1aa29a1
commit 1cd69350fc
5 changed files with 27 additions and 6 deletions

View File

@ -124,7 +124,10 @@ def logging(serv, action, **kwargs):
try:
os.system('sudo chown apache:apache -R ' + log_path)
except Exception as e:
pass
try:
os.system('sudo chown www-data:www-data -R ' + log_path)
except Exception:
pass
if kwargs.get('alerting') == 1:
mess = get_data('date_in_log') + action + "\n"
@ -737,7 +740,11 @@ def update_haproxy_wi(service):
service = service.split('_')[0]
except Exception:
pass
cmd = 'sudo -S yum -y update ' + service +' && sudo systemctl restart ' + service
import distro
if distro.id() == 'ubuntu':
cmd = 'sudo apt-get update && sudo apt-get install ' + service +' && sudo systemctl restart ' + service
else:
cmd = 'sudo -S yum -y update ' + service +' && sudo systemctl restart ' + service
output, stderr = subprocess_execute(cmd)
print(output)
print(stderr)
@ -1341,7 +1348,11 @@ def get_services_status():
if service_name == 'prometheus':
cmd = "prometheus --version 2>&1 |grep prometheus|awk '{print $3}'"
else:
cmd = "rpm -q " + service_name + "|awk -F\"" + service_name + "\" '{print $2}' |awk -F\".noa\" '{print $1}' |sed 's/-//1' |sed 's/-/./'"
import distro
if distro.id() == 'ubuntu':
cmd = "apt list --installed 2>&1 |grep " + service_name + "|awk '{print $2}'|sed 's/-/./'"
else:
cmd = "rpm -q " + service_name + "|awk -F\"" + service_name + "\" '{print $2}' |awk -F\".noa\" '{print $1}' |sed 's/-//1' |sed 's/-/./'"
service_ver, stderr = subprocess_execute(cmd)
if service_ver[0] == 'command':

View File

@ -1,6 +1,7 @@
#!/usr/bin/env python3
import funct
import sql
import distro
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('templates/'), autoescape=True)
@ -59,7 +60,10 @@ for s, v in services_name.items():
service_name = s.split('_')[0]
else:
service_name = s
cmd = "rpm --query " + service_name + "-* |awk -F\"" + service_name + "\" '{print $2}' |awk -F\".noa\" '{print $1}' |sed 's/-//1' |sed 's/-/./'"
if distro.id() == 'ubuntu':
cmd = "apt list --installed 2>&1 |grep " + service_name
else:
cmd = "rpm --query " + service_name + "-* |awk -F\"" + service_name + "\" '{print $2}' |awk -F\".noa\" '{print $1}' |sed 's/-//1' |sed 's/-/./'"
service_ver, stderr = funct.subprocess_execute(cmd)
try:
services.append([s, service_ver[0]])

View File

@ -1,6 +1,7 @@
#!/usr/bin/env python3
import funct
import sql
import distro
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('templates/'), autoescape=True)
template = env.get_template('metrics.html')
@ -12,12 +13,15 @@ print('Content-type: text/html\n')
try:
user, user_id, role, token, servers, user_services = funct.get_users_params()
cmd = "rpm --query roxy-wi-metrics-* |awk -F\"metrics\" '{print $2}' |awk -F\".noa\" '{print $1}' |sed 's/-//1' |sed 's/-/./'"
if distro.id() == 'ubuntu':
cmd = "apt list --installed 2>&1 |grep roxy-wi-metrics"
else:
cmd = "rpm -q roxy-wi-metrics-* |awk -F\"metrics\" '{print $2}' |awk -F\".noa\" '{print $1}' |sed 's/-//1' |sed 's/-/./'"
service_ver, stderr = funct.subprocess_execute(cmd)
services = '0'
if not stderr:
if service_ver[0] == '* is not installed':
if service_ver[0] == '* is not installed' or service_ver == '':
servers = ''
else:
if service == 'nginx':

View File

@ -3,3 +3,4 @@ paramiko-ng>=2.5.0
pytz>=2017.3
pyTelegramBotAPI>=3.6.3
slack-sdk>=3.4.0
distro>=1.2.0

View File

@ -10,3 +10,4 @@ jinja2>=2.10.1
slack-sdk>=3.4.0
peewee>=3.14.4
PyMySQL>=1.0.2
distro>=1.2.0