Python监控服务器实现邮件微信报警

栏目: Python · 发布时间: 6年前

内容简介:本文中笔者暂时实现的只有cpu和内存的监控,python可以监控许多的主机信息,网络,硬盘,机器状态等,以下是代码的实现,代码可以实现windows和linux的监控。实验环境:Ubuntu16.04和windos10,python3.6.6

本文中笔者暂时实现的只有cpu和内存的监控,python可以监控许多的主机信息,网络,硬盘,机器状态等,以下是代码的实现,代码可以实现windows和 linux 的监控。

实验环境:Ubuntu16.04和windos10,python3.6.6

Python监控服务器实现邮件微信报警

import psutil, time 
import datetime 
from wechatpy import WeChatClient 
class Monitor(): 
 cpu_data = [] 
 @classmethod 
 def mem(cls, max=90): 
 val = psutil.virtual_memory().percent 
 if val > max: 
 cls.send_msg('内存使用率为{:1.f}%,超过了{}%,请关注'.format(val, max)) 
 @classmethod 
 def cpu(cls, max=90): 
 val = psutil.cpu_percent(1) 
 cls.cpu_data.append(val) 
 if len(cls.cpu_data) >= 3: 
 avg = sum(cls.cpu_data) / len(cls.cpu_data) 
 if avg > max: 
 cls.send_msg('CPU使用率为{:1f}%,超过了{}%,请关注'.format(avg, max)) 
 cls.cpu_data.pop(0) 
 @classmethod 
 def send_msg(cls, content): 
 cls.mail(content) 
 cls.wechat(content) 
 @classmethod 
 def mail(cls, content): 
 import smtplib 
 from email.mime.text import MIMEText 
 from email.utils import formataddr 
 nickname = '监控程序' 
 # 发送者的信息 
 sender = '[email protected]' 
 password = '*****' 
 # 接收方的邮箱 
 receiver = '[email protected]' 
 msg = MIMEText(content, 'html', 'utf-8') 
 msg['From'] = formataddr([nickname, sender]) 
 msg['Subject'] = '自动报警' 
 server = smtplib.SMTP_SSL('smtp.qq.com', 465) 
 try: 
 server.login(sender, password) 
 server.sendmail(sender, [receiver], msg.as_string()) 
 except Exception as ex: 
 print(ex) 
 finally: 
 server.quit() 
 @classmethod 
 def wechat(cls, content): 
 client = WeChatClient('xxxx', 'xxxx') 
 template_id = 'xxxxx' 
 openid = 'xxxx' 
 data = { 
 'msg': {"value": content, "color": "#173177"}, 
 'time': {"value": datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), "color": "#173177"}, 
 } 
 try: 
 client.message.send_template(openid, template_id, data) 
 except Exception as ex: 
 print(ex) 
while True: 
 Monitor.mem(90) 
 Monitor.cpu(90) 
 time.sleep(5) 

下面是qq邮箱和微信实现报警的图片:

qq邮箱:

Python监控服务器实现邮件微信报警

微信报警:

Python监控服务器实现邮件微信报警

以上就是所有的代码了,谢谢


以上所述就是小编给大家介绍的《Python监控服务器实现邮件微信报警》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

艾伦•图灵传

艾伦•图灵传

(英)安德鲁·霍奇斯 / 孙天齐 / 湖南科学技术出版社 / 2012-8-1 / 68.00元

《艾伦·图灵传:如谜的解谜者》是图灵诞辰100周年纪念版,印制工艺更为精美。本书是世界共认的最权威的图灵传记。艾伦?图灵是现代人工智能的鼻祖,在24岁时奠定了计算机的理论基础。二战期间,他为盟军破译密码,为结束战争做出巨大贡献。战后,他开创性地提出人工智能的概念,并做了大量的前期工作。因同性恋问题事发,被迫注射激素,后来吃毒苹果而死。作者是一名数学家,也是一名同性恋者。他对图灵的生平有切身的体会,......一起来看看 《艾伦•图灵传》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具