zabbix 监控项自动发现过滤_Zabbix自动发现规则

今天介绍一下Zabbix的自动发现规则,自定义监控项是自定义发现规则的基础,需要用户自定义脚本和键值。

为什么我们需要自动发现规则呢?是因为很多监控项监控的内容一样,但是监控的对象不一样,自动发现规则可以方便我们添加这些监控项。以系统自带的发现规则(监控磁盘、网口和服务等)举例,磁盘、网口、服务数量都是变动的的,每台服务器都有可能不一样,但是要监控的内容都一样,比如磁盘的剩余空间,服务的状态等。

那么我们用到发现规则的地方是 监控机台产生的error_log文件修改时间有没有改变,如果改变了,说明机台有error。但是机台数量很多,一台一台的添加监控项很枯燥,偷懒一下,用自动发现规则来添加监控项吧~

参考文档:

这4篇博客都是关于自动发现的脚本和案例。

自定义监控项/发现规则需要在Zabbix Agent的config档定义键,以及键对应的可执行脚本,然后在web上给被监控Server设置该键为监控项/发现规则。

注意Zabbix的自动发现功能获取的数据类型是JSON格式的,所以我们要输出JSON格式的字符串,Server才能识别。

博客1监控数据库表空间的大小;

博客2监控端口;

博客3监控磁盘IO使用率;

博客4监控是否存在丢包行为。

上文提到,“Zabbix的自动发现功能获取的数据类型是JSON格式的”,而且我们使用Python开发脚本,所以上述三篇博客是关于Python的Json库使用介绍。

参考上述文档,即可写出自己的脚本,修改agent的config。然后在服务器上添加自动发现规则。截图附下。

添加自动发现规则

设置过滤器,过滤器是在脚本中上报的键,比如,我们脚本上报的是机台EQPT,注意,格式{#EQPT}

添加监控项并设置触发器,注意使用上图设置的过滤器

以上,即实现了自动发现规则的创建添加。

小提示,如果脚本是用Python写的,跑在windows上,应该在脚本前面加上Python的可执行路径,比如我的脚本前面加了如下语句

#! C:\Users\lq\AppData\Local\Programs\Python\Python37\python#-*- coding: utf-8 -*-

网上大部分脚本都是跑在Linux上面,所以前面加的是“#!/usr/bin/python”,但是windows上Python的可执行路径不是这个~

你可能感兴趣的:(zabbix,监控项自动发现过滤)