第一步:首先安装mailx组件并配置好能够通过三方邮箱发送邮件 yum install mailx 然后编辑mailx的配置文件 vi /etc/mail.rc 在最末尾添加如下信息 set from=xxxxxx@163.com smtp=smtp.163.com set smtp-auth-user=xxxxxx@163.com smtp-auth-password=xxxxxx set smtp-auth=login 保存退出后测试邮件是否能够正常发送出去 echo "zabbix test mail" |mail -s "zabbix" xxx@139.com 这里推荐使用163发送邮件,139收邮件,因为139邮箱有邮件短信通知功能。
第二步:编写邮件发送脚本
vim /usr/local/sbin/zabbix/sendmail.sh
1
2
| #! /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,测试能否收到邮件短信通知。
|