首页 > 技术文章 > zabbix5添加邮件告警

Clera-tea 2020-10-23 15:09 原文

环境:阿里云服务器      端口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<br>

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}

 

最后更新就可以了

 
 

推荐阅读