用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装饰器 免去调用父类构造函数的麻烦
May 18 Python
利用soaplib搭建webservice详细步骤和实例代码
Nov 20 Python
Python 多线程实例详解
Mar 25 Python
Tornado Web Server框架编写简易Python服务器
Jul 28 Python
Python实现 版本号对比功能的实例代码
Apr 18 Python
从列表或字典创建Pandas的DataFrame对象的方法
Jul 06 Python
pygame实现打字游戏
Feb 19 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
Dec 04 Python
python实现ip地址的包含关系判断
Feb 07 Python
Python 定义只读属性的实现方式
Mar 05 Python
python实现KNN近邻算法
Dec 30 Python
Python中Numpy和Matplotlib的基本使用指南
Nov 02 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版(2)
2006/10/09 PHP
PHP+DBM的同学录程序(2)
2006/10/09 PHP
PHP进程同步代码实例
2015/02/12 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
2016/11/14 PHP
PHP DB 数据库连接类定义与用法示例
2019/03/11 PHP
jquery中ajax调用json数据的使用说明
2011/03/17 Javascript
jQuery不间断滚动效果(模拟百度新闻支持文字/图片/垂直滚动)
2013/02/05 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
2014/08/27 Javascript
js对象继承之原型链继承实例
2015/01/10 Javascript
javascript的BOM汇总
2015/07/16 Javascript
jquery验证邮箱格式并显示提交按钮
2015/11/07 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
2016/08/10 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
详谈javascript精度问题与调整
2017/07/08 Javascript
layui表单提交到后台自动封装到实体类的方法
2019/09/12 Javascript
使用vue打包进行云服务器上传的问题
2020/03/02 Javascript
[52:36]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python远程桌面协议RDPY安装使用介绍
2015/04/15 Python
详解Python中contextlib上下文管理模块的用法
2016/06/28 Python
python实现维吉尼亚加密法
2019/03/20 Python
如何解决安装python3.6.1失败
2020/07/01 Python
浅谈盘点5种基于Python生成的个性化语音方法
2021/02/05 Python
python 实现有道翻译功能
2021/02/26 Python
关于h5中的fetch方法解读(小结)
2017/11/15 HTML / CSS
介绍一下结构化程序设计方法和面向对象程序设计方法的区别
2012/06/27 面试题
教育学专业毕业生的自我鉴定
2013/11/26 职场文书
档案工作汇报材料
2014/08/21 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
师范生见习报告范文
2014/11/03 职场文书
大学生实习证明
2015/06/16 职场文书
初中团支书竞选稿
2015/11/21 职场文书
《棉鞋里的阳光》教学反思
2016/02/20 职场文书
python通过opencv调用摄像头操作实例分析
2021/06/07 Python
SQL Server的存储过程与触发器以及系统函数和自定义函数
2022/04/10 SQL Server