当前位置:
Python监控服务器实现邮件微信报警
时间:2025-11-05 11:21:18 出处:数据库阅读(143)

复制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}%,WordPress模板超过了{}%,现邮信报请关注.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 = 监控程序 # 发送者的IT技术网信息 sender = xxx@qq.com password = ***** # 接收方的邮箱 receiver = aa@bb.cc 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) 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.源码下载
分享到:
温馨提示:以上内容和图片整理于网络,仅供参考,希望对您有帮助!如有侵权行为请联系删除!
猜你喜欢
- 神钢电脑主板拆解教程(一步步教你如何拆解神钢电脑主板,轻松解决常见故障)
- 老生常谈-从输入url到页面展示到底发生了什么
- 一分钟理解负载LoadAverage
- Spring Cloud Netflix 概览和架构设计
- ZukZ2质量如何?(探索ZukZ2手机的品质与性能)
- CSS进阶:提高你前端水平的4个技巧
- 机智云助力智能家居 让机器更懂你
- 不要再天天写表单了,淘宝大牛教你零基础写PHP扩展
- 系统装好后,源也设置好了(把以前默认的源注释掉了,改成了几个教育网的源,北交的源相对比较快),下来的任务就是更新系统和安装所需的软件,但是前提是必须可以上网,因为实验室用的都是固定IP,所以需要将Ubuntu设置为静态IP。方法如下: 1、修改网络配置文件 网络配置信息存储在/etc/network/interfaces 文件中 sudo vi /etc/network/interfaces 我用vi打开,我的文件显示如下内容: # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback 我的网络配置文件中只有一个环回地址,即127.0.0.1。在下面添加: auto eth0 #指明网卡eth0在系统启动时自动加载 iface eth0 inet static #指明eth0采用ipv4地址,inet表示ipv4地址,inet6表示ipv6地址; static表示静态,dhcp表示动态 address 172.22.112.13 #静态ip netmask 255.255.255.128 #子网掩码 gateway 172.22.112.1 #网关地址 :wq #保存退出 2、设置DNS服务器 在静态ip下还要配置DNS服务器(Windows也是这么做的),DNS信息存储在/etc/resolv.conf 中,假如没有此文件则直接新建: sudo vi /etc/resolv.conf #用vi打开文件 进入编辑模式,输入a,然后依次输入下面内容: nameserver 202.202.32.33 #首选DNS服务器 nameserver 61.128.128.68 #备用DNS服务器 :wq #保存退出 3、全部修改后,需要将网卡重启,让修改生效,方法如下,输入以下命令: sudo ifdown eth0 #禁用网卡 sudo ifup eth0 #启动网卡