python写监控并发警报邮件
Posted Dayle
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python写监控并发警报邮件相关的知识,希望对你有一定的参考价值。
调用第三方模块:用pip软件下载:
模块:psutil:它能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要用来做系统监控,性能分析,进程管理。
import psutil
psutil.cpu_count() #查看cpu逻辑核数:打开超线程之后
psutil.cpu_count(False) #查看cpu物理核数
psutil.cpu_percent(1) #一秒钟内cpu的使用率
psutil.cpu_percent(1,True) #每一核cpu的占用率
psutil.virtual_memory() #内存使用率
print(\'%.2f%%\' % res[2]) #给使用率保留两位小数点并加上%。
psutil.disk_usage(\'C:\') #查看硬盘分区使用率
psutil.net_io_counters() #查看网络流量
*浮点类型也可以比较大小,zifu串转换成int类型要先转换成浮点类型在转换。
str —> float —> int
写监控cpu脚本:
#监控:
import psutil
import smtplib
from email.mime.text import MIMEText
from email.header import Header
#监控cpu使用率:
def cpu_info():
cpu = psutil.cpu_percent(1)
cpua = \'%.2f%%\' % cpu
return cpua
#监控内存使用率:
def mem_info():
mem = psutil.virtual_memory()
mema = \'%.2f%%\' % mem[2]
return mema
#监控硬盘使用率:
def disk_info():
cd = psutil.disk_usage(\'C:\')
cdisk = \'%.2f%%\' % cd[3]
dd = psutil.disk_usage(\'D:\')
ddisk = \'%.2f%%\' % dd[3]
ed = psutil.disk_usage(\'E:\')
edisk = \'%.2f%%\' % ed[3]
all = [cdisk,ddisk,edisk]
return all
#监控网络流量:
def net_info():
net = psutil.net_io_counters()
send = str(int(net[0]/8/1024/1024)) + \'M\'
recv = str(int(net[1]/8/1024/1024)) + \'M\'
all1 = [send,recv]
return all1
def mail(str):
sender = \'xxxx@163.com\'
receiver = \'xxx@163.com\'
subject = \'报警\'
username = \'xxx@163.com\'
password = \'xxxx\'
msg = MIMEText(str,\'plain\', \'utf-8\')
msg[\'Subject\'] = Header(subject, \'utf-8\')
msg[\'From\'] = \'Tim<xxx@163.com>\'
msg[\'To\'] = "xxx@126.com"
smtp = smtplib.SMTP()
smtp.connect(\'smtp.163.com\')
smtp.login(username, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()
def main():
a = cpu_info()
b = mem_info()
cd = disk_info()[0]
dd = disk_info()[1]
ed = disk_info()[2]
ds = net_info()[0]
dr = net_info()[1]
all3 = \'\'\'
=====================
你的cpu使用率为:%s
=====================
你的内存使用率为:%s
=====================
你的C盘使用率为:%s
你的D盘使用率为:%s
你的E盘使用率为:%s
=====================
您的network_send:%s
您的network_recv:%s
====================
\'\'\' % (a,b,cd,dd,ed,ds,dr)
aa = float(a[:-4])
if aa > 1:
mail(all3)
else:
print(\'安全\')
main()
以上是关于python写监控并发警报邮件的主要内容,如果未能解决你的问题,请参考以下文章