一、邮件客户端配置
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"  收件人邮箱

Zabbix 3.0 自定义脚本报警(邮件报警)_第1张图片
收到邮件,测试完成,可进行下一步;

二、配置发送邮件脚本
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 3.0 自定义脚本报警(邮件报警)_第2张图片
收到邮件,测试完成,可进行下一步;
三、配置Zabbix_Web
1、添加Media Types
Zabbix 3.0 自定义脚本报警(邮件报警)_第3张图片

Name:自定义
Type:选择script
Scripts name:填写脚本名称
Script parameters:脚本参数
    {ALERT.SENDTO} 
    {ALERT.SUBJECT} 
    {ALERT.MESSAGE} 

最后点Add即可添加完成;

2、添加用户
Zabbix 3.0 自定义脚本报警(邮件报警)_第4张图片

Alias:用户名
Groups:用户所属组
Password:用户密码

Zabbix 3.0 自定义脚本报警(邮件报警)_第5张图片

Type:选择刚才添加的Media Types
Send to:收件人,若要通知多个用户,可在这里设置多个邮箱,以逗号分隔
When active:接收邮件时间
Use if severity:选择哪些级别发送邮件
点击Add,Media即可添加完成;

Zabbix 3.0 自定义脚本报警(邮件报警)_第6张图片

User Type必须选择为Super Admin,否则收不到通知

最后点击Add,用户添加成功;

3、添加Actions
Zabbix 3.0 自定义脚本报警(邮件报警)_第7张图片

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

Zabbix 3.0 自定义脚本报警(邮件报警)_第8张图片

Send to user:添加通知用户
Send only to:通知方式为刚添加的Media Types

最后点击Add,Actions即可添加完成;

四、测试
自己想办法搞点事情,触发报警通知,比如停掉agent服务;

# systemctl  stop zabbix-agent

收到邮件如下:
Zabbix 3.0 自定义脚本报警(邮件报警)_第9张图片

到这里,Zabbix邮件通知配置完毕!