1、安装并启动sendmail服务
yum -y install sendmail
service sendmail start
2、安装邮件发送工具
yum -y install mailx
3、修改发送邮件的email,在最后添加如下
vim /etc/mail.rc
set from=xxx@qq.com #邮箱账号
set smtp=xxx.com #smtp服务器
set smtp-auth-user=xxx@qq.com #邮箱帐号
set smtp-auth-password=xxx #邮箱密码
set smtp-auth=login
4、测试发送邮件功能
echo "zabbix test..." |mail -s "zabbix" xxx@qq.com
说明:zabbix test...为发送内容、zabbix为发送标题、xxx@qq.com为接收的邮箱地址
5、修改zabbix_server配置文件中的脚本目录路径,并重启服务
vim /application/zabbix/etc/zabbix_server.conf
AlertScriptsPath=/application/zabbix/scripts
6、编写发送邮件内容脚本
vim /application/zabbix/scripts/sendmail.sh
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
chown zabbix.zabbix sendmail.sh
chmod +x sendmail.sh
7、测试脚本是否能成功发送邮件
bash sendmail.sh xxx@qq.com "标题" "内容"
8、在Web管理界面新建报警媒体类型
9、为用户Admin添加刚新建的报警媒体类型
10、新建报警动作
定义收到邮件头的信息:
故障{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}
11、实践