Z大牛分享 | Zabbix_LLD_过滤监控项

2021-02-03 09:46:01 浏览数 (1)

Zabbix_LLD_过滤监控项

文| Captain懒懒的天空

默认情况下,自带的模板“Template OS Windows”,“Template OS Linux”中网络接口LLD自动发现除回环接口外的所有接口,当这并不是我们想要的接口。

比如我有一台Linux的服务器,有如下几个网卡:

Windows服务器,有如下几个网卡:

在这里,我们只想监控物理网卡,或者说监控自己想要监控的网卡,而不是网桥接口或者虚拟网卡,减少不必要的监控项来减轻Server的压力。同时防止产生大量Not supported状态的Item,如果等待这些不支持的监控项自动删除大概需要等待一个月的时间。同时也会产生大量的日志。

LLD过滤原理分析

首先查看“Template OS Windows”或者“Template LinuxWindows”模板中关于网络接口自动发现的规则

下面图中的方框代表的意思如图所示:

查看过滤器,看看zabbix默认情况下使用的过滤规则:

接下来查看正则表达式 “@Network interfaces for discovery” 的内容,“Network interfaces for discovery”只是一组正则表达式的名字而已,其内容去下图中的位置查看:

下图方框中便是过滤的规则,在默认的情况下只有“^lo$”和“^Software Loopback Interface”两种,如下图所示:

那么,这个过滤规则是过滤什么的呢,我们需要对LLD执行的结果进行查看分析,在Zabbix Server端执行以下命令,查看返回的Json值:

OK,将得到的结果用JSON美化工具(搜索一下JSON美化工具)美化一下:

通过以上的查看便可知道,Zabbix通过系统中的正则表达式 “Network interfaces for discovery”对上面的结果进行过滤,符合条件的内容就会被Zabbix进行监控。

解决办法

由上面已经知道LLD过滤原理的分析,那么解决起来就不会很费劲了,我们只需要对zabbix默认的过滤规则“Network interfaces for discovery”进行修改,添加自定义过滤规则即可。下图,是我的过滤规则:

为了确保新配置的正则表达式生效,并看到响应的结果,我们要把你要查看的主机的模板取消关联,同时将自动发现的时间间隔修改为60秒,具体操作如下:

OK,设置完成之后,就会根据你修改的规则进行过滤,过滤后的结果如下:

至此,我们的问题便解决了。

0 人点赞