zabbix5添加邮件告警


环境:阿里云服务器      端口25禁止,开465安全组 邮箱:腾讯云企业邮箱  需要获取授权码 版本:centos7    zabbix5   首先,阿里云服务器开安全组465   获取邮箱授权码 登录腾讯云企业邮箱: https://exmail.qq.com/login 进行微信绑定

绑定之后开启安全登录,之后页面刷新,要求重新登录 页面微信扫码登录,点击生成密码,也就是授权码。复制下来,保存更改   在服务器上安装邮箱 yum -y install  mailx 修改邮箱配置 vim /etc/mail.rc set from=xxxxxx@xxxx.com #之前设置好的邮箱地址

set smtp=smtps://smtp.exmail.qq.com:465  #邮件服务器

set smtp-auth-user=xxxxxx@xxxx.com #之前设置好的邮箱地址

set smtp-auth-password=hGxDgW7ahgqagR  #授权码

set smtp-auth=login                              #默认login

set nss-config-dir=/etc/pki/nssdb/        #证书所在目录

set ssl-verify=ignore

获取SSL证书:

cd  /etc/pki/nssdb/

echo -n | openssl s_client -connect smtp.exmail.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ./qq.crt

certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu"  -d ./ -i qq.crt

certutil -A -n "GeoTrust Global CA - G3" -t "Pu,Pu,Pu"  -d ./ -i qq.crt   编写邮件发送脚本 可以设置脚本的路径(非必要): vim  /etc/zabbix/zabbix_server.conf AlertScriptsPath=/etc/zabbix/alertscripts   cd /etc/zabbix && mkdir alertscripts  && alertscripts/ vim mail.sh #!/bin/bash

messages=`echo $3 | tr '\r\n' '\n'`

subject=`echo $2 | tr '\r\n' '\n'`

echo "${messages}" | mail -v -s "${subject}" $1 >>/tmp/mailx.log 2>&1

脚本授权:

chmod 755 mail.s

重启zabbix-server

systemctl restart zabbix-server

测试:

cat /home/test zabbix-email-test mail -s "test3" xxxxxx@xxxx.com < /home/test  

页面设置

配置报警媒介类型

参数列表: {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}

事件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}

最后更新就可以了