用python监控服务器的cpu,磁盘空间,内存,超过邮件报警


Posted in Python onJanuary 29, 2021

监控Linux服务器嘛,脚本逻辑基本上是用os.popen模块,然后把获取到的结果通过split切分成一个list,再拿目标list值和我阈值对比,超过就邮件报警;

邮件是通过Linux的mailx发出去的,可自行搜索安装该模块,关键字:“Linux使用mailx发邮件”,脚本如下: 

一、cpu ideal值,不小于20%

#!/usr/bin/python
# -*- coding: utf-8 -*-
 
import datetime
import os
 
 
f = os.popen('vmstat').readlines()
cpu_ideall = str(f).split()[-3]
if int(cpuideall) > 20:
    mail_content = "echo 'ip:IP地址(vmstat)' | mailx -s '[Warning!]CPU ideal below 20%, please check!' 收件邮箱"
    os.popen(mail_content)
else:
    pass

二、磁盘空间,不大于95%

#!/usr/bin/python
# -*- coding: utf-8 -*-
 
import datetime
import os
 
 
f = os.popen('df -lh').readlines()
s = []
s.append(str(f).split()[11].split('%')[0])
s.append(str(f).split()[-8].split('%')[0])
s.append(str(f).split()[-2].split('%')[0])
print s
 
i = 0
while i < len(s):
    if int(s[i]) > 95:
    mail_content = "echo 'ip:ip地址(df -lh)' | mailx -s '[Warning!]Disk above 95%, please check!' 收件邮件"
        os.popen(mail_content)
    else:
    pass
    i = i + 1

三、内存利用率,不低于200

#!/usr/bin/python
# -*- coding: utf-8 -*-
 
import datetime
import os
 
 
f = os.popen('free -m').readlines()
memm = str(f).split()[10]
if int(memm) < 200:
    mail_content = "echo 'ip:ip地址(free -m)' | mailx -s '[Warning!]MEM below 200, please check!' 收件邮箱"
    os.popen(mail_content)
else:
    pass

以上就是用python监控服务器的cpu,磁盘空间,内存,超过邮件报警的详细内容,更多关于python监控服务器的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python函数返回多个值的示例方法
Dec 04 Python
Python使用MYSQLDB实现从数据库中导出XML文件的方法
May 11 Python
Python使用面向对象方式创建线程实现12306售票系统
Dec 24 Python
Python3中的真除和Floor除法用法分析
Mar 16 Python
tensorflow中next_batch的具体使用
Feb 02 Python
Python实现的远程登录windows系统功能示例
Jun 21 Python
Django-Model数据库操作(增删改查、连表结构)详解
Jul 17 Python
Python+Pyqt实现简单GUI电子时钟
Feb 22 Python
python中sort sorted reverse reversed函数的区别说明
May 11 Python
Python使用Numpy模块读取文件并绘制图片
May 13 Python
Python OpenCV超详细讲解基本功能
Apr 02 Python
Pillow图像处理库安装及使用
Apr 12 Python
python热力图实现简单方法
Jan 29 #Python
Ubuntu20.04环境安装tensorflow2的方法步骤
Jan 29 #Python
python3定位并识别图片验证码实现自动登录功能
Jan 29 #Python
python中numpy数组与list相互转换实例方法
Jan 29 #Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
Jan 29 #Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
Jan 29 #Python
python中spy++的使用超详细教程
Jan 29 #Python
You might like
PHP5与MySQL数据库操作常用代码 收集
2010/03/21 PHP
php笔记之:文章中图片处理的使用
2013/04/26 PHP
PHP中error_log()函数的使用方法
2015/01/20 PHP
php使用array_search函数实现数组查找的方法
2015/06/12 PHP
PHP用PDO如何封装简单易用的DB类详解
2017/07/30 PHP
PHP使用SMTP邮件服务器发送邮件示例
2018/08/28 PHP
jQuery中parents()和parent()的区别分析
2014/10/28 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
详解AngularJS中的依赖注入机制
2015/06/17 Javascript
浅谈如何实现easyui的datebox格式化
2016/06/12 Javascript
javascript中Date对象的使用总结
2016/11/21 Javascript
jquery实现多次上传同一张图片
2017/01/09 Javascript
基于vue-resource jsonp跨域问题的解决方法
2018/02/03 Javascript
taro开发微信小程序的实践
2019/05/21 Javascript
ES6新增的数组知识实例小结
2020/05/23 Javascript
python 环境变量和import模块导入方法(详解)
2017/07/11 Python
Python实现字典按照value进行排序的方法分析
2017/12/23 Python
对python csv模块配置分隔符和引用符详解
2018/12/12 Python
Pandas之Dropna滤除缺失数据的实现方法
2019/06/25 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
2019/09/26 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
python判断链表是否有环的实例代码
2020/01/31 Python
详解Python IO编程
2020/07/24 Python
用python进行视频剪辑
2020/11/02 Python
使用SVG实现提示框功能的示例代码
2020/06/05 HTML / CSS
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
美国最大的在线水培用品商店:GrowersHouse.com
2018/08/14 全球购物
巴西最大的巴士票务门户:Quero Passagem
2020/11/21 全球购物
垃圾回收的优点和原理
2014/05/16 面试题
博士生入学考试推荐信
2013/11/17 职场文书
药学专业个人的自我评价
2013/12/31 职场文书
出纳员岗位职责风险
2014/03/06 职场文书
聚美优品恶搞广告词
2014/03/14 职场文书
金融管理专业求职信
2014/07/10 职场文书
交通运输局四风问题对照检查材料思想汇报
2014/10/09 职场文书
家庭暴力离婚起诉书
2015/05/18 职场文书