在正式的生产环境中,我们常常会需要监控服务器的状态,以保证公司整个业务的正常运转,常常我们会用到像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监控服务器状态进行邮件报警相关推荐

  1. python3.6爬虫源代码_基于Python3.6爬虫 采集知网文献(更新)

    首先看到这么多朋友浏览,证明对大家还是有帮助的,感谢大家的关注!因为文章是在一年前写的,网站更新了不少,下面的代码已经不适用,特意更新了下,供大家参考. 首先,我们输入我们的主题,看到如下: 我们会发 ...

  2. python获取app信息的库_基于python3抓取pinpoint应用信息入库

    这篇文章主要介绍了基于python3抓取pinpoint应用信息入库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Pinpoint是用Java编写 ...

  3. python3web库_基于 Python3 写的极简版 webserver

    基于 Python3 写的极简版 webserver.用于学习 HTTP协议,及 WEB服务器 工作原理.笔者对 WEB服务器 的工作原理理解的比较粗浅,仅是基于个人的理解来写的,存在很多不足和漏洞, ...

  4. python typing与之配合_基于Python3(Autosub)以及Ffmpeg配合GoogleTranslation为你的影片实现双语版字幕(逐字稿)...

    为影片加字幕其实是一件非常耗费时间的事情,尤其是对于打字慢的朋友来说.当然不光为影片加字幕,在其他领域,类似的逐字稿也是工作中避免不了的内容.比如写论文,如果内容中有访谈,就必须要附上逐字稿,又或者是 ...

  5. python逗号代码_基于Python3 逗号代码 和 字符图网格(详谈)

    逗号代码 假定有下面这样的列表: spam=['apples','bananas','tofu',' cats'] 编写一个函数,它以一个列表值作为参数,返回一个字符串.该字符串包含所有表项,表项之间 ...

  6. python代码检查工具_基于Python3的漏洞检测工具 ( Python3 插件式框架 )

    [TOC] Python3 漏洞检测工具 -- lance lance, a simple version of the vulnerability detection framework based ...

  7. python3类的继承详解_基于python3 类的属性、方法、封装、继承详解

    下面小编就为大家带来一篇基于python3 类的属性.方法.封装.继承实例讲解.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 Python 类 Python中的类提供了 ...

  8. python爱因斯坦的问题_基于Python3的趣味数学问题

    基于Python3的趣味数学问题 Pro1. 数独(Sudoku)根据九宫格盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行.每一列.每一个宫(3*3)内的数字均含1-9这9个数字. Pro2 ...

  9. 基于python3写的源码剖析_基于python3生成标签云代码解析

    这篇文章主要介绍了基于python3生成标签云代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 标签云是现在大数据里面最喜欢使用的一种展现方式 ...

最新文章

  1. gensim models.word2vec – Word2vec embeddings API
  2. 01_Win10下CUDA的安装、查看并升级Nvidia显卡驱动、安装CUDA、设置环境变量、测试CUDA是否安装成功
  3. excelexportentity中设置null不显示的方法_一般人不知道的线程间数据交换Exchanger
  4. WinCE驱动调试助手V2.5
  5. [流体输配管网]古罗马渡槽从水源到城市的落差估计
  6. 计算机系统无法启动 错误恢复怎么办,我电脑在重装系统时出现windows错误恢复怎么办?...
  7. 根文件系统定制【ZT】
  8. 简单梳理帆软报表即决策系统的登录步骤 一
  9. ESXi vSphere Client中copy paste如何启用
  10. 解决Linux下ArcGIS Server的Tomcat不稳定问题,nginx配置反向代理时的一个小问题
  11. 如何检测元素外部的点击?
  12. [轉]winrar的命令行
  13. SOAPUI接口测试http协议详细测试过程
  14. 超震撼数据可视化工具
  15. 先分号分隔 然后逗号分割c语言,分隔符的用法
  16. OSChina 周一乱弹 —— 鱼生不值得
  17. 区块链ICO新加坡基金会法律意见书有哪些作用?
  18. 导入excel插件xlsx的使用详解
  19. unable to load dll 'gdiplus.dll' in docker
  20. 搞定计算机网络的常见面试问题

热门文章

  1. java中枚举类型详解
  2. 勤学如春起之苗,不见其增,日有所长!
  3. FastDFS文件服务器安装
  4. CDH- Hive HWI 配置
  5. linux系统备份和恢复
  6. 基于 Tracing 数据的拓扑关系生成原理
  7. 使用Spark Streaming SQL基于时间窗口进行数据统计
  8. 使用CLI进行高速跨域日志复制、历史数据重新索引与数仓投递
  9. 一张图看懂阿里云新发布的物联网设备上云神器——HiTSDB + IoT套件
  10. 腾讯安全发布安全托管服务MSS,推动网络安全建设向服务驱动转变