zabbix(四)报警
zabbix 触发器到了要发送通知的情况下,需要一个中间介质来接收并传递它的消息给运维们,通常用脚本发送邮件或者发送飞信来达到报警。这个脚本实际上就是一个媒介了。
使用 sendmail 发送邮件
SMS
需要短信设备
Jabber
Jabber 有第三方插件,能让 Jabber 用户和 MSN、YahooMessager、
ICQ 等 IM 用户相互通讯。因为 Google遵从 Jabber 协议,
并且 Google 已经将 Gtalk 的服务器开放给了其它的 Jabber 服务器。
所以 PSI、Giam 等 Jabber 客户端软件支持 GTalk 用户登陆。
国内没啥人用
Ez Texting
给用户手机发短信,貌似只支持美国和加拿大
Custom alertscripts
自定义脚本,把信息传递给脚本,我们在脚本里使用
sendEmail(不要和 sendmail 搞混了)、飞信发短信、
调用短信接口发送短信等等。
email–qq邮箱
1>先禁用其他消息媒介
2>在 qq 邮箱里设置白名单,zabbix@server1.localdomain,必须是这样形式,因为服务器发出的邮件默认就是 localdomain 结尾,但是 qq 邮箱目前貌似不能加这种不规范域名为白名单
3>配置虚拟机上外网,因为要用邮件报警
物理机上添加地址伪装策略
[root@foundation0 ~]# iptables -t nat -I POSTROUTING -s 172.25.0.0/24 -j
MASQUERADE
开启内核的路由功能
[root@foundation0 ~]# sysctl -a | grep ip_forward
net.ipv4.ip_forward = 1
虚拟机网关指向物理机
4>在 zabbix-server 端安装邮件服务
[root@server1 ~]# yum install -y mailx
#查看 25 端口
[root@server1 ~]# netstat -tnlp | grep :25
5>测试邮件发送,给自己发
# mail root
xxx
xxx
xxx
# mail
6>配置邮件发送策略
7>配置收件人
8>查看动作并激活
7>挂掉 server3 的 agent,可以收到邮件
[root@server3 ~]# systemctl stop zabbix-agent
#查看邮件日志
[root@server1 ~]# cat /var/log/maillog
看qq邮箱有无邮件