python监控CPU/内存/磁盘,超过指定百分比,发送邮件
#!/usr/bin/python
#coding:utf-8 #导入psutil模块
import psutil
import yagmail def mail(subject,contents): #形参为邮件的标题和内容
yag = yagmail.SMTP(user='zhangweihappy8@163.com', password='xxx', host='smtp.163.com') #passwd为授权的密码不是登陆密码
#发送邮件
yag.send(to='zui_city_zhang@163.com',subject=subject, contents=contents)
#断开连接
yag.close() def cpu_info():
cpu = psutil.cpu_percent(1)
return cpu
res=cpu_info() def mem_info():
mem = psutil.virtual_memory()
info1={'mem_total':mem[0],'mem_free':mem[1],'mem_percent':mem[2],'mem_used':mem[3]}
return info1
res2=mem_info() def disk_info():
disk = psutil.disk_usage('/')
info2 = {'total': disk[0], 'used': disk[1], 'free': disk[2], 'percent': disk[3]} #同样写入一个字典
return info2
res3=disk_info() def main():
m_cpu = res
m_mem = res2
m_disk = res3 #将各个分函数的调用结果当作函数体输入
msg='''
cpu使用率%s
内存总量%sM
内存剩余%sM
内存使用率%s
内存使用量%sM
磁盘总量%sGB
磁盘使用量%sGB
磁盘剩余量%sGB
磁盘使用率%s%%
'''%(m_cpu,int(m_mem.get('mem_total')/1024/1024),int(m_mem['mem_free']/1024/1024),m_mem['mem_percent'],int(m_mem['mem_used']/1024/1024),int(m_disk['total']/1024/1024/1024),int(m_disk['used']/1024/1024/1024),int(m_disk['free']/1024/1024/1024),m_disk['percent'])
print(msg)
if m_cpu >50:
mail('cpu报警',msg)
else:
print('cpu正常')
if m_mem['mem_percent'] > 50:
mail('内存占用过半',msg)
else:
print('relax')
if m_disk['percent'] > 50:
mail('磁盘快炸了',msg)
else:
print('磁盘正常') if __name__=='__main__':
main()
python监控CPU/内存/磁盘,超过指定百分比,发送邮件的更多相关文章
- python监控cpu 内存实现邮件微信报警
# qianxiao996精心制作 #博客地址:https://blog.csdn.net/qq_36374896 import psutil, time,smtplib,socket import ...
- 利用shell监控cpu、磁盘、内存使用率
利用shell监控cpu.磁盘.内存使用率,达到警报阈值发邮件进行通知 并配合任务计划,即可及时获取报警信息 #!/bin/bash ################################# ...
- linux系统CPU,内存,磁盘,网络流量监控脚本
前序 1,#cat /proc/stat/ 信息包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累积到当前时刻 2,#vmstat –s 或者#vmstat 虚拟内存统计 3, #cat ...
- centos8平台使用pidstat监控cpu/内存/io
一,安装pidstat: 1,安装 [root@localhost yum.repos.d]# yum install sysstat 2,查看版本: [root@localhost ~]# pids ...
- AIX/Linux/HP-UX查看CPU/内存/磁盘/存储命令
1.1 硬件环境验证方式 硬件环境主要包括CPU.内存.磁盘/存储.网络设备(如F5等).系统特有设备(如密押设备等)等,其中网络设备和系统特有设备由网络管理员或项目组提供为准,本节主要关注CP ...
- linux系统CPU内存磁盘监控发送邮件脚本
#!/bin/bashexport PATHexport LANG=zh_CN.UTF-8###top之后输入数字1,可以查看每颗CPU的情况.###先配置好mailx邮箱账号密码:#cat>/ ...
- python监控cpu 硬盘 内存
import psutil import time import yagmail def sendmail(subject,contents): yag = yagmail.SMTP(user='15 ...
- Ubuntu系统监控cpu memery 磁盘Io次数 IO速率 网卡 运行时间等信息的采集
实验室最近在做的项目要做ubuntu系统监控,要获得系统的一些信息并返回给web服务器. web服务器与ubuntu主机的通信我写的程序用的是socket,至于为什么不用java程序ssh到对应的主机 ...
- Shell采集系统cpu 内存 磁盘 网络信息
cpu信息采集 cpu使用率 采集算法 通过/proc/stat文件采集并计算CPU总使用率或者单个核使用率.以cpu0为例,算法如下: 1. cat /proc/stat | grep ‘cpu0’ ...
随机推荐
- 18 Flutter仿京东商城项目 商品详情顶部tab切换 顶部下拉菜单 底部浮动导航
ProductContent.dart import 'package:flutter/material.dart'; import '../services/ScreenAdaper.dart'; ...
- (翻译) How variables are allocated memory in Javascript? | scope chain | lexicial scope
总结: 阅读下面文章需要15分钟 提问者的问题是JavaScript中内存是怎么分配的,在介绍的过程作者涉及计到了JS中 Scope Chain和调用函数call生成lexicial environm ...
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_04-freemarker基础-基础语法种类
注释 编译一些这个模板 我的IDEA里面,是重新编译 刷新页面 注释.插值.FTL.文本
- Python的数据类型与数据结构
Python的数据类型与数据结构 数据类型分为: 整数型 :数字的整数 浮点型: 数字带小数 字符串: 用 ‘’ 或者 “” 引用的任意文本 布尔型:只有 True 和 False 数据结构分为: 列 ...
- nginx和php-fpm 是使用 tcp socket 还是 unix socket ?
转自 http://blog.csdn.net/qq624202120/article/details/60957634 从上面的图片可以看,unix socket减少了不必要的tcp开销,而tcp需 ...
- 微信小程序 请求签名接口超时 踩坑路。。
我们公司一般做开发都是先用测试机的接口调试功能,等功能都调试的差不多了,再换成线上的正式接口,因为正式接口要验证签名. 这几个功能都调试的差不多了,准备换成线上正式接口了,结果却出了问题,提示请求超时 ...
- 设计模式七大原则(C++描述)
前言 最近在学习一些基本的设计模式,发现很多博客都是写了六个原则,但我认为有7个原则,并且我认为在编码中思想还是挺重要,所以写下一篇博客来总结下 之后有机会会写下一些设计模式的博客(咕咕咕...... ...
- shell学习笔记3-后台执行命令
cron 系统调度进程,使用它在每天的某时间或一周.一月的不同时间运行 at 使用它在一个特点的时间允许一些特殊的作业 & 使用它在后台允许一个占用时间不长的进程 Nohup 使用它在后台运行 ...
- rabbitmq启动方式
1.以应用方式启动 rabbitmq-server -detached 后台启动 Rabbitmq-server 直接启动,如果你关闭窗口或者需要在改窗口使用其他命令时应用就会停止 关闭:rabbi ...
- new pdo 连接很慢的原因和解决办法
1.使用IP而不是域名,使用域名会让PDO在连接之前进行一次不必要的dns lookup,当DNS缓存过于巨大的时候,这个问题可能会更严重.(即使是运行在本机,使用 127.0.0.1 而不是 loc ...