用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对象的深拷贝和浅拷贝详解
Aug 25 Python
Python语言实现获取主机名根据端口杀死进程
Mar 31 Python
浅谈python中的变量默认是什么类型
Sep 11 Python
python 换位密码算法的实例详解
Jul 19 Python
分享一下如何编写高效且优雅的 Python 代码
Sep 07 Python
python语音识别实践之百度语音API
Aug 30 Python
破解安装Pycharm的方法
Oct 19 Python
Python获取网段内ping通IP的方法
Jan 31 Python
Python简单处理坐标排序问题示例
Jul 11 Python
django自定义模板标签过程解析
Dec 14 Python
python文件和文件夹复制函数
Feb 07 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
Jan 19 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
PHP extract 将数组拆分成多个变量的函数
2010/06/30 PHP
orm获取关联表里的属性值
2016/04/17 PHP
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
2016/05/22 PHP
php实现批量删除挂马文件及批量替换页面内容完整实例
2016/07/08 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
2020/05/26 PHP
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
2010/12/08 Javascript
基于jquery点击自以外任意处,关闭自身的代码
2012/02/10 Javascript
javascript遍历控件实例详细解析
2014/01/10 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
2014/06/15 Javascript
JavaScript中的Repaint和Reflow用法详解
2015/07/27 Javascript
javascript实现tab切换的四种方法
2015/11/05 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
AngularJS ng-bind-html 指令详解及实例代码
2016/07/30 Javascript
vue项目中使用百度地图的方法
2018/06/08 Javascript
详解javascript appendChild()的完整功能
2018/08/18 Javascript
谈谈React中的Render Props模式
2018/12/06 Javascript
puppeteer实现html截图的示例代码
2019/01/10 Javascript
[49:27]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第一场
2018/04/05 DOTA
对Python中的@classmethod用法详解
2018/04/21 Python
Django框架模板用法入门教程
2019/11/04 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
2020/05/24 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
2020/10/15 Python
解决pytorch下出现multi-target not supported at的一种可能原因
2021/02/06 Python
Marriott中国:万豪国际酒店查询预订
2016/09/02 全球购物
县长“四风”对照检查材料思想汇报
2014/10/05 职场文书
八项规定自查自纠报告及整改措施
2014/10/26 职场文书
学生检讨书范文
2014/10/30 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书
电影建党伟业观后感
2015/06/01 职场文书
python 如何用map()函数创建多线程任务
2021/04/07 Python
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL
Python实现Telnet自动连接检测密码的示例
2021/04/16 Python
如何在CSS中绘制曲线图形及展示动画
2021/05/24 HTML / CSS
变长双向rnn的正确使用姿势教学
2021/05/31 Python