上篇文章讲解了Zabbix的安装与配置,这篇文章继续讲解如何配置邮件报警机制:当被监控的主机出现问题时会及时地给管理员发送邮件,及时地通知运维人员。
在此之前zabbix服务端和客户端都已经配置好了,并且加入了监控项。
一,在监控主机上进行配置
1,使用yum安装mailx邮箱服务
yum install mailx -y
2,编辑配置文件,在末行加入以下配置
vi /etc/mail.rc //注意网易,QQ邮箱需要开启客户端授权码进行第三方登录
set from=18739892385@139.com
set smtp=smtp.139.com
set smtp-auth-user=18739892385@139.com
set smtp-auth-password=邮箱密码 //如果是网易,QQ等邮箱,此处应填写授权码
set smtp-auth=login
3,尝试发送一封邮件,检验139邮箱是否能够接受
echo "hello world" | mail -s "testmail" 18739892385@139.com
4,编写发邮件脚本
cd /usr/lib/zabbix/alertscripts
vim mailx.sh
#!/bin/bash
#send mail
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1
5,赋予权限,并测试脚本
touch /tmp/mailx.log
chown -R zabbix.zabbix /tmp/mailx.log
chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
chown -R zabbix.zabbix /usr/lib/zabbix/
./mailx.sh 18739892385@139.com "mail" "zabbix service" //测试发邮件脚本是否可以正常工作
二,在浏览器上进行配置
1,打开管理==》报警媒体类型==》创建媒体类型
名称:mail-test
类型:脚本
脚本名称:mailx.sh
脚本参数://新增以下三个参数
{ALERT.SENDTO}
{ALERT.SUBJECT}{ALERT.MESSAGE}
2,接下来需要指定使用者,并进行相关设置
管理--》用户----》点击主机xxx----》报警媒介
类型:mail-test //调用上面的脚本收件人:18739892385@139.com
其他保持默认设置
3,再进行动作定义
配置==》动作==》创建动作==》删除默认标签,修改触发条件
名称:mailx
条件 A 主机群组=Linux servers
4,对操作进行配置
操作-》如下配置
默认操作步骤持续时间 60
默认接收人 : {TRIGGER.STATUS}:{TRIGGER.NAME}
默认信息:
告警主机:{HOST.NAME}
告警 IP:{HOST.IP}
告警时间:{EVENT.DATE}-{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}:{ITEM.VALUE}
事件 ID:{EVENT.ID}
====操作细节====
操作类型:发送消息
发送到用户:Admin (Zabbix Administrator)
仅送到:mail-test //一定要配置否则邮件发送不成功
恢复操作:{TRIGGER.STATUS}:{TRIGGER.NAME}
恢复信息:
恢复主机:{HOST.NAME}
恢复 IP:{HOST.IP}
恢复时间:{EVENT.DATE}-{EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
恢复信息:{TRIGGER.NAME}:{ITEM.VALUE}
恢复 ID:{EVENT.ID}
====操作细节=====
操作类型:发送消息
发送到用户:Admin (Zabbix Administrator)
仅送到:mail-test //一定要配置否则邮件发送不成功
5,最后测试邮箱报警
步骤如下:
(1)添加被监控主机的监控项httpd服务,在被监控端下载并开启httpd服务
(2)模拟故障:然后关闭httpd服务
(3)查看是否受到报警邮件
(4)模拟故障解除:再开启httpd服务
(5)查看是否收到恢复邮件
添加监控项httpd服务
关闭httpd服务后,检测页面出现告警信息
接着139邮箱收到告警邮件
恢复httpd服务后,会收到恢复信息
转载于:https://blog.51cto.com/13728740/2310465