码迷,mamicode.com
首页 > 其他好文 > 详细

添加自定义监控项目,配置邮件告警,测试告警,不发送邮件的问题处理

时间:2017-11-20 21:52:47      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:添加自定义监控项目   配置邮件告警   测试告警   zabbix   不发送邮件的问题处理   

笔记内容:

  • 19.12添加自定义监控项目

  • 19.13/19.14配置邮件告警

  • 19.15测试告警

  • 19.16不发送邮件的问题处理

笔记日期:2017-11-20


19.12添加自定义监控项目

技术分享图片

技术分享图片

自定义的监控项目是用于实现一些特殊的、个性化的监控需求,因为zabbix自带的模板里的监控项目,是不能帮我们做到某个特定的监控的,所以需要自己去自定义一个监控项来完成这种个性化需求。

例如:我现在有一个需求,这个需求是监控某台web服务器80端口的并发连接数量(ESTABLISHED状态的),并绘制出图表。

根据需求分析,首先我们第一步肯定得先通过脚本的方式获得这个连接数量,得到连接数量后还要去zabbix监控中心去创建监控项目,然后再针对这个自定义项目绘制一个图形出来。那么下面就演示如何完成这个需求:

1. 对于第一步,需要到客户端机器上定义脚本:

vim /usr/local/sbin/estab.sh


脚本内容如下:

#!/bin/bash

##获取80端口并发连接数

netstat -ant |grep ‘:80 ‘ |grep -c ESTABLISHED


获取80端口的连接数量就一条命令就可以搞定了,所以这个脚本很简单:

技术分享图片


给这个脚本设置权限:

chmod 755 /usr/local/sbin/estab.sh


然后编辑zabbix客户端的配置文件:

vim /etc/zabbix/zabbix_agentd.conf


增加内容如下:

UnsafeUserParameters=1  //表示使用自定义脚本

UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh

//自定义监控项的key为my.estab.count,后面的[*]里面写脚本的参数*表示没有参数,如果没有参数则可以省略,脚本路径为/usr/local/sbin/estab.sh

技术分享图片


重启zabbix-agent服务:

systemctl restart zabbix-agent


接着去服务端验证一下这个自定义的脚本有没有被识别,命令如下:

zabbix_get -s 192.168.77.128-p 10050 -k ‘my.estab.count‘

技术分享图片

能得到数字证明没问题,如果脚本有问题的话,是不会得到数字的。


完成以上的操作后,第二步就是到zabbix监控中心(浏览器)配置增加监控项目:

技术分享图片

技术分享图片

剩下的我都选择了默认,你可以根据自己的需求选择。


添加完监控项后,给这个监控项做一个图形:

技术分享图片


预览看看有没有问题:

技术分享图片


创建触发器,配置当并发数量到达某一个数量时就会告警:

技术分享图片

技术分享图片


我设置的规则如下,这个规则表示:并发链接数量大于200就告警:

技术分享图片

然后其他的默认即可。






19.13/19.14配置邮件告警

技术分享图片

在Zabbix服务端中可以设置邮件告警,当被监控的主机宕机了或者达到触发器预设值时,就会自动发送报警邮件到指定的一个第三方邮箱,这个邮箱可以使用163或者QQ邮箱(因为我只尝试过这两个邮箱),我这里使用163邮箱作为演示。

1. 登录邮箱,设置开启POP3、IMAP、SMTP服务,因为要在服务器上调用第三方的邮箱,需要这个邮箱开启这些服务,登录后点击设置可以看到这些服务的选项:

技术分享图片

  1. 设置服务,第一次设置的话,会需要短信验证,然后还会要求你设置一个密码:

技术分享图片

技术分享图片


进行短信验证:

技术分享图片


设置密码:

技术分享图片


完成:

技术分享图片

这个设置的密码也就是授权码要记住,发送邮箱的时候需要这个密码。


  1. 到监控中心,创建一个报警媒介类型:

技术分享图片

{ALERT.SENDTO} 参数定义第三方的邮件地址

{ALERT.SUBJECT} 参数定义主题

{ALERT.MESSAGE} 参数定义邮件内容


  1. 在服务端上查看zabbix配置文件,看看定义的脚本文件存放的路径是什么:

vim /etc/zabbix/zabbix_server.conf


在文件中搜索AlertScriptsPath:

技术分享图片






技术分享图片

5. 得知脚本文件的存放路径后,在该路径下创建报警脚本mail.py:

vim /usr/lib/zabbix/alertscripts/mail.py


脚本内容从以下网址可获得:

https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D22Z/mail.py


修改以下几处内容:

gserver = ‘smtp.163.com‘  (因为我使用的是163邮箱)

技术分享图片



6. 更改脚本文件的权限:

chmod 755 /usr/lib/zabbix/alertscripts/mail.py


  1. 测试一下这个脚本:

cd /usr/lib/zabbix/alertscripts

技术分享图片


然后到你的邮箱里看看是否有收到这个邮件,能正常收到就没问题:

技术分享图片

如果没有收到邮件的话,就得检查检查你的脚本是否有问题。




以上操作完成后,需要到监控中心创建一个用户用来发送邮件:

技术分享图片


然后再添加报警媒介:

技术分享图片

技术分享图片


接着就是到用户群组中修改权限:

技术分享图片

技术分享图片

技术分享图片

如果你这一步权限没有修改对的话,你是收不到告警邮件的。

修改完群组权限后,到你创建的用户的权限界面里,看看是否已经拥有所有组的读写权限:

技术分享图片


用户配置完后,需要去创建一个动作,动作就是触发器触发后会发生的行为动作,这个动作就是发邮件的动作:

技术分享图片

然后操作界面里还需要配置一下默认信息和操作:

技术分享图片

默认信息的内容如下:

HOST:{HOST.NAME} {HOST.IP}

TIME:{EVENT.DATE}  {EVENT.TIME}

LEVEL:{TRIGGER.SEVERITY}

NAME:{TRIGGER.NAME}

messages:{ITEM.NAME}:{ITEM.VALUE}

ID:{EVENT.ID}





技术分享图片

恢复操作界面里的默认信息也需要重新配置,配置内容如下:

HOST:{HOST.NAME} {HOST.IP}

TIME:{EVENT.DATE}  {EVENT.TIME}

LEVEL:{TRIGGER.SEVERITY}

NAME:{TRIGGER.NAME}

messages:{ITEM.NAME}:{ITEM.VALUE}

ID:{EVENT.ID}

技术分享图片


完成:

技术分享图片






19.15测试告警

到目前为止,邮件告警就配置好了,接下来就是测试一下这个告警是否正常,首先创建一个自定义的触发器:

条件:

技术分享图片

技术分享图片


然后到监控中心的仪表板中,等一会就会发现出现警告信息:

技术分享图片

如图,这是我们刚刚创建的触发器告的警,并且动作显示的是完成,代表邮件已经发送了,如果显示的是失败的话,那就是邮件发送失败了,发送失败的情况一般有以下几个原因:

  1. 媒介类型

  2. 动作的默认信息

  3. 操作和恢复操作的默认信息

  4. 脚本文件不够权限

  5. 没有给用户添加媒介

  6. 邮箱里的服务没有打开

  7. 触发器

  8. 网络问题


一般动作显示失败的话都会有一个具体的提示,根据提示排查错误快一些。


我这里是发送成功的,那么到邮箱里看看邮件内容:

技术分享图片

因为监控项的名称是中文的,所以显示的会是乱码。


关于设置主动或被动模式:

技术分享图片

在监控项里设置,默认是被动,有个主动式字样的就是主动模式。






19.16不发送邮件的问题处理

  1. 检查发送邮件的脚本,先在命令行里测试一下是否能正常收到。

  2. 检查脚本文件的权限,确保能被zabbix用户调用

  3. 检查报警媒介中的配置

  4. 检查用户中是否有添加报警媒介,并且要具有读写权限

  5. 检查动作、操作、恢复操作中的配置


如果从头到尾都仔细检查了,实在是无法收到邮件的话,那就是你搭建的zabbix有问题了,重新恢复快照,再安装一遍。








本文出自 “zero” 博客,请务必保留此出处http://zero01.blog.51cto.com/12831981/1983610

添加自定义监控项目,配置邮件告警,测试告警,不发送邮件的问题处理

标签:添加自定义监控项目   配置邮件告警   测试告警   zabbix   不发送邮件的问题处理   

原文地址:http://zero01.blog.51cto.com/12831981/1983610

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!