#coding:utf8

from email.mime.text import MIMEText

import smtplib,psutil,time,os,datetime

destination = ["18410208050@163.com"] #定义邮件接收者

source = "775465751@qq.com" #定义邮件发送者

mail_server = 'smtp.qq.com'

username = '775465751'

password = 'wrromyiywqijbdia'

def send_mail(des,title,content):

csj = MIMEText(content)

csj['Subject'] = title

csj['From'] = source

csj['To'] = ';'.join(destination)

try:

a = smtplib.SMTP_SSL(mail_server,465)

a.connect(mail_server)

a.login(username,password)

a.sendmail(source,destination,csj.as_string())

a.close()

return True

except Exception,e:

print e

return False

def hostname():

com = 'hostname'

res = os.popen(com)

content = res.read()

return content

def mem_use():

total_mem = psutil.virtual_memory().total

free_mem = psutil.virtual_memory().available

res = (psutil.virtual_memory().available/float(psutil.virtual_memory().total))*100

return res

def system(a,b):    cpu_info = []    mem_info = []    now_time = "Date %s"%datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d")    count = 1    print "Start monitoring "    while True:        time.sleep(60) #定义采集系统信息的频率,单位为秒        if count <= 10: #定义每采集十次系统信息后输出平均值            cpu_info.append(psutil.cpu_percent())            mem_info.append(mem_use())            count += 1        else:            cpu_info.pop(0)            mem_info.pop(0)            cpu_info.append(psutil.cpu_percent())            mem_info.append(mem_use())            cpu_avg = sum(cpu_info)/10            mem_avg = sum(mem_info)/10            if (cpu_avg >= a) or (mem_avg >= b):                print("---------------------------------------------------------")                print now_time                warning_cpu = ("Warning CPU Used:%.2f%%")%cpu_avg                warning_mem = ("Warning CPU Used:%.2f%%")%mem_avg                print warning_cpu                print warning_mem                send_mail(destination,"Warning Server Overload",hostname()) #发送邮件,格式为:(目的,标题,正文)            else:                print now_time                print("---------------------------------------------------------")                print("Info,CPU Used:%.2f%%")%cpu_avg                print("Info,Memory Used:%.2f%%")%mem_avgsystem(0,0) #这两个0代表设置cpu和内存的阈值,前者为CPU,后者为内存

python制作系统监控_用python做一个系统监控程序相关推荐

  1. python七彩同心圆_用pygame做一个简单的python小游戏---七彩同心圆

    用pygame做一个简单的python小游戏---七彩同心圆 用pygame做一个简单的python小游戏-七彩同心圆 这个小游戏原是我同学python课的课后作业,并不是很难,就简单实现了一下,顺便 ...

  2. python流量监控_用python中的pcapy实现网络流量监控

    我写了一个简单的网络流量监视器来获得B/s和/或总数据传输率(B).然而,当我用ftp(使用Total Commander)传输一个文件来测试它时,我不能让它把Total transfer作为文件大小 ...

  3. python做一个系统-用python做一个系统监控程序

    #coding:utf8 from email.mime.text import MIMEText import smtplib,psutil,time,os,datetime destination ...

  4. python实时监控_使用Python监控Linux系统

    服务器名称{{ hostname }} 开机时间{{boot_time}} cpu个数{{ cpu_count }} cpu利用率{{ cpu_percent }} 内存总量{{ mem_percen ...

  5. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  6. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  7. python gc内存_禁用 Python GC,Instagram 性能提升10%

    通过关闭 Python 垃圾收集(GC)机制,该机制通过收集和释放未使用的数据来回收内存,Instagram 的运行效率提高了 10 %.是的,你没听错!通过禁用 GC,我们可以减少内存占用并提高 C ...

  8. 用python写搜索引擎_用python做一个搜索引擎(Pylucene)的实例代码

    1.什么是搜索引擎? 搜索引擎是"对网络信息资源进行搜集整理并提供信息查询服务的系统,包括信息搜集.信息整理和用户查询三部分".如图1是搜索引擎的一般结构,信息搜集模块从网络采集信 ...

  9. python数据维度小测试_数据分析|如何做一个ABtest测验

    A/B-test是为同一个目标制定两个方案,在同一时间维度,分别让组成成分相同(相似)的用户群组随机的使用一个方案,收集各群组的用户体验数据和业务数据,最后根据显著性检验分析评估出最好版本正式采用. ...

最新文章

  1. android消除app卡顿,为什么你的app会出现卡顿?Android开发:关于性能需要考虑的...
  2. DPDK KNI实现(二十五)
  3. 如何解决访问Windows Update网站时收到0X8024001D错误信息
  4. spring基于注解的声明式事务控制
  5. python3 image_python3 ImageTk 安装方法
  6. virtualbox中windows虚拟机安装增强功能
  7. IOS开发网络篇之──ASIHTTPRequest详解
  8. [转载] Dubbo架构设计详解
  9. sqlserver 登录名迁移
  10. js定位div坐标存入mysql_用JS将页面定位到某个位置(DIV)
  11. win10电脑桌面透明便签_win10系统在桌面添加透明便签的图文技巧
  12. 3d工口医Android,3d口工医完整版
  13. 业界软件测试工程师认证(ISTQB)
  14. matlab和numpy的ones用法
  15. Vue中Swiper以及vue-awesome-swiper的安装和问题
  16. docker用现有容器创建镜像
  17. 网易云音乐Eason Chen 歌词词云
  18. php卡片式,什么是卡片式设计? | 人人都是产品经理
  19. 中国各省市元宇宙政策汇编
  20. 已知法向量 求投影_求点在平面上的投影点坐标

热门文章

  1. Windows Mobile入门
  2. Mybatis的SQL注入
  3. flask第七篇——URL与视图函数的映射
  4. 针对每个团队提出的意见和建议
  5. UVALive3713_Astronauts
  6. SQL Server (MSSQLSERVER) 启动又停止
  7. JavaScript获取文本框光标的像素位置(转载)
  8. hashmap面试问题
  9. 前端大牛or架构师应该具备这些
  10. 操作系统复习笔记(二)