用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 相关文章推荐
python2 与python3的print区别小结
Jan 16 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
Apr 19 Python
Python 读取图片文件为矩阵和保存矩阵为图片的方法
Apr 27 Python
Python实现修改IE注册表功能示例
May 10 Python
Python 使用PIL中的resize进行缩放的实例讲解
Aug 03 Python
python实现彩票系统
Jun 28 Python
python 拼接文件路径的方法
Oct 23 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
Feb 21 Python
python将字典列表导出为Excel文件的方法
Sep 02 Python
基于python的列表list和集合set操作
Nov 24 Python
Python pandas 列转行操作详解(类似hive中explode方法)
May 18 Python
Python matplotlib 利用随机函数生成变化图形
Apr 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
php上传文件常见问题总结
2015/02/03 PHP
php利用事务处理转账问题
2015/04/22 PHP
PHP使用CURL实现多线程抓取网页
2015/04/30 PHP
php实现window平台的checkdnsrr函数
2015/05/27 PHP
PHP+Ajax无刷新带进度条图片上传示例
2017/02/08 PHP
php中请求url的五种方法总结
2017/07/13 PHP
idTabs基于JQuery的根据URL参数选择Tab插件
2012/04/11 Javascript
jquery隐藏标签和显示标签的实例
2013/11/11 Javascript
利用Jquery实现可多选的下拉框
2014/02/21 Javascript
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
一道优雅面试题分析js中fn()和return fn()的区别
2016/07/05 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
2016/11/21 Javascript
jQuery Validate验证框架详解(推荐)
2016/12/17 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
vue ssr 指南详读
2018/06/29 Javascript
Vue 组件注册实例详解
2019/02/23 Javascript
Node.js API详解之 Error模块用法实例分析
2020/05/14 Javascript
原生JS实现微信通讯录
2020/06/18 Javascript
Python的Django框架中的URL配置与松耦合
2015/07/15 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
django中related_name的用法说明
2020/05/20 Python
HomeAway澳大利亚:预订你的度假屋,公寓、度假村、别墅等
2019/02/20 全球购物
娇韵诗Clarins意大利官方网站:法国天然护肤品牌
2020/03/11 全球购物
Linux管理员面试题 Linux admin interview questions
2014/11/01 面试题
个人简历中自我评价
2014/02/11 职场文书
新学期标语
2014/06/30 职场文书
2014乡镇机关党员个人对照检查材料思想汇报
2014/10/09 职场文书
个人总结与自我评价2015
2015/03/11 职场文书
寻衅滋事罪辩护词
2015/05/21 职场文书
可怜妈妈观后感
2015/06/09 职场文书
有关浪费资源的建议书
2015/09/14 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书
初中英语教学反思范文
2016/02/15 职场文书
关于Oracle12C默认用户名system密码不正确的解决方案
2021/10/16 Oracle
ant design vue的form表单取值方法
2022/06/01 Vue.js