python实现简单的系统监控
来源:互联网 发布:tcp ip网络协议分析 编辑:程序博客网 时间:2024/04/30 09:08
最近系统出现一次宕机,因为部署环境不受自己控制,但是短时间内系统稳定性要求比较高,所以就写了个python脚本,每隔一段时间访问系统的一个固定地址,如果访问失败就给自己发一封邮件。(此方案属于临时性监控,和运维监控无关,仅是个人学习python的一个实践)
1、发送邮件的python代码 <mail.py>
#coding: utf-8
import smtplib
from email.mime.text import MIMEText
from email.header import Header
mailto_list=["xxx@xxx.com 接收预警邮件"]
mail_host="smtp.163.com"
mail_user="xxxx 发送邮件的账号"
mail_pass="xxx 发送邮件的密码"
mail_postfix="163.com"
def send_mail(sub,content):
me="Monitor<"+mail_user+"@"+mail_postfix+">"
msg=MIMEText(content,_subtype='plain',_charset='gb2312')
msg['Subject']=sub
msg['From']=me
msg['To']=";".join(mailto_list)
try:
server=smtplib.SMTP()
server.connect(mail_host)
server.login(mail_user,mail_pass)
server.sendmail(me,mailto_list,msg.as_string())
server.close()
return True
except Exception,e:
print str(e)
return False
if __name__=="__main__":
if send_mail("Monitor","System Failed"):
print "finished"
else:
print "error"
2、监控系统URL的python代码 <monitor.py>
import urllib2
import mail
try:
s=urllib2.urlopen("http://xxx.xxx.xxx/xxxx.do").read()
if "xxxx 页面内某段内容是否输出了" in s:
print "System is ok"
else:
print "System is down"
mail.send_mail("Monitor","System Failed")
except Exception,e:
print str(e)
3、在服务器上执行crontab -e
输入*/30 * * * * python /home/monitor/monitor.py
每隔30分钟调用一次,mail.py和monitor.py都放在一个目录下
- python实现简单的系统监控
- Python简单监控键盘输入的木马实现
- python实现linux下的简单进程监控
- flask + mysql + highcharts(动态刷新)实现的简单监控系统
- 集群cpu使用率监控系统的简单实现(一)被监控端的实现
- 集群cpu使用率监控系统的简单实现(二)监控端的实现
- 一个简单的监控系统
- python 实现简单监控 windows版
- Python运维三十六式:用Python写一个简单的监控系统
- 性能监控的简单实现
- 简单后台监控的实现
- 高清视音监控系统的实现
- 利用python监控linux系统cpu、内存、文件系统的使用情况以及简单的邮件报警
- 简单的监控linux系统的网络流量
- 一个简单的监控系统的设计
- 简单的系统监控监本
- 用树莓派做一个简单的监控系统
- 监控系统Zabbix的简单介绍
- android 群组头像的显示(仿QQ群组)
- 短文本语义比对调研
- ARM FP寄存器及frame pointer介绍
- Vuex 2.0 源码分析
- 令仔代码收藏系列(二)----BASE64编码
- python实现简单的系统监控
- iOS指纹识别
- DHCP options
- html设置密码输入限制在十个字符
- css3 box-shadow阴影(外阴影与外发光)讲解
- bootstrap中常用的插件及示例
- JAVA动态任务SCHEDULEJOB
- 测试
- kali linux中文版终端字体重叠问题