【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《[原创]Haproxy Keepalived邮件提醒》,欢迎阅读!
[原创]Haproxy+Keepalived邮件提醒
一,概述 在运维当中,服务的监控是很重要的,服务器自身监控之外,就是服务状态的监控。之前搭建的haproxy+keepalived四层负载均衡架构中,keepalived是提供了一个notify_让管理员设置,在状态发生转移之后进行什么样的提醒。今天写一个简单的邮件通知来提醒管理员。 二,程序 邮件提醒[Python实现] #-*-coding:UTF-8-*- #author:LingYunyi
#email:lingyunyi888@gmail.com #date:2012-08-09
#filename:gmail.py(注意:文件名和系统默认的模块名不能相同,报错ImportError: No module named)#当Haproxy进程启动的时候,发送提醒邮件
#提醒邮件设置在keepalived的notify_ 字段上面,当状态进行转移时会自动调用程序,实现也可以用shell #import sys
#sys.path.append('c:\\pytho27\\lib\\smtplib.py') #print sys.pathimport smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart import sys
smtp_server = 'smtp.qq.com'msg = MIMEMultipart('alternative') msg['Subject'] = "Haproxy提醒" msg['From'] = '176188306@qq.com'
msg['To'] = '176188306@qq.com' if sys.argv[1]!="master" and sys.argv[1]!="backup" and sys.argv[1]!="fault": sys.exit() else:
notify_type=sys.argv[1]
text = "Hi!Haproxy 进程被激活,请注意哦!" html = """\ <html>
<head></head> <body>
<p>请注意!</p> 您好,管理员!<br>
<font color=red>您的Haproxy代理服务器+notify_type+进程已经被激活,请注意!</font> </body> </html>
"""part1 = MIMEText(text, 'plain') part2 = MIMEText(html, 'html')
msg.attach(part1)
msg.attach(part2)#message = MIMEText('Haproxy进程被激活,请注意!')#msg['Subject'] = 'The contents of %s' % message
#msg['mailContentContainer'] = 'Haproxy进程被激活,请注意!'smtp = smtplib.SMTP() smtp.connect(smtp_server)
smtp.login("176188306@qq.com","111111") smtp.set_debuglevel(1)
smtp.sendmail("176188306@qq.com","176188306@qq.com",msg.as_string()) smtp.quit()
print 'send mail successfully'
三,使用方法在keepalived.conf中添加#状态通知 notify_master "/etc/keepalived/gmail.py master" notify_backup "/etc/keepalived/gmail.py backup" notify_fault "/etc/keepalived/gmail.py fault"四,其它方法也可以。主要是对服务的监控,其中我们用了sys.argv来获取命令行参数。这个具体使用可以见python手册。
本文来源:https://www.wddqxz.cn/19f40637793e0912a21614791711cc7930b77861.html