返回列表 发帖

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

笺注:
被监控主机是在 Zabbix使用Agent监控Oracle Linux6 的基础上进行的。

Zabbix服务器的安装可参考:CentOS8编译安装Zabbix4.4.5


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

确认mailx安装成功:
[root@centos8 ~]# rpm -q mailx
mailx-12.5-29.el8.x86_64


下载证书: 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]# ll
总用量 384
-rw-r--r-- 1 root root 360448 6月   9 09:25 cert8.db
-rw-r--r-- 1 root root  16384 6月   9 09:25 key3.db
-rw-r--r-- 1 root root  16384 6月   9 09:25 secmod.db



修改mailx的配置文件:
[root@centos8 ~]# vi /etc/mail.rc
覆盖:
set from=j2270168881@sina.com
set smtp=smtps://smtp.sina.com:465
set smtp-auth-user=j2270168881
set smtp-auth-password=Jackxxxx #新浪邮箱以前是使用用户密码的
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" 22701xxxx@qq.com

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



######

在Zabbix服务器上创建告警邮件脚本:

[root@centos8 ~]# find / -name alertscripts
/usr/local/zabbix/share/zabbix/alertscripts

[root@centos8 ~]# which mail
/usr/bin/mail

[root@centos8 ~]# cd /usr/local/zabbix/share/zabbix/alertscripts
[root@centos8 alertscripts]# ls
[root@centos8 alertscripts]#
[root@centos8 alertscripts]# vi sendmail.sh
覆盖:
#!bin/bash
FILE=/tmp/mailtmp.txt
echo "$3" > $FILE
#转译,不然邮件显示是附件
dos2unix -k $FILE
/usr/bin/mail -s "$2" $1 < $FILE

如下图:
图片1.png

设置脚本的权限:
[root@centos8 alertscripts]# chmod 755 sendmail.sh
[root@centos8 alertscripts]# chown zabbix.zabbix sendmail.sh



创建临时文本:
[root@centos8 alertscripts]# touch /tmp/mailtmp.txt
[root@centos8 alertscripts]# chown zabbix.zabbix /tmp/mailtmp.txt

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

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

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



######

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

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

类型选择“脚本”,

脚本名称:
sendmail.sh

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


如下图:
图片2.png


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

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

正常的话,QQ邮箱是可以收到测试邮件的了。

笺注:
假如出现以下错误提示,QQ邮箱也无法收到测试邮件,就重启Zabbix服务器后再试试:
连接超时 3 秒超出当连接Zabbix 服务器 "localhost".
图片5.png



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

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

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

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



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

自定义“动作”:
图片10.png

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


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


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

图片14.png





######

当主机oracle 6的内存使用率持续5分钟超过8%时,收件人会收到如下类似的告警邮件:
图片15.png



######

当主机oracle 6的交换分区的空闲空间小于或等于3.5GB时,收件人会收到如下类似的告警邮件:
图片16.png



######

当主机oracle 6的根分区使用率大于4%时,收件人会收到如下类似的告警邮件:
图片17.png


当主机oracle 6的根分区的使用率小于或等于4%时,在仪表板上触发器“/: Space utilization > 4%( Value: {ITEM.VALUE} )”会自动消失,收件人会收到如下类似的告警恢复邮件:
图片18.png





相关文章:
使用新浪邮箱的465端口发送邮件报错(535 authentication failed)

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

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





#################################
#################################
亲,学习研究也要劳逸结合哦,来我微店逛逛,买点东西好好犒劳犒劳自己和家人吧^_^^_^

苏泊尔多功能电热锅韩式电火锅8-10人家用电炒锅不粘锅电锅电烤锅
guo.png

苏泊尔电火锅多功能家用电热锅不沾锅一体电煮锅宿舍4-6人
huoguo.png

返回列表