作为一个专业的监控运维,不可能一个 Zabbix系统监控架构部署好就一直盯着仪表盘或者问题表单看,这多浪费人力以及时间啊,所以这里将记录 Zabbix 监控触发邮件报警的配置过程,由于可能有些企业的 Zabbix 部署在了云端,比如:阿里云,腾讯云,百度云这些厂商,但他们的 25 号端口是禁止使用的,这是后我们只能用别的办法,就是配合邮件发送工具mailx使用第三方的邮件服务器发送
安装邮件发送工具mailx
yum -y install mailx
配置mailx外部邮箱
配置/etc/mail.rc
文件的外部邮箱信息
#邮箱地址set from=zabbix@0x50j.cn#邮箱服务器地址set smtp="smtps://smtp.0x50j.cn:465"#邮箱服务器登陆用户账号set smtp-auth-user=zabbix@0x50j.cn#邮箱服务器登陆用户密码set smtp-auth-password=123456#邮箱服务器登陆方式set smtp-auth=login#使用SSL的方式发送邮件set smtp-user-starttlsset ssl-verify=ignore#ssl.crt地址set nss-config-dir=/etc/mail.rc_ssl.crt
需配置SSL证书,这里将配置文件夹放在了/etc/mail.rc_ssl.crt,文件内容为*.db
SSL证书包附件: mail.rc_ssl.crt.zip 下载
测试邮件发送
echo "This is Zabbix Test Mail" | mail -s "Zabbix" mingo@0x50j.cn
编写 Zabbix 邮件发送脚本
#!bin/bashFILE=/tmp/mailtmp.txtecho "$3" > $FILE#转译,不然邮件显示是附件dos2unix -k $FILE/bin/mail -s "$2" $1 < $FILE
修改配置文件/usr/local/zabbix/etc/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/etc/alertscripts
修改权限,以及创建临时文本
#创建临时文本touch /tmp/mailtmp.txtchown zabbix.zabbix /tmp/mailtmp.txt#赋予脚本执行权限和更改属主chown zabbix.zabbix sendmail.shchmod +x sendmail.sh
Zabbix Web界面调试
设置报警媒介类型
{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESSAGE}这三个参数分别代表接收邮件的地址,邮件主题,邮件内容
设置报警动作
邮件主题: About {EVENT.NAME} 邮件内容: Event Host:{HOSTNAME} Event Time:{EVENT.DATE} {EVENT.TIME} Event Level:{TRIGGER.SEVERITY} Event Msg: {TRIGGER.NAME} Event Item:{TRIGGER.KEY1} Event Details:{ITEM.NAME} Event ID:{EVENT.ID}