作为一个专业的监控运维,不可能一个 Zabbix系统监控架构部署好就一直盯着仪表盘或者问题表单看,这多浪费人力以及时间啊,所以这里将记录 Zabbix 监控触发邮件报警的配置过程,由于可能有些企业的 Zabbix 部署在了云端,比如:阿里云,腾讯云,百度云这些厂商,但他们的 25 号端口是禁止使用的,这是后我们只能用别的办法,就是配合邮件发送工具mailx使用第三方的邮件服务器发送
安装邮件发送工具mailx
yum -y install mailx
配置mailx外部邮箱
配置/etc/mail.rc
文件的外部邮箱信息
#邮箱地址
set from=zabbix@if010.cn
#邮箱服务器地址
set smtp="smtps://smtp.if010.cn:465"
#邮箱服务器登陆用户账号
set smtp-auth-user=zabbix@if010.cn
#邮箱服务器登陆用户密码
set smtp-auth-password=123456
#邮箱服务器登陆方式
set smtp-auth=login
#使用SSL的方式发送邮件
set smtp-user-starttls
set 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@if010.cn
编写 Zabbix 邮件发送脚本
#!bin/bash
FILE=/tmp/mailtmp.txt
echo "$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.txt
chown zabbix.zabbix /tmp/mailtmp.txt
#赋予脚本执行权限和更改属主
chown zabbix.zabbix sendmail.sh
chmod +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}