打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
[原创]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.path

import 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手册。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
keepalived + haproxy 实现web 双主模型的高可用负载均衡
keepalived学习文档
高可用rabbitmq集群服务部署步骤
获取命令行参数
Python发送邮件的类
k8s笔记002-kube-apiserver部署
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服