作为一个专业的监控运维,不可能一个 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-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@0x50j.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}

测试

Last modification:June 30th, 2019 at 03:56 am