用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实战之决策树
Nov 01 Python
Python实现列表删除重复元素的三种常用方法分析
Nov 24 Python
基于wxPython的GUI实现输入对话框(2)
Feb 27 Python
python 批量解压压缩文件的实例代码
Jun 27 Python
Python 字符串类型列表转换成真正列表类型过程解析
Aug 26 Python
python使用PIL和matplotlib获取图片像素点并合并解析
Sep 10 Python
Python timeit模块的使用实践
Jan 13 Python
python应用Axes3D绘图(批量梯度下降算法)
Mar 25 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
Jul 01 Python
jupyter使用自动补全和切换默认浏览器的方法
Nov 18 Python
在PyCharm中安装PaddlePaddle的方法
Feb 05 Python
Python实战实现爬取天气数据并完成可视化分析详解
Jun 16 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
PHP4 与 MySQL 数据库操作函数详解
2006/12/06 PHP
php解析base64数据生成图片的方法
2016/12/06 PHP
PHP实现微信图片上传到服务器的方法示例
2017/06/29 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
jQuery 方法大全方便学习参考
2010/02/25 Javascript
深入理解javaScript中的事件驱动
2013/05/21 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
2013/08/23 Javascript
利用了jquery的ajax实现二级联互动菜单
2013/12/02 Javascript
限制上传文件大小和格式的jQuery插件实例
2015/01/24 Javascript
JS实现固定在右下角可展开收缩DIV层的方法
2015/02/13 Javascript
JS中substring与substr的用法
2016/11/16 Javascript
深入理解javascript函数参数与闭包
2016/12/12 Javascript
微信小程序 动态绑定数据及动态事件处理
2017/03/14 Javascript
vue项目中jsonp跨域获取qq音乐首页推荐问题
2018/05/30 Javascript
详解vue-loader在项目中是如何配置的
2018/06/04 Javascript
ajax与jsonp的区别及用法
2018/10/16 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
2019/03/06 Javascript
深入浅出vue图片路径的实现
2019/09/04 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
python计算一个序列的平均值的方法
2015/07/11 Python
pycharm远程linux开发和调试代码的方法
2018/07/17 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
2018/10/26 Python
Python解析、提取url关键字的实例详解
2018/12/17 Python
Python实现简单石头剪刀布游戏
2021/01/20 Python
简单了解python gevent 协程使用及作用
2019/07/22 Python
TensorFlow实现checkpoint文件转换为pb文件
2020/02/10 Python
python数据爬下来保存的位置
2020/02/17 Python
Pytest参数化parametrize使用代码实例
2020/02/22 Python
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
注册资产评估专业求职信
2014/07/16 职场文书
2014领导班子正风肃纪思想汇报
2014/09/18 职场文书
科长个人四风问题整改措施思想汇报
2014/10/13 职场文书
历史博物馆观后感
2015/06/05 职场文书
jdbc使用PreparedStatement批量插入数据的方法
2021/04/27 MySQL
python 解决微分方程的操作(数值解法)
2021/05/26 Python