python3 网站状态监控_基于python3监控服务器状态进行邮件报警
在正式的生产环境中,我们常常会需要监控服务器的状态,以保证公司整个业务的正常运转,常常我们会用到像nagios、zabbix这类工具进行实时监控,那么用python我们怎么进行监控呢?这里我们利用了python3调用psutil和yagmail这两个模块进行监测服务器的内存、磁盘、cpu状态(以及我们监控apache运行状态用到的socket模块)
监控内存、磁盘、cpu
import psutil
def mem():
mem = psutil.virtual_memory()
return mem[2]
def disk():
disk = psutil.disk_usage('/root')
return disk[3]
def cpu():
cpu = psutil.cpu_percent(60)
return cpu
a = mem()
b = disk()
c = cpu()
import yagmail
yag = yagmail.SMTP(user = 'xxx@qq.com',
password = 'cxboscylplifgadd', host =
'smtp.qq.com')
if a > 80:
yag.send(to = 'xxx@qq.com', subject =
'内存报警', contents = '运行内存超过80%请尽快处理',
cc = 'xxx@qq.com')
yag.close()
if b > 70:
yag.send(to = 'xxx@qq.com', subject =
'系统磁盘报警', contents = '系统磁盘超过70%请尽快处理',
cc = 'xxx@qq.com')
yag.close()
if c > 90:
yag.send(to = 'xxx@qq.com', subject =
'cpu报警', contents = 'cpu超过90%请尽快处理',
cc = 'xxx@qq.com')
yag.close()
监控网页服务(报警)
import socket, yagmail
hosts = ['192.168.8.137:80',
'192.168.8.15:88'
]
socket.setdefaulttimeout(5)
for host in hosts:
ip = host.split(':')[0]
port = host.split(':')[1]
server = socket.socket()
res = server.connect_ex((ip, int(port)))# 返回值为0代表ok,
不为0代表失败
if res == 0:
pass
else :
yag = yagmail.SMTP(user = 'xxx@qq.com',
password = 'cxboscylplifgadd', host =
'smtp.qq.com')
yag.send(to = 'xxx@qq.com', subject =
'警告', contents = '%s httpd服务断开请检测' %
ip, cc = 'xx@163.com')
yag.close()
这样我们的监控脚本python脚本就完成了,现在就只需要拿到服务器执行定时任务就行了。现在我们来检测一下:
编辑一下定时任务
我们将写上面两个脚本写入1.py和2.py这两个文件中,为了方便验证我们将磁盘判断值改为30,实际上我们已用到了40%,这样就能直接报警了,两台服务器的Apache端口都为80且均为正常运行状态。
我们等待一分钟。。。。。。。
我们收到两封报警邮件,是不是很方便呢?
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
时间: 2019-10-17
python3 网站状态监控_基于python3监控服务器状态进行邮件报警相关推荐
- python3.6爬虫源代码_基于Python3.6爬虫 采集知网文献(更新)
首先看到这么多朋友浏览,证明对大家还是有帮助的,感谢大家的关注!因为文章是在一年前写的,网站更新了不少,下面的代码已经不适用,特意更新了下,供大家参考. 首先,我们输入我们的主题,看到如下: 我们会发 ...
- python获取app信息的库_基于python3抓取pinpoint应用信息入库
这篇文章主要介绍了基于python3抓取pinpoint应用信息入库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Pinpoint是用Java编写 ...
- python3web库_基于 Python3 写的极简版 webserver
基于 Python3 写的极简版 webserver.用于学习 HTTP协议,及 WEB服务器 工作原理.笔者对 WEB服务器 的工作原理理解的比较粗浅,仅是基于个人的理解来写的,存在很多不足和漏洞, ...
- python typing与之配合_基于Python3(Autosub)以及Ffmpeg配合GoogleTranslation为你的影片实现双语版字幕(逐字稿)...
为影片加字幕其实是一件非常耗费时间的事情,尤其是对于打字慢的朋友来说.当然不光为影片加字幕,在其他领域,类似的逐字稿也是工作中避免不了的内容.比如写论文,如果内容中有访谈,就必须要附上逐字稿,又或者是 ...
- python逗号代码_基于Python3 逗号代码 和 字符图网格(详谈)
逗号代码 假定有下面这样的列表: spam=['apples','bananas','tofu',' cats'] 编写一个函数,它以一个列表值作为参数,返回一个字符串.该字符串包含所有表项,表项之间 ...
- python代码检查工具_基于Python3的漏洞检测工具 ( Python3 插件式框架 )
[TOC] Python3 漏洞检测工具 -- lance lance, a simple version of the vulnerability detection framework based ...
- python3类的继承详解_基于python3 类的属性、方法、封装、继承详解
下面小编就为大家带来一篇基于python3 类的属性.方法.封装.继承实例讲解.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 Python 类 Python中的类提供了 ...
- python爱因斯坦的问题_基于Python3的趣味数学问题
基于Python3的趣味数学问题 Pro1. 数独(Sudoku)根据九宫格盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行.每一列.每一个宫(3*3)内的数字均含1-9这9个数字. Pro2 ...
- 基于python3写的源码剖析_基于python3生成标签云代码解析
这篇文章主要介绍了基于python3生成标签云代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 标签云是现在大数据里面最喜欢使用的一种展现方式 ...
最新文章
- gensim models.word2vec – Word2vec embeddings API
- 01_Win10下CUDA的安装、查看并升级Nvidia显卡驱动、安装CUDA、设置环境变量、测试CUDA是否安装成功
- excelexportentity中设置null不显示的方法_一般人不知道的线程间数据交换Exchanger
- WinCE驱动调试助手V2.5
- [流体输配管网]古罗马渡槽从水源到城市的落差估计
- 计算机系统无法启动 错误恢复怎么办,我电脑在重装系统时出现windows错误恢复怎么办?...
- 根文件系统定制【ZT】
- 简单梳理帆软报表即决策系统的登录步骤 一
- ESXi vSphere Client中copy paste如何启用
- 解决Linux下ArcGIS Server的Tomcat不稳定问题,nginx配置反向代理时的一个小问题
- 如何检测元素外部的点击?
- [轉]winrar的命令行
- SOAPUI接口测试http协议详细测试过程
- 超震撼数据可视化工具
- 先分号分隔 然后逗号分割c语言,分隔符的用法
- OSChina 周一乱弹 —— 鱼生不值得
- 区块链ICO新加坡基金会法律意见书有哪些作用?
- 导入excel插件xlsx的使用详解
- unable to load dll 'gdiplus.dll' in docker
- 搞定计算机网络的常见面试问题