zabbix 3.0.9邮件报警设置

Zabbix 3.0.9 邮件报警配置

 

Zabbix 邮件报警配置看似简单,其实不然;折腾1天终于实现了报警机制,今天总结在此以备查阅。

 

一、   环境说明及配置简述

 

环境说明:zabbix服务端、客户端都已部署完成并zabbix监控正常运行。

          zabbix 服务端:Centos 7.3   zabbix 客户端:Centos6.5

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

 

二、邮件报警有两种情况:

1、使用zabbix服务器本地邮箱账号发送邮件

zabbix服务端只是单纯的发送报警邮件到邮箱,发送的账号是zabbix服务端的本地邮箱账号(如:root@localhost),只能发送,不能接受邮件。

2、使用互联网邮箱账号发送邮件

使用一个可以在互联网上正常收发邮件的账号(如:aaa@163.com),通过zabbix服务器端设置,使其能够发送报警邮件到指定邮箱(bbb@163.com)。

 

三、  使用互联网邮箱账号发送邮件之mailx 服务

1、     service sendmail stop  /关闭sendmail服务

        servicepostfix stop /关闭postfix服务

chkconfigsendmail/postfix off  /关闭开机启动

2、     安装邮件发送工具mailx

yuminstall mailx  && mailx –v  查看版本信息

echo“zabbix test mail”|mail –s “zabbix”aaaa@163.com

3、     配置zabbix 服务端外部邮箱

打开 vi /etc/mail.rc 如果不存就手动创建,内容如下:

setsendcharsets=iso-8859-1,utf-8

setfrom =xxxx@163.com

setsmtp=smtp.163.com:25

set smtp-auth-user=xxxx@163.com  /认证用户

setsmtp-auth-password=xxxx  /认证密码

4、     测试邮件是否可以发送

echo“zabbix test”| mail –s “zabbix” yyyy@163.com

这时候yyyy@163.com就回收到xxxx@163.com的测试邮件

5、     编写发送邮件脚本

进入/usr/lib/zabbix/alertscripts  创建脚本sendmail.sh ,内容如下:

echo“$3”|mail –s “$2” “$1”

上面三个参数分别是,$3邮件内容,$2 邮件主题,$1收件人地址

脚本路径可以自定义,修改zabbix_server.conf 配置文件

6、     配置web页面

1)     创建媒介类型

2)     给用户添加媒介

3)     创建动作

               

四、使用互联网邮箱账号发送邮件(使用sendEmail邮件报警,重点掌握)

 

     1)、下载sendemail 并安装软件(注:不是sendmail哦)

wget http://caspian.dotconf.NET/menu/Software/SendEmail/sendEmail-v1.56.tar.gz

tar zxf sendEmail-v1.56.tar.gz-C /usr/src

cd /usr/src/sendEmail-v1.56

cp -a sendEmail /usr/local/bin

chmod +x/usr/local/bin/sendEmail

安装2个依赖包

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

find / -type d –name“alertscripts”

/usr/lib/zabbix/alertscripts    脚本文件存放的路径

cd/usr/lib/zabbix/alertscripts

  2)、编辑脚本文件

 vi sendmail.sh

#!/bin/bash

to=$1

subject=$2

body=$3


/usr/local/bin/sendEmail  -o tls= no -f 发件人@163.com -t "$to"-s smtp.163.com -u "$subject" -omessage-content-type=html -o message-charset=utf8 –xu 发件人@163.com –xppassword -m "$body"

脚本解释:

-f  发件人邮箱 ,zabbix以那个邮箱发信

-ssmtp.163.com  ,表示邮箱的smtp服务器,我这里用163的邮箱

-xu 发件人邮箱 , 这里是对发件人邮件的验证信息

-xppassword  ,邮箱密码,如果是腾讯的邮箱,应该换成(授权码)

编辑完成后,给脚本权限

chmod +x  sendmail.sh

chown –Rzabbix.zabbix sendmail.sh

3)、需解决的问题:

1、     需要修改sendemail中的一行,在配置完成后,进行邮件测试时,出现第一个报错,应该是sendemail软件和perl5里面ssl版本不兼容导致的,通过修改sendemail里面的内容可以解决这个问题,后续的兼容性问题要等到perl5的版本升级后才能解决。

2、     在se ndemail中1906行的内容,从

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

修改为


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

 

即不指定SSL的版本,让程序来自己选择。这样修改以后可以发送邮件,但还有提示信息,不影响邮件功能的使用

3、     经测试,163、126的邮箱不适用SSL加密可以正常发送邮件,但是需要在sendemail.sh脚本中加上 –o tls=no 这一行,才能正常发送邮件。(如果要使用加密模式测试126邮箱,应改为-o tls=yes).

而对QQ邮箱,经过测试发现,必须使用SSL加密,因此需要使用-o tls=yes/auto (这两个参数选择一个即可)才能正常发送邮件。

同时,不管你使用163还是QQ邮箱,都必须开启pop3服务,而且QQ邮箱还要求使用第三方客户端发送邮件时必须使用”授权码”登录,使用账号密码验证时会出现错误。邮箱授权码在设置邮箱是会提供。

经过上面三个问题,修改sendemail代码、配置tls、然后设置授权码后,就可以测试邮件发送功能了,测试命令如下:

   # sh sendemail.sh  liudehua@163.com  邮件主题  邮件内容


   发送成功后会有类似的提示:Email was sentsuccessfully! ;查看收件箱即可。

 

 

4)、web端配置

上面脚本配置好后,就要在web端添加报警媒介---添加用户---定义动作


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

 


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

 


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

 

 


 

在动作这一页名称中写入我们定义的动作名,勾选恢复信息,即系统恢复正常时也发送邮件。然后在条件里添加需要的触发报警条件,我这里是在监控的设备出现严重故障以上时,才报警。最后选择操作页面,默认操作步骤持续时间60秒,步骤1-3,步骤持续时间60s,发送到用户群组选择Zabbix administrator,用户选择我们刚刚关联报警媒介的linux用户,仅送到一栏选择邮件脚本报警。点击添加按钮新增动作。

 

5)、测试报警


1)、因为我们在上面设置触发动作的条件是出现严重故障时,才会触发报警动作。我们这里选择关掉一台服务器的zabbix-agent来触发这个故障。从下图中可以看到agent已经正常关闭,等到一定时间后触发报警

 


2)、在监控页面上过了5分钟以后就看到了报警信息,然后再过一会儿也看到了邮件正常发送的信息,这个地方要注意的是,上面修改了报警脚本目录后,一定要重启zabbix_server进程,如果不重启的话,会发现找不到这个脚本,因为默认的脚本是位于/usr/local/zabbix/share/zabbix/alertscripts/目录下。


 

参看文章:https://jingyan.baidu.com/article/4e5b3e192a1eda91911e247a.html

http://blog.csdn.net/xiegh2014/article/details/52118643

http://www.111cn.net/sys/linux/68096.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值