第一步:首先安装mailx组件并配置好能够通过三方邮箱发送邮件
yum install mailx
然后编辑mailx的配置文件
vi /etc/mail.rc
在最末尾添加如下信息
set from=xxxxxx@qq.com smtp=smtp.qq.com
set smtp-auth-user=xxxxxx@qq.com smtp-auth-password=xxxxxx
set smtp-auth=login
保存退出后测试邮件是否能够正常发送出去
echo "zabbix test mail" |mail -s "zabbix" xxx@163.com
第二步:配置Zabbix服务端邮件报警
1、打开Zabbix
管理-示警媒介类型-创建媒体类型
名称:Sendmail
类型:脚本
脚本名称:sendmail.sh
已启用:勾选
存档
2、设置Zabbix用户报警邮箱地址
管理-用户-Admin (Zabbix Administrator)
切换到示警媒介-添加
类型:Sendmail
收件人:xxx@163.com
其他默认即可,也可
以根据需要设置
状态:已启用
存档
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}
已启用:打钩
切换到操作选项
新的
操作类型:送出信息
送到用户:添加
默认信息:打钩
选择用户:Admin
选择
仅送到:Sendmail
存档
4、添加Zabbix服务端邮件发送脚本
cd/usr/local/zabbix-2.4.4/scripts #进入脚本存放目录
vi sendmail.sh #编辑,添加以下代码
#!/bin/sh
#export LANG=zh_CN.UTF-8 #该命令能够解决发送的中文变成了乱码的问题
echo "$3" | mail -s "$2"$1
:wq! #保存退出
chown zabbix.zabbix /usr/local/zabbix-2.4.4/scripts/sendmail.sh
#设置脚本所有者为zabbix用户
chmod +x /usr/local/zabbix-2.4.4/scripts/sendmail.sh
#设置脚本执行权限
5、设置zabbix_server服务调用脚本的目录
vim/usr/local/zabbix-2.4.4/etc/zabbix_server.conf
#进入zabbix_server配置文件
AlertScriptsPath=/usr/local/zabbix-2.4.4/scripts
找到上面这一行,将脚本存放目录写到此处
保存并重启zabbix_server服务
第三步:测试Zabbix报警
关闭Zabbix客户端服务
service zabbix_agentd stop
查看xxx@163.com邮箱,会收到报警邮件
再开启Zabbix客户端服务
service zabbix_agentd start
查看xxx@163.com邮箱,会收到恢复邮件
使用外部邮箱账号发送报警邮件设置完成。
至此,Zabbix邮件报警设置完成。