美文网首页运维驿站程序员
Zabbix 检测服务端口发出ALERT

Zabbix 检测服务端口发出ALERT

作者: jaymz明 | 来源:发表于2019-01-22 18:59 被阅读6次

    看题目需求很简单,用zabbix检测ldap server端口是否可以正常使用。本文记录了自己的实践过程以及遇到的问题,供大家参考。

    zabbix如何安装,agent如何设置,请大家移步官网:https://www.zabbix.com/documentation/3.4/zh/manual

    1.添加被监控主机

    Configuration——Hosts——Create host

    2.在主机上设置监控项

    Configuration——Hosts——Items——create item

    Name: ldap service  (自定义)

    Key: net.tcp.listen[port]    将port修改为30389(被监控端口)。因为本文需要检测的是ldap服务,默认ldap是389,k8s中把它暴露出来成30389。这个net.tcp.listen[] 的功能是检测端口是否开启,开启返回1,否则返回0.

    如下图,其余配置default就好。

    3.配置触发器

    Configuration——Hosts——Triggers——create trigger

    1.name:check check ldap service (自定义)

    2.Expression:Add添加,如下图,选择我们刚刚建好的Item,Function以及下面的配置是设置怎样的条件下,该触发器生效。前文已经说过,listen[]这个方法开启为1,否则为0。那么我们把N的值设置成0,一旦服务不可用,该触发器就会触发。

    整个trigger配置如下,URL可以填写你需要被通知的用户直接访问的连接,查看异常。Severity设置该异常的严重程度,最后启用、保存即可。

    4.设置图表(可选)

    Configuration——Hosts——Graphs——create Graph

    可以根据自己的需要,设置显示的图表,Item部分选择我们刚刚建好的ldap service。如下图:

    可以看到检测的图表如下:

    5.配置告警邮件

    5.1 检查zabbix所在的服务器上,配置邮箱:

    vi /etc/mail.rc

    加上set from=xxx@zabbix.com["发邮件用的账号"] smtp=smtp3.xx.com["smtp的服务器地址"]

    5.2 测试邮件是否能够发送成功:

    echo "test mail content" | mail -s "test" xxx@yyy.com。看看你的邮箱是否能够收到。

    如果没问题的话,接下来需要设置执行发送邮件的脚本。这样我们就可以直接利用内部zabbix带的邮箱功能(sendmail)发送,而不需要用外部的邮箱。

    5.3 默认zabbix存放脚本的路径是/usr/lib/zabbix/alertscripts,然后创建sendmail.sh如下:

    为什么写成这样,简单的其实也可以用一行表示:echo "$3" | mail -s "$2" "$1" 就好了。是有原因的。加上export.UTF-8这个大家知道排除乱码,然后发送的过程中会发现把content转为了附件,不是我们想要的,于是要使用dos2unix来转下。

    5.4 修改创建脚本的权限

    chown zabbix.zabbix  sendmail.sh

    chmod 755 sendmail.sh

    如果你足够好奇,用zabbix账户去创建,你会得到以下结果:This account is currently not available. 也无需惊讶,这是在zabbix_server.conf中定义,是否允许root访问。

    5.5 Web页面上配置

    Administration——Media Types——create media type(创建告警媒介)

    script name选择刚刚在后端创建的脚本名字(确保一致),由于我们在脚本中加入三个参数,则这边也需要传入三个参数。否则邮件发不出去。如下图:

    设置接收邮件的用户

    在媒介部分添加,选择我们上面建好的脚本媒介,如下图,保存。

    脚本也有了, 收件人也有了,怎样把监控点和发送邮件联系起来呢?需要创建告警操作Action。

    Administration——Actions——create action

    action部分定义了默认邮件信息,可根据需要勾选recovery message,当服务恢复回来时,就会触发并发送定义的内容。

    Conditions部分配置满足什么条件执行action,我们把前面定义的ldap service检测方法,和异常值配置这里。

    Operations部分配置满足条件后,我的action具体需要做什么。最上面一行,每多少秒执行一次。最小60s。details steps设置1-1表示立即执行。type选的是send message,当然也可以设置remote command。

    接下来就是发送给谁,可以配置组或个人,send only to选择我们写好的媒介。如果不想使用默认的邮件内容,可在下方message自定义。如下图:

    最后保存。手动将ldap service down,再起起来。然后过了一会儿就会收到两份邮件,下图是恢复的邮件:

    当然我们也可以在report----action log中查看触发的信息如下:

    相关文章

      网友评论

        本文标题:Zabbix 检测服务端口发出ALERT

        本文链接:https://www.haomeiwen.com/subject/xfrrjqtx.html