F5是个标准的负载均衡设备,用在我们的生产环境。

规则是:load balance池子里的成员如果离线,就发送告警邮件,如果又恢复了,也发告警邮件。

首先我们需要在内网中设置一个邮件发送服务器,我们用的是qq的企业邮箱,如何设置在之前说过,这里设置的是内网用这台服务器发邮件不需要验证,但是发送者必须是monit@company.com。

先来确认f5的版本,不同的版本不一定通用撒。这里版本是11.5.3才可以。

登录F5(ip是172.16.0.1),查看版本,是不是11.5.3

$ ssh user@172.16.0.1
# tmsh show /sys version
...
  Product  BIG-IP
  Version  11.5.3
...
# quit

编辑/etc/ssmtp/ssmtp.conf,设置邮件服务器

# vi /etc/ssmtp/ssmtp.conf
mailhub=192.168.0.1

# 如果没有安装内网的邮件服务器,可以在这里设置。安装了就不用设
FromLineOverride=YES  
UseTLS=yes  
AuthUser=smtp_account  
AuthPass=password  

设置告警内容:

alert BIGIP_MCPD_MCPDERR_POOL_MEMBER_MON_DOWN "Pool (.*?) member (.*?):(.*?) monitor status down." {  
        email toaddress="user01@company.com,user02@company.com"
        fromaddress="monit@company.com"
        body="A pool member went down"
}

alert BIGIP_MCPD_MCPDERR_POOL_MEMBER_MON_UP "Pool (.*?) member (.*?):(.*?) monitor status up." {  
        email toaddress="user01@company.com,user02@company.com"
        fromaddress="monit@company.com"
        body="A pool member went up"
}

ok,搞定。不用重启什么的啊,即时生效。

comments powered by Disqus