大概步骤:
1,配置外部邮件服务器
2,创建邮件脚本
3,创建报警媒介类型
因为系统本身自带了邮件软件,所以可以直接配置
[[email protected] ~]# vim /etc/mail.rc
set [email protected] smtp="smtp.163.com"
set smtp-auth-user="[email protected]" smtp-auth-password=******* ------此密码为开通SMTP服务后的客户端授权密码
set smtp-auth=login
测试:
echo "zabbix test mail" |mail -s "zabbix" [email protected]
#测试发送邮件,标题zabbix,邮件内容:zabbix test mail,发送到的邮箱:[email protected]
三,配置zabbix服务端邮件报警
创建媒体类型
三个脚本参数为:{ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}这三个参数分别对应收件人,主题,内容。勾选上已启用,点击添加即可
选择编辑
选择创建动作---->动作
报警内容:
接收人:
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
默认信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
恢复主题:
恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
恢复信息:
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
动作---->操作
添加邮件脚本
[[email protected] zabbix]# cd /usr/local/zabbix/share/zabbix/alertscripts
[[email protected] alertscripts]# vim sendmail.sh ---必须跟报警媒介类型中的脚本名称一致
[[email protected] alertscripts]# cat sendmail.sh
#!/bin/bash
#export.UTF-8 //解决发送的中文变成了乱码的问题
echo "$3" > /tmp/mailtmp.txt
dos2unix /tmp/mailtmp.txt //解决了发送的邮件内容变成附件的问题。
mail -s "$2" $1 < /tmp/mailtmp.txt #$3表示邮件内容、$2表示邮件标题、$1表示收件人
[[email protected] alertscripts]# chown zabbix:zabbix /tmp/mailtmp.txt
[[email protected] alertscripts]# chmod +x /tmp/mailtmp.txt
四、测试Zabbix报警
关闭Zabbix客户端服务
service zabbix_agentd stop
查看[email protected]邮箱,会收到报警邮件
注意:收件邮箱必须开通了SMTP服务