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 = ‘[email protected]‘

receiver = ‘[email protected]‘

subject = ‘报警‘

username = ‘[email protected]‘

password = ‘zl950629‘

msg = MIMEText(str,‘plain‘, ‘utf-8‘)

msg[‘Subject‘] = Header(subject, ‘utf-8‘)

msg[‘From‘] = ‘Tim<[email protected]>‘

msg[‘To‘] = "[email protected]"

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()

原文地址:https://www.cnblogs.com/dayle/p/9996835.html

时间: 2024-11-09 21:19:06

python写监控并发警报邮件的相关文章

如何用python写监控日志函数

def write_log(username,operation): ''' 写日志函数 :param username:用户名 :param operation:用户的操作信息 :return: ''' w_time = time.strftime('%Y-%m-%d %H%M%S') with open('log.txt','a+') as fw: log_content = '%s %s %s \n'%(w_time,username,operation) fw.write(log_con

Python监控主机是否存活并发报警邮件

利用python写了简单测试主机是否存活脚本,此脚本不适于线上使用,因为网络延迟.丢包现象会造成误报邮件,那么后续会更新判断三次ping不通后再发报警邮件,并启用多线程处理. #!/usr/bin/env python # coding:UTF-8 import time import pexpect import smtplib from email.mime.text import MIMEText mail_host = "smtp.163.com"         #定义smt

老男孩教育每日一题-2017-04-17:使用Shell或Python写一个脚本,CPU使用率超过80%或硬盘超过85%邮件报警

老男孩教育每日一题-2017-04-17: 使用Shell或Python写一个脚本,CPU使用率超过80%或硬盘超过85%邮件报警. 今天是老男孩教育每日一题陪伴大家的第29天.

添加自定义监控项目、邮件告警

19.12 添加自定义监控项目 需求:监控某台web的80端口连接数,并出图两步:1 zabbix监控中心创建监控项目:2 针对该监控项目以图形展现 vim /usr/local/sbin/estab.sh //内容如下 #! /bin/bash ##获取80端口并发连接 netstat -ant grep ':80' |grep -c ESTABLISHED #演示如下: [[email protected] ~]# vim /usr/local/sbin/estab.sh [[email p

python写的简单发送邮件的脚本【转】

近来有些东西需要监控报警发邮件,然后在网上找了点材料,自己写了一个简单发送邮件的脚本,主要就是运用python的smtplib模块,分享给大家看一下: #!/usr/bin/env python # -*- coding: utf-8 -*- #导入smtplib和MIMEText import smtplib,sys from email.mime.text import MIMEText def send_mail(sub,content): ############# #要发给谁,这里发给

使用python程序监控云服务器的带宽

将一些不重要的服务迁移到云服务上,有些下载什么的,为了防止带宽超了,python做了一个监控程序.用python3写的,由于和python2有些区别,特记录下来备查. 代码如下: #this is for monitor qingcloud# coding=utf-8import base64import hmacimport urllibimport urllib.parsefrom hashlib import sha256import urllib.requestimport dateti

Python 开源异步并发框架的未来(转)

Python 开源异步并发框架的未来 fantix 1.1k 2014年04月16日 发布 推荐 4 推荐 收藏 31 收藏,8.9k 浏览 呵呵,这个标题有点大,其实只是想从零开始介绍一下异步的基础,以及 Python 开源异步并发框架的发展和互操作性. 另外,这是我在 OSTC 2014 做的一个 20140330-OSTC-分论坛1王川 http://v.youku.com/v_show/id_XNjk2ODI0ODQ4.html ,幻灯片在这里,欢迎拍砖. 开源 Python 是开源的,

Python开源异步并发框架

Python开源异步并发框架的未来 2014年3月30日,由全球最大的中文IT社区CSDN主办的“开源技术大会·2014” (Open Source Technology Conference 2014,简称OSTC 2014)在北京丽亭华苑酒店召开. 本次大会以“启蒙·开源”(Open Mind, Open Source)为主题,邀请到了来自全国各地的30多位开源业界资深人士发表主题演讲,数十个开源社区现场参与,到场的开源软件开发者.贡献者和开源爱好 者总人数超过500人.作为一场“接地气”的

[python] 系统监控

每分钟 采集一次linux信息,采集到的数据暂存到本地sqlite 10分钟通过http上报一次 sqlite库中保存7天的过期数据 monitor4a.out是所有输出,monitor4a.log是INFO级别以上的日志(100MB的5个日志文件循环) python v2.6.6-2.7.8通过 #!/usr/bin/env python # _*_ coding:UTF-8 _*_ __author__ = 'shanl' import socket store_root_dir= ".&q