用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之永远强大的函数
Sep 14 Python
用Python实现通过哈希算法检测图片重复的教程
Apr 02 Python
详解Python中break语句的用法
May 14 Python
Python 模拟员工信息数据库操作的实例
Oct 23 Python
python编程培训 python培训靠谱吗
Jan 17 Python
python匹配两个短语之间的字符实例
Dec 25 Python
python3利用Socket实现通信的方法示例
May 06 Python
Python中的引用知识点总结
May 20 Python
python3获取url文件大小示例代码
Sep 18 Python
django在保存图像的同时压缩图像示例代码详解
Feb 11 Python
django admin后管定制-显示字段的实例
Mar 11 Python
浅析Django接口版本控制
Jun 26 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
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
2008/03/28 PHP
PHP中Session ID的实现原理实例分析
2019/08/17 PHP
关于文本限制字数的js代码
2007/04/02 Javascript
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
利用JS重写Cognos右键菜单的实现代码
2010/04/11 Javascript
JS的千分位算法实现思路
2013/07/31 Javascript
js实现超酷的照片墙展示效果图附源码下载
2015/10/08 Javascript
深入浅析Node.js 事件循环
2015/12/20 Javascript
javascript 中的console.log和弹出窗口alert
2016/08/30 Javascript
bootstrap可编辑下拉框jquery.editable-select
2017/10/12 jQuery
Vue数据监听方法watch的使用
2018/03/28 Javascript
详解Vue 多级组件透传新方法provide/inject
2018/05/09 Javascript
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
2018/08/29 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
Vue的全局过滤器和私有过滤器的实现
2020/04/20 Javascript
基于PHP pthreads实现多线程代码实例
2020/06/24 Javascript
jQuery+ajax实现用户登录验证
2020/09/13 jQuery
node.js爬虫框架node-crawler初体验
2020/10/29 Javascript
跟老齐学Python之折腾一下目录
2014/10/24 Python
python编程羊车门问题代码示例
2017/10/25 Python
关于Python的一些学习总结
2018/05/25 Python
Python实现登陆文件验证方法
2018/10/06 Python
Python UnboundLocalError和NameError错误根源案例解析
2018/10/31 Python
python使用PIL模块获取图片像素点的方法
2019/01/08 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
python 类之间的参数传递方式
2019/12/20 Python
结合CSS3的布局新特征谈谈常见布局方法
2016/01/22 HTML / CSS
Html5新增标签与样式及让元素水平垂直居中
2019/07/11 HTML / CSS
Lookfantastic法国官网:英国知名美妆购物网站
2017/10/28 全球购物
优秀乡村医生事迹材料
2014/05/28 职场文书
社团活动总结格式
2014/08/29 职场文书
2015年青年志愿者协会工作总结
2015/04/27 职场文书
2015年结对帮扶工作总结
2015/05/04 职场文书
法律意见书范本
2015/06/04 职场文书
护士医德医风心得体会
2016/01/25 职场文书
2019 入党申请书范文
2019/07/10 职场文书