现在的位置: 首页monitor, python>正文
python监控apache并发送邮件
2012年11月13日 monitor, python 暂无评论 ⁄ 被围观 3,679 view+
#!/usr/bin/env python
# -*- coding: UTF-8 -*-   #这个是使用编码,一般有中文建议使用
import socket             #以下都是载入模块
import re
import sys
import smtplib

def mail(address):         #定义mail函数,并传一个参过来即address
    smtp = smtplib.SMTP()  #smtp功能
    smtp.connect("smtp.qq.com", "25")  #连接smtp服务器
    smtp.login('yoyo@XXX.net', 'passwod')#登陆邮箱
    smtp.sendmail('yoyo@zhnews.net', 'yoyo@XXX.net', 'From: yoyo@XXX.net\rTo: yoyo@XXX.net\rSubject: 服务器出故障\r\n\r\n%s服务器出问题了' % address)#发送的主题、收件人、报警内容
    smtp.quit() #退出邮箱

def check_server(address,port): #定义check_server函数,并传两个参数address和port
    s=socket.socket()
    print '准备连接%s这台服务器的端口:%s......' % (address,port)
    try:
        s.connect((address,port))  #连接地址和端口
        print '正在连接%s这台服务器的端口:%s......' % (address,port)
        return '成功'
    except socket.error,e:         #异常错误处理
        print"连接%s这台服务器的端口:%s失败: %s" % (address,port,e)
        mail(address) #发送邮件
        return '失败'

if __name__=='__main__':
    from optparse import OptionParser    #载入选项说明模块
    parser=OptionParser()
    parser.add_option("-a","--address",dest="address",default='localhost',help="ADDRESS for web-server",metavar="ADDRESS")
    parser.add_option("-p","--port",dest="port",type="int",default=80,help="PORT for web-server",metavar="PORT")
    #以上两个都是设置模块说明
    (options,args)=parser.parse_args()   #获取参数
    print 'options:%s,Args:%s' % (options,args) #输入获取的选项
    check=check_server(options.address,options.port) #执行
    print '返回的结果: %s' % check  #输入check后的结果
    sys.exit(not check)  #退出

测试结果:

[root@localhost python]# python apache.py -a www.qq.com -p 80

options:{'port': 80, 'address': 'www.qq.com'},Args:[]

准备连接www.qq.com这台服务器的端口:80......

正在连接www.qq.com这台服务器的端口:80......

返回的结果: 成功

[root@localhost python]# python apache.py -a 192.168.1.1 -p 80

options:{'port': 80, 'address': '192.168.1.1'},Args:[]

准备连接192.168.1.1这台服务器的端口:80......

连接192.168.1.1这台服务器的端口:80失败: (110, 'Connection timed out')

返回的结果: 失败

当失败后会有收到邮件,赶快去查看

来源:http://bbs.linuxtone.org/forum.php?mod=viewthread&tid=22013

给我留言

留言无头像?


×
腾讯微博