python 检测nginx服务邮件报警的脚本
$catcheckserver.py
#!/usr/bin/python
#-*-coding:utf-8-*-
importos
importsocket
importsmtplib
fromemail.mime.textimportMIMEText
fromemail.headerimportHeader
mail_host="smtp.exmail.qq.com"
mail_user="yunwei-monitor@111.com"
mail_pass="yNE8dcsx"
sender='yunwei-monitor@111.com'
receivers=['lixinliang@111.com']
defCheckserverdown():
#三个参数:第一个为文本内容,第二个plain设置文本格式,第三个utf-8设置编码
message=MIMEText('192.168.71.200nginxisdown','plain','utf-8')
message['From']=Header("Nginxisdown",'utf-8')#发送者
message['To']=Header("李鑫亮",'utf-8') #接收者
subject='192.168.71.200nginxisdown'
message['Subject']=Header(subject,'utf-8')
try:
smtpobj=smtplib.SMTP()
smtpobj.connect(mail_host,25)
smtpobj.login(mail_user,mail_pass)
smtpobj.sendmail(sender,receivers,message.as_string())
print("邮件发送成功")
exceptsmtplib.SMTPException:
print("Error:无法发送邮件")
defCheckserverstilldown():
#三个参数:第一个为文本内容,第二个plain设置文本格式,第三个utf-8设置编码
message=MIMEText('192.168.71.200nginxisstilldown','plain','utf-8')
message['From']=Header("Nginxisstilldown",'utf-8')#发送者
message['To']=Header("李鑫亮",'utf-8') #接收者
subject='192.168.71.200nginxisstilldown'
message['Subject']=Header(subject,'utf-8')
try:
smtpobj=smtplib.SMTP()
smtpobj.connect(mail_host,25)
smtpobj.login(mail_user,mail_pass)
smtpobj.sendmail(sender,receivers,message.as_string())
print("邮件发送成功")
exceptsmtplib.SMTPException:
print("Error:无法发送邮件")
defCheckserverup():
#三个参数:第一个为文本内容,第二个plain设置文本格式,第三个utf-8设置编码
message=MIMEText('192.168.71.200nginxis up','plain','utf-8')
message['From']=Header("Nginxisup",'utf-8')#发送者
message['To']=Header("李鑫亮",'utf-8') #接收者
subject='192.168.71.200nginxisup'
message['Subject']=Header(subject,'utf-8')
try:
smtpobj=smtplib.SMTP()
smtpobj.connect(mail_host,25)
smtpobj.login(mail_user,mail_pass)
smtpobj.sendmail(sender,receivers,message.as_string())
print("邮件发送成功")
exceptsmtplib.SMTPException:
print("Error:无法发送邮件")
#判断nginx进程输出内容来确定是否要进行进程启动
file="/tmp/nginx.txt"
os.system("""ps-ef |grepnginx |grep-Ev"grep|vim">%s"""%file)
print(os.path.getsize(file))
ifos.path.getsize(file)==0:
Checkserverdown()
os.system("/usr/sbin/nginx")
print(os.path.getsize(file))
os.system("""ps-ef |grepnginx |grep-Ev"grep|vim">%s"""%file)
ifos.path.getsize(file)==0:
Checkserverstilldown()
os.system("/usr/sbin/nginx")
else:
Checkserverup()
以上就是python检测nginx服务邮件报警的脚本的详细内容,更多关于python检测nginx服务邮件报警的资料请关注毛票票其它相关文章!