zabbix邮件告警(QQ邮箱)

1、安装mailxdos2unix

yum install mailx -y

yum install dos2unix -y

2、添加邮箱证书

mkdir -p /root/.certs/

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

certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt

certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt

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

certutil -L -d /root/.certs

3、更改mailx.rc配置

编辑配置文件在最后一行添加

[root@zabbix alertscripts]# vim /etc/mail.rc
set from=XXXXXXXX@qq.com    #你的qq邮箱

set smtp="smtps://smtp.qq.com:465"   #邮箱所在服务器和端口地址

set smtp-auth-user=XXXXXXXX@qq.com    #你的qq邮箱

set smtp-auth-password=(授权码,非实际密码)

set smtp-auth=login    #默认login即可

set ssl-verify=ignore    #ssl认证方式

set nss-config-dir=/root/.certs    #证书所在目录,这个可以自定义目录所在位置

 

测试邮件发送是否正常

[root@zabbix alertscripts]# echo "zabbix test mail" |mail -s "zabbix" 邮箱

 

4、编写发邮件脚本

[root@zabbix alertscripts]# cd /usr/lib/zabbix/alertscripts
[root@zabbix alertscripts]# vi mailx.sh

#!/bin/bash

#export LANG=zh_CN.UTF-8

 

#dos2unix -k "$3"

#echo "use mailx to send mail"

#echo "$3" | mail -s "$2" "$1"

 

#export.UTF-8 ###解决发送的中文变成了乱码的问题

#FILE=/tmp/zabbix_mail.txt

#echo "$3" >$FILE

#dos2unix -k $FILE ###解决了发送的邮件内容变成附件的问题。

#/usr/bin/mail -s "$2" $1 < $FILE

SENT_TO=$1

SENT_SUBJECT=$2

SENT_CONTENT="/tmp/alert_$$.tmp"

 

echo "$3">$SENT_CONTENT

dos2unix $SENT_CONTENT

mailx -s "$SENT_SUBJECT" $SENT_TO<$SENT_CONTENT

5、修改权限

touch /tmp/mailx.log
chown -R zabbix.zabbix /tmp/mailx.log
chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
chown -R zabbix.zabbix /usr/lib/zabbix/

chmod -R 755 /root/.certs/

6、测试脚本发送邮件(模拟页面使用linux用户zabbix发送邮件,若成功,页面配置后肯定能用)

sudo -u zabbix /usr/lib/zabbix/alertscripts/mailx.sh xxxxxxx@qq.com "zabbix alert" "/etc/passwd is changed"

7、zabbix页面配置web

新增报警媒介Email-QQ

 

 

添加三个脚本参数
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

8、用户配置

给用户配置邮箱(这里配置的ADMIN用户)

 

9、配置动作

 

配置通过Email-QQ发送告警信息给用户ADMIN

 

 操作:


故障{TRIGGER.STATUS},服务器名:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

告警主机:{HOSTNAME}
告警主机IP地址:{HOST.IP}
告警时间:{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}已恢复!

告警主机:{HOSTNAME}
告警主机IP地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

posted @ 2020-10-29 16:33  楠_晋  阅读(323)  评论(0)    收藏  举报