用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 相关文章推荐
wxPython窗口的继承机制实例分析
Sep 28 Python
python提示No module named images的解决方法
Sep 29 Python
详解Python的Lambda函数与排序
Oct 25 Python
Python使用Tkinter实现机器人走迷宫
Jan 22 Python
VSCode中自动为Python文件添加头部注释
Nov 14 Python
浅析python,PyCharm,Anaconda三者之间的关系
Nov 27 Python
如何解决tensorflow恢复模型的特定值时出错
Feb 06 Python
解决python父线程关闭后子线程不关闭问题
Apr 25 Python
python使用selenium爬虫知乎的方法示例
Oct 28 Python
python中绕过反爬虫的方法总结
Nov 25 Python
python中对列表的删除和添加方法详解
Feb 24 Python
Python基本知识点总结
Apr 07 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 和 XML: 使用expat函数(一)
2006/10/09 PHP
php学习笔记(三)操作符与控制结构
2011/08/06 PHP
joomla组件开发入门教程
2016/05/04 PHP
php简单实现短网址(短链)还原的方法(测试可用)
2016/05/09 PHP
php批量转换文件夹下所有文件编码的函数类
2017/08/06 PHP
yii2 在控制器中验证请求参数的使用方法
2019/06/19 PHP
Jquery 基础学习笔记之文档处理
2009/05/29 Javascript
让人印象深刻的10个jQuery手风琴效果应用
2012/05/08 Javascript
javascript获取url上某个参数的方法
2013/11/08 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
javascript移出节点removeChild()使用介绍
2014/04/03 Javascript
使用控制台破解百小度一个月只准改一次名字
2015/08/13 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
2015/08/26 Javascript
jQuery.ajax向后台传递数组问题的解决方法
2017/05/12 jQuery
jQuery与原生JavaScript选择HTML元素集合用法对比分析
2019/11/26 jQuery
vue实现div单选多选功能
2020/07/16 Javascript
vue3.0 的 Composition API 的使用示例
2020/10/26 Javascript
JavaScript实现原型封装轮播图
2020/12/27 Javascript
PYTHON正则表达式 re模块使用说明
2011/05/19 Python
python Django框架实现自定义表单提交
2016/03/25 Python
python 找出list中最大或者最小几个数的索引方法
2018/10/30 Python
Python生成指定数量的优惠码实操内容
2019/06/18 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统
2019/09/05 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
Python高并发和多线程有什么关系
2020/11/14 Python
移动端适配 使px自动转换rem
2019/08/26 HTML / CSS
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
玩具反斗城天猫官方旗舰店:享誉全球的玩具店
2017/10/10 全球购物
一个精品风格的世界:Atterley
2019/05/01 全球购物
一篇.NET面试题
2014/09/29 面试题
教师个人成长总结
2015/02/11 职场文书
2015新学期开学寄语
2015/02/26 职场文书
刑事上诉状(无罪)
2015/05/23 职场文书
王亚平太空授课观后感
2015/06/12 职场文书