2020-11-08

zabbix 5.2告警配置

先把MTA和MUA确定下来

我的MTA是sendmail

我的MUA是mailx

通俗的说MUA就是用户使用的客户端,而MTA则是真正发送邮件的发送进程,MUA编写的邮件最终也交由MTA发送至目标端。

mailx即为负责查看、编写邮件和向MTA发送邮件的MUA。

Sendmail和postfix即为负责邮件在网络上传输的MTA,将邮件从一个MTA传送至另一个MTA。

标注:使用zabbix服服务端本地邮箱账号发送邮件,需要安装两个软件达到报警邮件转发至指定邮箱。Sendmail或postfix(两个软件各选择一个,但不能同时运行)和mailx邮件客户端。

1 第一步  安装sendmail或postfix (邮件传送代理MTA)

我安装的是sendmail

yum install sendmail -y

如何检测是否安装成功

rpm -qa | grep sendmail

然后开启服务

systemctl start sendmail.service

接着查看是否开启成功


接着安装MUA,就是mailx

yum install mailx -y

给/bin目录下设置权限 (可以不做)

Chown -R zabbix.zabbix /bin/mail

mailx是邮件客户端,不需要启动,直接编辑mail.rc文件即可

vi  /etc/mail.rc

这里我用QQ邮箱举例,


第一项:qq邮箱账号

第二项:qq发送邮件服务器地址

第三步:邮箱登录用户名

第四步:授权码,非QQ密码,外行的一般都认为是qq密码

第五步:操作行为

set bsdcompat

set from=xxxxxxxxxx@qq.com

set smtp=smtp.qq.com

set smtp-auth-user=xxxxxxxx@qq.com

set smtp-auth-password=xxxxxxxxxx

set smtp-auth=login

set ssl-verify=ignore

set nss-config-dir=/etc/pki/nssdb

接着编辑简单邮件发送目标邮箱

echo “邮件内容” | mail -s ‘邮件标题’  目标邮箱地址


如果以上配置文件写成qq密码,则会有如下错误


如果没安装MTA,比如sendmail,也不会报错,邮件也能正常发送

因为如果直接使用外部邮箱发送邮件可以不需要配置sendmail或postfix

如果授权码过期,则会有如下错误






systemctl restart zabbix-server zabbix-agent nginx php-fpm

每次改完脚本要重启相关服务



AlertScriptsPath=/XXX/XXX/XXX/sendmail.sh即可

在zabbix5.2 后台

send to 接收告警邮件的目标邮箱



接下来创建动作







告警主机IP地址:{HOST.CONN}

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}




告警主机IP地址:{HOST.CONN}

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

模拟测试:

测试一下脚本是否发送成功


最后真机测试:把一台服务器的agent服务暂时关闭掉,看看有没有告警和邮件发送






#提示 “Errorincertificate: Peer’s certificate issuer is not recognized#解决方法: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 -L -d /root/.certs#生成完成之后,修改 mail.rc 邮件配置,修改 nss-config-dir 为上面命令生成的 /root/.certs,保存certutil -L -d /root/.certs #列出目录下证书

Certificate Nickname Trust Attributes

SSL,S/MIME,JAR/XPI

GeoTrust SSL CA

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容