Merge pull request #1114 from tommy3001/master

Code refactoring and wording improvements for psutils.
This commit is contained in:
Dan Bader
2022-04-27 11:37:24 -07:00
committed by GitHub
+19 -21
View File
@@ -155,44 +155,42 @@ tests (net, CPU) fail, it will send an email.
# Package for email services:
import smtplib
import string
MAX_NET_USAGE = 400000
MAX_NET_USAGE = 400000 # bytes per seconds
MAX_ATTACKS = 4
attack = 0
counter = 0
while attack <= MAX_ATTACKS:
sleep(4)
counter = counter + 1
# Check the cpu usage
if cpu_percent(interval = 1) > 70:
attack = attack + 1
# Check the net usage
neti1 = net_io_counters()[1]
neto1 = net_io_counters()[0]
# Check the net usage wit named tuples
neti1 = net_io_counters().bytes_recv
neto1 = net_io_counters().bytes_sent
sleep(1)
neti2 = net_io_counters()[1]
neto2 = net_io_counters()[0]
neti2 = net_io_counters().bytes_recv
neto2 = net_io_counters().bytes_sent
# Calculate the bytes per second
net = ((neti2+neto2) - (neti1+neto1))/2
if net > MAX_NET_USAGE:
attack = attack + 1
if counter > 25:
attack = 0
counter = 0
# Check the net and cpu usage
if (net > MAX_NET_USAGE) or (cpu_percent(interval = 1) > 70):
attack+=1
elif attack > 1:
attack-=1
# Write a very important email if attack is higher than 4
TO = "you@your_email.com"
FROM = "webmaster@your_domain.com"
SUBJECT = "Your domain is out of system resources!"
text = "Go and fix your server!"
BODY = string.join(("From: %s" %FROM,"To: %s" %TO,"Subject: %s" %SUBJECT, "",text), "\r\n")
string="\r\n"
BODY = string.join(("From: %s" %FROM,"To: %s" %TO,
"Subject: %s" %SUBJECT, "",text))
server = smtplib.SMTP('127.0.0.1')
server.sendmail(FROM, [TO], BODY)
server.quit()
A full terminal application like a widely extended top which is based on
psutil and with the ability of a client-server monitoring is
`glance <https://github.com/nicolargo/glances/>`_.
A full terminal application like a widely extended top is `Glance <https://github.com/nicolargo/glances/>`_, which is based on psutil and has the ability for client-server monitoring.
*******
Ansible