zabbix 配置邮件告警

zabbix配置邮件告警

补充一个之前配置zabbix邮件告警的内容,备忘。

环境

  • 操作系统:CentOS Linux release 7.9.2009 (Core)
  • zabbix版本:Zabbix 3.4.15.
  • 邮件代理:postfix
  • 发送邮箱:qq邮箱
  • 告警配置:脚本

邮件配置

postfix邮件配置

安装postfix邮件

1
2
3
yum install postfix
systemctl status postfix
systemctl enable postfix

配置发件服务

使用QQ邮箱,需要先在QQ邮箱中开启pop3和smtp服务。开启服务时,需要手动发短信至QQ邮箱指定的号码。发送后,有提示QQ邮箱的授权码。此授权码,需要配置在postfix发信的配置文件中。

postfix配置

在mail的配置文件中追加QQ邮箱的配置信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
vim /etc/mail.rc

# 配置文件如下

# qq邮箱配置
set sendcharsets=ios-8859-1,utf-8
set from=123456789@qq.com # 你的QQ邮箱
set smtp=smtps://smtp.qq.com:465 # QQ邮箱smtp配置,参考QQ邮箱账号设置
set smtp-auth-user=123456789@qq.com
set smtp-auth-password=asdfghjklzxcv # QQ邮箱pop3/smtp设置中给出的授权码
set smtp-auth=login
set ssl-verify=ignore # 认证方式
set nss-config-dir=/etc/pki/nssdb # 证书路径

测试postfix发件

配置完postfix后,测试发送邮件是否正常。

1
echo "zabbix test mail" | mail -s "zabbix" 你的收件邮箱@qq.com

到这里,可能会有两个错误,第一个发件失败,第二个能发送,但提示证书不被信任。

第一个错误,检查邮箱配置中的证书路径,是否有创建,或少配置,追加配置或创建证书路径。
第二个错误:

Error in certificate: Peer’s certificate issuer has been marked as not trusted by the.
需要把QQ的证书存入邮件配置的证书路径中,操作如下:

1
2
3
cd /etc/pki/nssdb
echo -n | openssl s_client -connect smtp.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

如果提示依赖,则安装相应的依赖程序包。如nss-tools。

1
yum install nss-tools

解决上面两个提示,不会有发件告警了,如果有,那是新问题,碰到再说。

发件测试如下:

sendmail

zabbix脚本配置

配置邮件告警,使用脚本来实现,zabbix脚本的路径,参考zabbix安装时编译的环境路径。脚本见下:

1
2
3
4
5
6
7
8
9
10
11
12
13
cd /usr/lib/zabbix/alertscripts

# 脚本内容
vim sendmail.sh

#!/bin/bash
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >> /tmp/sendmail.log 2>&1

# 脚本权限
chown zabbix:zabbix ./sendmail.sh
chmod u+x sendmail.sh

zabbix告警配置

添加报警媒介类型

sendmail-script

用户关联报警媒介

user-alert-config

权限中选择对应的主机或群组。

创建告警动作

report problems

接下来是操作,恢复操作,和确认操作的配置。

见下图:

report action

恢复操作见下:

1
2
3
4
5
6
7
8
9
10
11
标题:恢复{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}

确认操作:

1
2
3
4
5
6
7
标是:确认:{TRIGGER.NAME}
内容:
告警主机:{HOSTNAME}
告警主机IP地址:{HOST.IP}
{USER.FULLNAME} 已确认问题
确认时间:{ACK.DATE} {ACK.TIME}
确认信息:{ACK.MESSAGE}

以上的关于邮件的配置已经不再适用了。邮件配置授权码,最多也就测试一下,后面会被当垃圾邮件屏蔽掉的。经测试,无论是QQ邮箱还是网易邮箱。都已经不行了。


zabbix 配置邮件告警
https://ywmy.xyz/2022/11/16/zabbix-配置邮件告警/
作者
ian
发布于
2022年11月16日
许可协议