返回列表 发帖

Zabbix5.0.12_通过脚本发送Zabbix告警邮件(使用126邮箱的465端口)

笺注:这是在 CentOS8_LAMP_编译安装Zabbix5.0.12 的基础上进行的。


在Zabbix服务器上安装发送邮件的软件包mailx:
[root@centos8 ~]# dnf -y install mailx

确认mailx安装成功:
[root@centos8 ~]# rpm -ql mailx
/bin/mail
/bin/mailx
/etc/mail.rc
/usr/bin/Mail
/usr/bin/nail
/usr/lib/.build-id
/usr/lib/.build-id/e0
/usr/lib/.build-id/e0/16cad374c96ed5dbda7f751ab0cc153815c49f
/usr/share/doc/mailx
/usr/share/doc/mailx/AUTHORS
/usr/share/doc/mailx/COPYING
/usr/share/doc/mailx/README
/usr/share/man/man1/Mail.1.gz
/usr/share/man/man1/mail.1.gz
/usr/share/man/man1/mailx.1.gz
/usr/share/man/man1/nail.1.gz

[root@centos8 ~]#



下载证书: https://pan.baidu.com/s/16YAXAf2HaSPn2CrKOeFWfg   提取码:y4cd

上传证书:
[root@centos8 ~]# mkdir -p /etc/mail.rc_ssl.crt

[root@centos8 ~]# cp mail.rc_ssl.crt/* /etc/mail.rc_ssl.crt
[root@centos8 ~]# cd !$
cd /etc/mail.rc_ssl.crt
[root@centos8 mail.rc_ssl.crt]# ls
cert8.db  key3.db  secmod.db
[root@centos8 mail.rc_ssl.crt]#


修改mailx的配置文件:
[root@centos8 ~]# vi /etc/mail.rc
覆盖:
set from=j13680432782@126.com
set smtp=smtps://smtp.126.com:465
set smtp-auth-user=j13680432782
set smtp-auth-password=用户密码
set smtp-auth=login
set smtp-user-starttlsset ssl-verify=ignore
set nss-config-dir=/etc/mail.rc_ssl.crt


发送测试邮件:
[root@centos8 ~]# echo  "465测试" | mail -s " title" 2270168xxx@qq.com

注释:
正常的话,QQ邮箱是可以收到测试邮件的了;
126邮箱发送这种邮件后,在“已发送”里是有记录的;



######

在Zabbix服务器上创建告警邮件脚本:
[root@centos8 ~]# cd /usr/local/zabbix/share/zabbix/alertscripts
[root@centos8 alertscripts]# cat sendmail.sh
#!bin/bash
FILE=/tmp/mailtmp.txt
echo "$3" > $FILE
dos2unix -k $FILE
/usr/bin/mail -s "$2" $1 < $FILE



设置脚本的权限:
[root@centos8 alertscripts]# chmod 755 sendmail.sh
[root@centos8 alertscripts]# chown zabbix.zabbix sendmail.sh
[root@centos8 alertscripts]#
[root@centos8 alertscripts]# ll sendmail.sh
-rwxr-xr-x 1 zabbix zabbix 102 6月   1 23:17 sendmail.sh
[root@centos8 alertscripts]#


创建临时文本:
[root@centos8 ~]# touch /tmp/mailtmp.txt
[root@centos8 ~]# chown zabbix.zabbix /tmp/mailtmp.txt
[root@centos8 ~]#
[root@centos8 ~]# ll /tmp/mailtmp.txt
-rw-r--r-- 1 zabbix zabbix 0 6月   1 23:19 /tmp/mailtmp.txt
[root@centos8 ~]#


测试:
[root@centos8 ~]# FILE=/tmp/mailtmp.txt
[root@centos8 ~]# dos2unix -k $FILE
-bash: dos2unix: 未找到命令
[root@centos8 ~]#

解决方法:
[root@centos8 ~]# dnf -y install dos2unix unix2dos

可以转换就可以了:
[root@centos8 ~]# dos2unix -k $FILE
dos2unix: 正在转换文件 /tmp/mailtmp.txt 为Unix格式...
[root@centos8 ~]#



######

继续通过浏览器配置Zabbix的邮件功能:

1)管理》报警媒介类型》Email:

类型选择“脚本”,

脚本名称:
sendmail.sh

脚本参数:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}


如下图:
图片1.png


更新后,可以点击“Email”右边的“测试”:
图片2.png

发送Zabbix的测试邮件:
图片3.png
注释:要指定收件人邮箱。

正常的话,QQ邮箱是可以收到测试邮件的了:
图片4.png



2)配置用户的收件邮箱:
管理》用户》Admin:(使用用户Admin进行接收邮件)

添加报警媒介:
图片5.png

图片6.png
注释:要指定收件人邮箱。

点击“更新”:
图片7.png



3)配置触发邮件的条件:
配置》动作》“Report problems to Zabbix administrators”:
图片8.png


自定义动作:
图片9.png

图片10.png

图片11.png
注释:
计算方式选为 
使用 触发器警示度


###
自定义操作:
图片12.png
注释:
不勾选“暂停操作以制止问题”;
默认操作步骤持续时间 60s
其他地方可以保持默认,点击“更新”;


触发邮件的条件更新成功:
图片13.png

图片14.png





######
######

模板Template OS Linux by Zabbix agent默认自带监控服务器重启的触发器:
名称: {HOST.NAME} has been restarted (uptime < 10m)
严重性: 警告
表达式: {Zabbix server:system.uptime.last()}<10m
图片15.png


###

当主机Zabbix server重启后,仪表板的告警效果如下图:
图片16.png

图片17.png



当主机Zabbix server重启后,收件人会收到如下类似的告警邮件:
图片18.png


大概10分钟后,主机Zabbix server的触发器“{HOST.NAME} has been restarted (uptime < 10m)”会自动消除警告,收件人会收到如下类似的告警恢复邮件:
图片19.png


笺注:
126邮箱发送这种邮件后,在“已发送”里是有记录的;



###

查看Zabbix发送过的邮件:

报表》动作日志:
图片20.png





相关文章:
CentOS8_通过脚本发送Zabbix告警邮件(使用新浪邮箱的465端口)

CentOS8_通过脚本发送Zabbix告警邮件(使用126邮箱的25端口)
CentOS8_通过脚本发送Zabbix告警邮件(使用新浪邮箱的25端口)

返回列表