python监控脚本,监控CPU,磁盘报警时发送邮件
2014-12-24 15:35
961 查看
我是一个python初学者,刚刚写的一个python脚本,希望大神指点。
#!/usr/bin/env python
#encoding=utf-8
# filename=mail.py
import os
import statvfs
import sys
import time
import email
import smtplib
import poplib
vfs=os.statvfs("/home")
available=vfs[statvfs.F_BAVAIL]*vfs[statvfs.F_BSIZE]*1.0/(1024*1024*1024)
capacity=vfs[statvfs.F_BLOCKS]*vfs[statvfs.F_BSIZE]*1.0/(1024*1024*1024)
used=available/capacity*100
HOST_NAME='11.207.62.23'
cpu_time=os.popen("top -bi -n 2 -d 0.02|awk '{print $5}'|cut -b 1-4").read().split('\n\n\n')[1].split('\n')[2]
def disk_mail():
try:
handle = smtplib.SMTP('smtp.qq.com',25)
handle.login('username','your password')
msg = '\n%s,Insufficient Disk Space, available space %.2f%%, available disk space %.2fG, The total size of disk space %.2fG' % (HOST_NAME,used,available,capaci
ty)
print msg.strip()
handle.sendmail('from username','to username',msg)
handle.close()
return 1
except smtplib.SMTPConnectError, e:
print "error", e
return 0
def cpu_mail():
try:
handle = smtplib.SMTP('smtp.qq.com',25)
handle.login('username','your password')
msg = '\n%s,Less CPU usage, The current availability for %s%% ' % (HOST_NAME,cpu_time)
print msg.strip()
handle.sendmail('from username','to username',msg)
handle.close()
return 1
except smtplib.SMTPConnectError, e:
print "error", e
return 0
#def check_mail():
# try:
# p = poplib.POP3('pop.163.com')
# p.user('username')
# p.pass_('password')
# ret = p.stat()
# print ret
# msglist = p.list()
# print msglist[0]
# for msg in msglist[1]:
# print msg
# except poplib.error_proto, e:
# print 'login failed',e
# sys.exit(1)
if available >1:
disk_mail()
if cpu_time > 10:
cpu_mail()
#!/usr/bin/env python
#encoding=utf-8
# filename=mail.py
import os
import statvfs
import sys
import time
import email
import smtplib
import poplib
vfs=os.statvfs("/home")
available=vfs[statvfs.F_BAVAIL]*vfs[statvfs.F_BSIZE]*1.0/(1024*1024*1024)
capacity=vfs[statvfs.F_BLOCKS]*vfs[statvfs.F_BSIZE]*1.0/(1024*1024*1024)
used=available/capacity*100
HOST_NAME='11.207.62.23'
cpu_time=os.popen("top -bi -n 2 -d 0.02|awk '{print $5}'|cut -b 1-4").read().split('\n\n\n')[1].split('\n')[2]
def disk_mail():
try:
handle = smtplib.SMTP('smtp.qq.com',25)
handle.login('username','your password')
msg = '\n%s,Insufficient Disk Space, available space %.2f%%, available disk space %.2fG, The total size of disk space %.2fG' % (HOST_NAME,used,available,capaci
ty)
print msg.strip()
handle.sendmail('from username','to username',msg)
handle.close()
return 1
except smtplib.SMTPConnectError, e:
print "error", e
return 0
def cpu_mail():
try:
handle = smtplib.SMTP('smtp.qq.com',25)
handle.login('username','your password')
msg = '\n%s,Less CPU usage, The current availability for %s%% ' % (HOST_NAME,cpu_time)
print msg.strip()
handle.sendmail('from username','to username',msg)
handle.close()
return 1
except smtplib.SMTPConnectError, e:
print "error", e
return 0
#def check_mail():
# try:
# p = poplib.POP3('pop.163.com')
# p.user('username')
# p.pass_('password')
# ret = p.stat()
# print ret
# msglist = p.list()
# print msglist[0]
# for msg in msglist[1]:
# print msg
# except poplib.error_proto, e:
# print 'login failed',e
# sys.exit(1)
if available >1:
disk_mail()
if cpu_time > 10:
cpu_mail()
相关文章推荐
- linux系统CPU内存磁盘监控发送邮件脚本之二
- 通过SSIS监控远程服务器磁盘空间并发送邮件报警
- Python 监控 DB 服务器信息(cpu, 磁盘,进程,alert log) 脚本
- python自动发送报警监控邮件
- 利用VBS脚本监控CPU,实现邮件报警
- python脚本发送报警邮件
- python 监控日志并发送邮件报警
- zabbix增加手机短信、邮件监控的注意要点,SSL邮件发送python脚本
- Python脚本通过邮件发送zabbix报警图片
- python脚本获取zabbix监控数据,并且通过邮件发送
- shell脚本监控系统负载,并在负载过大时发送邮件报警
- 监控redis和zookpeer服务脚本 并且python发送邮件
- Python 监控 DB 服务器信息(cpu, 磁盘,进程,alert log) 脚本
- 一个监控oracle数据库某个字段值变化并发送邮件报警的脚本
- Python 写的几个监控脚本(CPU,内存,网卡流量,负载,磁盘空间)
- python脚本发送报警邮件
- Python 监控 DB 服务器信息(cpu, 磁盘,进程,alert log) 脚本
- Python 监控 DB 服务器信息(cpu, 磁盘,进程,alert log) 脚本
- python实现监控磁盘情况,并邮件报警
- shell脚本远程监控服务器,并用mutt+msmtp发送报警邮件