一、邮件客户端配置
1、安装mail工具
# yum -y install mailx
# ln -s /bin/mailx /bin/mail
2、配置发件人账号
# cat >> /etc/mail.rc << EOF
> set from=发件人邮箱
> set smtp=smtp.163.com
> set smtp-auth-user= 发件人邮箱
> set smtp-auth-password=邮箱密码
> set smtp-auth=login
> EOF
3、测试发送邮件
# echo "This is a test mail." | mail -s "Zabbix Test" 收件人邮箱
二、配置发送邮件脚本
1、修改zabbix配置文件
# vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/etc/zabbix/alertscripts
2、添加脚本
# mkdir /etc/zabbix/alertscripts
# cat >> /etc/zabbix/alertscripts/sendmail.sh << EOF
> !/bin/bash
> messages=`echo $3 | tr '\r\n' '\n'`
> subject=`echo $2 | tr '\r\n' '\n'`
> echo "${messages}" | mail -s "${subject}" $1 >>/tmp/sendmail.log 2>&1
> EOF
3、添加执行权限
# chown zabbix:zabbix /etc/zabbix/alertscripts/sendmail.sh
# chmod 755 /etc/zabbix/alertscripts/sendmail.sh
4、测试发送邮件
# /etc/zabbix/alertscripts/sendmail.sh 收件人邮箱 "Test mail" "This is a test mail.."
收到邮件,测试完成,可进行下一步;
三、配置Zabbix_Web
1、添加Media Types
Name:自定义
Type:选择script
Scripts name:填写脚本名称
Script parameters:脚本参数
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
最后点Add即可添加完成;
Alias:用户名
Groups:用户所属组
Password:用户密码
Type:选择刚才添加的Media Types
Send to:收件人,若要通知多个用户,可在这里设置多个邮箱,以逗号分隔
When active:接收邮件时间
Use if severity:选择哪些级别发送邮件
点击Add,Media即可添加完成;
User Type必须选择为Super Admin,否则收不到通知
最后点击Add,用户添加成功;
Name:动作名称
Default subject:邮件主题
Default message:邮件内容
Recovery message:勾选恢复通知信息
Recovery subject:恢复主题
Recovery message:恢复内容
Enabled:启动
Default subject:Zabbix 监控告警 : {TRIGGER.NAME}!
Default message:
告警信息:{TRIGGER.NAME}
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
From:Zabbix.guoxh.cn
Recovery subject:Zabbix 监控恢复 : {TRIGGER.NAME} !!
Recovery message:
告警信息:{TRIGGER.NAME}
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
From:Zabbix.guoxh.cn
Send to user:添加通知用户
Send only to:通知方式为刚添加的Media Types
最后点击Add,Actions即可添加完成;
四、测试
自己想办法搞点事情,触发报警通知,比如停掉agent服务;
# systemctl stop zabbix-agent
到这里,Zabbix邮件通知配置完毕!