python中用psutil模块,yagmail模块监控CPU、硬盘、内存使用,阈值后发送邮件
import yagmail
import psutil
def sendmail(subject,contents):
#连接邮箱服务器
yag = yagmail.SMTP(user='邮箱名称@163.com',password='邮箱客户端授权密码',host='smtp.163.com')
#发送邮件
yag.send(to='收件方邮箱地址',subject=subject, contents=contents)
#断开连接
yag.close() def cpu_info():
cpu = psutil.cpu_percent(1)
return cpu def mem_info():
mem = psutil.virtual_memory()
total_mem = int(mem[0]/1024/1024)
free_mem = int(mem[1]/1024/1024)
percent_mem = mem[2]
used_mem = int(mem[3]/1024/1024)
mem_dict = {
'total_mem':total_mem,
'free_mem':free_mem,
'percent_mem':percent_mem,
'used_mem':used_mem
}
return mem_dict def disk_info():
disk = psutil.disk_usage('c:')
total_disk = int(disk[0]/1024/1024/1024)
used_disk = int(disk[1]/1024/1024/1024)
free_disk = int(disk[2]/1024/1024/1024)
percent_disk = disk[3]
disk_dict = {
'total_disk':total_disk,
'used_disk':used_disk,
'free_disk':free_disk,
'percent_disk':percent_disk
}
return disk_dict def main():
cpu = cpu_info()
mem = mem_info()
disk = disk_info()
msg = '''
cpu利用率:%s%%
内存总大小:%sM
内存剩余大小:%sM
内存使用大小:%sM
内存使用率:%s%%
硬盘总大小:%sG
硬盘使用大小:%sG
硬盘剩余大小:%sG
硬盘使用率:%s%%
''' % (cpu,mem.get('total_mem'),mem.get('free_mem'),mem.get('used_mem'),mem.get('percent_mem'),disk.get('total_disk'),disk.get('used_disk'),disk.get('free_disk'),disk.get('percent_disk'))
if cpu > 1:
print('cpu过高')
sendmail('cpu报警',msg)
else:
print('cpu正常') if __name__ == '__main__':
main()
python中用psutil模块,yagmail模块监控CPU、硬盘、内存使用,阈值后发送邮件的更多相关文章
- python监控cpu 硬盘 内存
import psutil import time import yagmail def sendmail(subject,contents): yag = yagmail.SMTP(user='15 ...
- 监控CPU和内存的使用
监控CPU和内存的使用: #!/bin/bash #script to capture system statistics outfile=/home/rainbow/test/file.csv da ...
- jmeter性能工具 之监控cpu,内存等信息(四)
1.jmeter 本身不支持直接监控 cpu,内存等信息,需要去官网下载控件 JMeterPlugins-Standard-1.4.0.zip 解压好将其中\lib\ext\JMeterPlug ...
- python模块----yagmail模块、smtplib模块 (电子邮件)
yagmail模块 python标准库发送电子邮件的模块比较复杂,so,许多开源的库提供了更加易用的接口来发送电子邮件,其中yagmail是使用比较广泛的开源项目,yagmail底层依然使用smtpl ...
- python基础:用yagmail模块发邮件
一.yagmail模块安装 网上下载的yagmail模块安装以后,在使用过程中,如果附件有中文,会显示乱码. pip install yagmail-0.10.212-py2.py3-none-any ...
- 简单监控liunx中cpu、内存、磁盘及发送邮件参考
shell脚本 vim jk.sh #命名脚本名 #!/bin/bash time=`date "+%Y-%m-%d %H:%M:%S"` #定义时间 echo & ...
- linux中监控CPU、内存和磁盘状态的shell脚本。(centos7)
这篇博客中所写的脚本,在实际工作中并没有什么卵用,工作中并不会用到这种脚本去监控.不过自己写一遍,可以让初学者对CPU.内存.磁盘等一些基础知识和基础命令更加了解. 1.利用vmstat工具监控CPU ...
- Linux监控--CPU、内存、I/O
CPU top命令能够实时监控系统的运行状态,并且可以按照CPU.内存和执行时间进行排序,同时top命令还可以通过交互式命令进行设定显示,通过top命令可以查看即时活跃的进行. 内存 free命令可以 ...
- Shell脚本监控CPU、内存和硬盘利用率
1.监控CPU利用率(通过vmstat工具) #!/bin/bash #==================================================== # Author: l ...
- python3 系统监控脚本(2) (监控CPU,内存等信息)
#!/usr/bin/env python3 #create at 2018-12-04 'this is a system monitor scripts' __author__="yjt ...
随机推荐
- python -- 函数进阶
一.函数参数-动态传参 1.形参: * 在形参位置, 表示此参数为不定参数,接受的是位置参数 并且接收到的位置参数的动态传参都是元组 def fu ...
- 网络传输数据序列化工具Protostuff
一直在物色比较好用的网络传输数据序列化工具,看了诸如marshalling,protobuff等,但是均有一个共同特点,使用起来异常繁杂,有没有比较好用同时性能又不会太差的组件呢?答案当然是有的,那就 ...
- Druid(新版starter)在SpringBoot下的使用以及优点
Druid是Java语言中最好的数据库连接池.Druid能够提供强大的监控和扩展功能.DruidDataSource支持的数据库:理论上说,支持所有有jdbc驱动的数据库.最近发现Druid在spri ...
- Ubuntu连网的问题
Ubuntu一直提示网络offline,disconnection 首先,进入了无线网络,进入属性,允许其他网络用户通过此计算机的Internet连接: 但是虚拟机仍显示网络未连接:(不知道此步骤是不 ...
- 安装pyspider遇到的坑
pyspider是国人写的一款开源爬虫框架,个人觉得这个框架用起来很方便,至于如何方便可以继续看下去. 作者博客:http://blog.binux.me/ 安装pyspider安装pyspider: ...
- lr_场景设计之知识点-集合点、loadgenerator
1.controller原理 通过场景设计来模拟用户的真实操作并调用bugen中的脚本,再通过设置的压力机产生压力,在场景运行中实时监控用户的执行情况,tps,响应时间,吞吐量,服务器资源使用情况: ...
- NullPointerException空指针异常——没有事先加载布局文件到acitivy——缺少:setContentView(R.layout.activity_setup_over);
空指针异常: 04-27 01:13:57.270: E/AndroidRuntime(4942): FATAL EXCEPTION: main04-27 01:13:57.270: E/Androi ...
- GIT 初始化 中文编码、自动换行
解决中文编码: git config --global core.quotepath false git config --global gui.encoding utf-8 解决git log 中文 ...
- ProtocolBuffer for Objective-C Mac运行环境配置
上班第4天,上司让我研究Google的Protocol Buffer,对于我这个小白来说这是一大难题.结合了一下网上资料,用了几个小时的时间,终于搞明白了.做个笔记,也当做资料给大家分享一下. 什么是 ...
- Ubuntu16.04下安装OpenCV3.2.0
1.安装官方给的opencv依赖包 $ sudo apt-get install build-essential $ sudo apt-get install cmake git libgtk2.0- ...