第一步:首先安装mailx组件并配置好能够通过三方邮箱发送邮件
yum install mailx
然后编辑mailx的配置文件
vi /etc/mail.rc
在最末尾添加如下信息
set [email protected] smtp=smtp.163.com
set [email protected] smtp-auth-password=xxxxxx
set smtp-auth=login
保存退出后测试邮件是否能够正常发送出去
echo "zabbix test mail" |mail -s "zabbix" [email protected]
这里推荐使用163发送邮件,139收邮件,因为139邮箱有邮件短信通知功能。
第二步:编写邮件发送脚本
vim /usr/local/sbin/zabbix/sendmail.sh
#! /bin/bash echo "$3" |/bin/mail -s "$2" $1
chmod +x /usr/local/sbin/zabbix/sendmail.sh
第三步:配置zabbix_server.conf
vim /etc/zabbix/zabbix_server.conf
修改AlertScriptsPath=/usr/local/sbin/zabbix/
ExternalScripts=/usr/local/sbin/zabbix/
定义脚本路径
第四步:配置服务器端邮件报警
1、打开Zabbix
管理-示警媒介类型-创建媒体类型
2、设置Zabbix用户报警邮箱地址
管理-用户-Admin (Zabbix Administrator)
3、设置Zabbix触发报警的动作
组态-动作-创建动作
注意,下面的默认接收人那一栏中需要添加(默认接收人:)这个字段,否则将可能导致邮件中文乱码
默认接收人:默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
默认信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
恢复信息:打钩
注意,下面的恢复主旨那一栏中需要添加(恢复主旨:)这个字段,否则将可能导致邮件中文乱码
恢复主旨:恢复主旨:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
恢复信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
已启用:打钩
切换到条件选项
添加触发条件
切换到操作
存档之后就OK了。
关闭客户端的zabbix_agent,测试能否收到邮件短信通知。