zabbix3.2.1邮件报警
admin
2023-05-20 08:42:53
0

zabbix监控服务端、客户端都已经部署完成,被监控主机已经添加,Zabiix监控运行正常。

在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱。

具体操作:

以下操作在Zabbix监控服务端进行

然后安装那两个依赖包,命令是:

yum install perl-Net-SSLeay perl-IO-Socket-SSL -y

解压软件,然后将sendemail复制到/usr/local/bin/目录下,并加上可执行权限,然后修改用户和群组。

[root@mysqla ~]# tar zxf sendEmail-v1.56.tar.gz

[root@mysqla ~]# cd sendEmail-v1.56/

[root@mysqla sendEmail-v1.56]# cp sendEmail /usr/local/bin/sendEmail

[root@mysqla sendEmail-v1.56]# chown zabbix:zabbix /usr/local/bin/sendEmail

[root@mysqla sendEmail-v1.56]# ll /usr/local/bin/sendEmail

-rwxr-xr-x. 1 zabbix zabbix 80213 Nov 21 21:26 /usr/local/bin/sendEmail


执行# /usr/local/bin/sendEmail -h查看sendEmail的帮助

#/usr/local/bin/sendEmail -f bpcyh2@126.com -t bpcyh2@126.com -s smtp.126.com -u "hello" -o message-content-type=html -o message-charset=utf8 -xu bpcyh2@126.com -xp 123abc -m "abcfdd"


命令主要选项说明:
/usr/local/bin/sendEmail                     #命令主程序
-f from@126.com                          #发件人邮箱
-t to@126.com                              #收件人邮箱
-s smtp.126.com                           #发件人邮箱的smtp服务器
-u "我是邮件主题"                               #邮件的标题
-o message-content-type=html          #邮件内容的格式,html表示它是html格式
-o message-charset=utf8                   #邮件内容编码
-xu from@126.com                       #发件人邮箱的用户名
-xp WEE78@12l$                             #发件人邮箱密码
-m "我是邮件内容"                             #邮件的具体内容

进入/usr/local/zabbix/share/zabbix/alertscripts/目录

然后在这个目录下创建报警脚本sendmail.sh

[root@mysqla alertscripts]# vi mail.sh

下面是脚本内容(涂颜色部分是你的邮箱和密码,-f和-xu参数后面跟邮箱,-xp后面跟授权码)

#!/bin/bash

to=$1

subject=$2

body=$3

/usr/local/bin/sendEmail -o tls=auto -f bpcyh2@126.com -t "$to" -s smtp.126.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu bpcyh2@126.com -xp 123abc -m "$body" 

[root@mysqla alertscripts]# chmod +x mail.sh

执行脚本测试发邮件

[root@mysqla alertscripts]# ./mail.sh bpcyh2@126.com test 123


*******************************************************************

 Using the default of SSL_verify_mode of SSL_VERIFY_NONE for client

is deprecated! Please set SSL_verify_mode to SSL_VERIFY_PEER

together with SSL_ca_file|SSL_ca_path for verification.

 If you really don't want to verify the certificate and keep the

connection open to Man-In-The-Middle attacks please set

SSL_verify_mode explicitly to SSL_VERIFY_NONE in your application.

*******************************************************************

at /usr/local/bin/sendEmail line 1906.

invalid SSL_version specified at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 415

注:进行发送邮件测试时,出现了第一个报错

原因是sendemail软件和perl5里面的ssl版本不兼容导致的,通过修改sendemail里面的内容可以解决这个问题。

解决方法:

在sendemail中1906行的内容,从

if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3 TLSv1')) {

修改为

if (! IO::Socket::SSL->start_SSL($SERVER)) {

即不指定SSL的版本,让程序来自己选择

不管你使用的是163/126邮箱还是qq邮箱,你都必须开通pop3服务,而且126/qq邮箱还要求使用第三方客户端发送邮件是必须使用授权码登录,使用账号密码验证时,会出现下面图片中的错误。

sendEmail[5102]: ERROR => ERROR => SMTP-AUTH: Authentication to smtp.126.com:25 failed.

至于邮箱的授权码,自己登录126邮箱去设置就好。

经过上面两个问题的处理后就可以正常发送邮件如下所示显示成功提示

[root@mysqla alertscripts]# ./mail.sh bpcyh2@126.com test 123

Nov 21 22:50:47 mysqla sendEmail[5195]: Email was sent successfully!

zabbix web端配置

上面的邮件脚本配置好后,就要在web端添加报警媒介,在web页面的管理,报警媒介类型页面,点击右边的创建媒体类型

zabbix3.2.1邮件报警

进入创建页面,然后输入名称“邮件报警脚本”,类型选择脚本,名称选择mail.sh,点击添加按钮,添加三个脚本参数,分别是{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESAGE},分别对于mail.sh中的to、subject和body。添加完成后点下面的添加按钮,我们的报警媒介就创建完成了


zabbix3.2.1邮件报警


zabbix3.2.1邮件报警

创建好报警媒介后,就需要将报警媒介关联到我们的用户。点击管理,用户,然后选择我们的用户admin也可新建一个用户,点击用户名就进入到用户配置界面。点击报警媒介,然后点添加,选择我们上一步创建的邮件报警脚本,输入收件人,选择报警时间和类型,然后点击添加,就将创建好的报警媒介关联到我们的用户上面了。


zabbix3.2.1邮件报警

现在需要做的是,创建一个触发动作,即系统出现故障时,触发这个动作,然后给我们的邮箱发送报警邮件。点击配置,选择动作,然后点击右边的创建动作。

在动作这一页名称中写入我们定义的动作名以及触发条件

zabbix3.2.1邮件报警


设置“操作”

zabbix3.2.1邮件报警

zabbix3.2.1邮件报警

zabbix3.2.1邮件报警

步骤是1-3,也即是从1开始到3结束。一旦故障发生,就是执行Email.sh脚本发生报警邮件给zabbix用户。 
假如故障持续了1个小时,它也只发送3次,第1-3次(即前3次)邮箱发送给zabbix用户,时间间隔为0秒。
如果改成1-0,0是表示不限制.无限发送  

设置“恢复操作”


zabbix3.2.1邮件报警

添加好以后就可以看到我们添加的动作名,以及该动作已启用的状态。

zabbix3.2.1邮件报警

查看状态是否显示以启用


在动作日志里可以看到发送状况,显示已送达,就可以了。

报警测试

将192.168.129.88服务器的zabbix_agent进程关闭。

发现可以正常收到故障报警邮件

zabbix3.2.1邮件报警

zabbix3.2.1邮件报警

最后,点击”报表“->”动作日志“,可以看到触发动作的次数(右边还看查看到邮件发送状态“已发送”)。

----------------------------------------------------------------------------------------------

zabbix3.2.1邮件报警

zabbix3.2.1邮件报警

今日推荐电影《教父Ⅰ Ⅱ Ⅲ》

伟大的人不是生下来就伟大的,而是在成长过程中显示其伟大的 


相关内容

热门资讯

他扮演蜘蛛侠涨粉千万,流量密码... Joshua Watson(约书亚·沃森)是一位美国知名的视觉特效(VFX)内容创作者和社交媒体影响...
国企信创数字化改造,部署 AI... 国企信创数字化改造,最难的不是把 AI 智能体“装上去”,而是让它在国产电脑、国产操作系统和现有业务...
三宜电气申请户外高压限流熔断器... 国家知识产权局信息显示,浙江三宜电气有限公司申请一项名为“一种户外高压限流熔断器”的专利,公开号CN...
AI+物理未来在哪?量子计算大... 8月3日,为期三天的“第五届CCF量子计算大会暨大湾区量子科学论坛”(以下简称“量子计算大会”)在深...
求问空气净化器有用吗?什么品牌... 最佳回答 空气净化器当然是有用的呀,真的可以起到净化室内空气的作用。目前市面上卖得最火的空气净化器都...
哪个品牌的座便器好 我家用的就是箭牌价格有贵的有便宜的,性价比比较高,他们的价格1000多的20000的都有像我们买20...
燃气热水器坏了能修吗 燃气热水器是我们日常生活中经常使用的家电之一,它可以帮我们快速制热热水,满足我们生活中的各种需求。但...
热水器温度计坏了能修吗 热水器是我们生活中必不可少的家用电器之一,尤其在冬季使用更加频繁。热水器温度计是热水器的核心部件之一...
管道接口处漏水怎么办 如果是管道接口处的接头松动了,可以用工具拧一下。如果是已经裂开了,要借助水泥、防水胶、防水剂之类的东...
外卖小哥一着急,给警察派了一个... 近日,北京街头上演了一场温暖的“爱心接力”。外卖小哥卢浩然情急之下拨打110报警,给民警派了个特殊的...