用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 18 Python
简单实现python进度条脚本
Dec 18 Python
Python学习_几种存取xls/xlsx文件的方法总结
May 03 Python
python批量赋值操作实例
Oct 22 Python
Python实现插入排序和选择排序的方法
May 12 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
May 16 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
Jun 13 Python
python 批量添加的button 使用同一点击事件的方法
Jul 17 Python
解决django-xadmin列表页filter关联对象搜索问题
Nov 15 Python
简单了解python装饰器原理及使用方法
Dec 18 Python
python打印文件的前几行或最后几行教程
Feb 13 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
May 20 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
重置版宣传动画
2020/04/09 魔兽争霸
linux下使用ThinkPHP需要注意大小写导致的问题
2011/08/02 PHP
ThinkPHP之import方法实例详解
2014/06/20 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
2020/04/13 PHP
使用EXT实现无刷新动态调用股票信息
2008/11/01 Javascript
JS.elementGetStyle(element, style)应用示例
2013/09/24 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
JavaScript闭包详解
2015/02/02 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
JS获取url参数、主域名的方法实例分析
2016/08/03 Javascript
Bootstrap轮播插件使用代码
2016/10/11 Javascript
jquery——九宫格大转盘抽奖实例
2017/01/16 Javascript
Vue.js bootstrap前端实现分页和排序
2017/03/10 Javascript
移动端触摸滑动插件swiper使用方法详解
2017/08/11 Javascript
Java Varargs 可变参数用法详解
2020/01/28 Javascript
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
Node.js API详解之 dns模块用法实例分析
2020/05/15 Javascript
[00:09]DOTA2全国高校联赛 精彩活动引爆全场
2018/05/30 DOTA
Python对list列表结构中的值进行去重的方法总结
2016/05/07 Python
Python爬虫包 BeautifulSoup  递归抓取实例详解
2017/01/28 Python
Python实现识别手写数字 简易图片存储管理系统
2018/01/29 Python
python绘制多个曲线的折线图
2020/03/23 Python
python爬虫解决验证码的思路及示例
2019/08/01 Python
python3 求约数的实例
2019/12/05 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
Bally澳大利亚官网:瑞士奢侈品牌
2018/11/01 全球购物
俄罗斯天然和有机产品、健康生活网上商店:Fitomarket.ru
2020/10/09 全球购物
介绍一下Prototype的$()函数,$F()函数,$A()函数都是什么作用?
2014/03/05 面试题
Unix控制后台进程都有哪些进程
2016/09/22 面试题
小学生学习感言
2014/03/10 职场文书
护士自我鉴定总结
2014/03/24 职场文书
公安纪律作风整顿剖析材料
2014/10/10 职场文书
党的群众路线教育实践活动批评与自我批评范文
2014/10/16 职场文书
2015年幼儿园中班下学期工作总结
2015/05/22 职场文书
防止web项目中的SQL注入
2021/12/06 MySQL