###Zabbix_LLD(Low-Level-Discovery)_过滤监控项
默认情况下,自带的模板“Template OS Windows”,“Template OS Linux”中网络接口LLD自动发现除回环接口外的所有接口,当这并不是我们想要的接口。
比如我有一台Linux的服务器,有如下几个网卡:
```
[iyunv@webserver] - [Thu Oct 13] - [13:35:24] [~]#ifconfig |grep HW
em1 Link encap:Ethernet HWaddr 78:2B:CB:68:E9:E4
em2 Link encap:Ethernet HWaddr 78:2B:CB:68:E9:E6
em3 Link encap:Ethernet HWaddr 78:2B:CB:68:E9:E8
em4 Link encap:Ethernet HWaddr 78:2B:CB:68:E9:EA
```
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值:
```
[iyunv@localhost] - [Thu Oct 13] - [11:58:27] [~]#zabbix_get -s 172.24.10.4 -p 10050 -k net.if.discovery
{"data":[{"{#IFNAME}":"WAN Miniport (IPv6)"},{"{#IFNAME}":"WAN Miniport (Network Monitor)"},{"{#IFNAME}":"WAN 微型端口(网络监视器) - 360entbw Miniport"},{"{#IFNAME}":"Intel(R) PRO/1000 MT Network Connection - 360entbw Miniport-QoS Packet Scheduler-0000"},{"{#IFNAME}":"WAN 微型端口(IP) - 360entbw Miniport"},{"{#IFNAME}":"Intel(R) PRO/1000 MT Network Connection"},{"{#IFNAME}":"WAN Miniport (IP)"},{"{#IFNAME}":"Intel(R) PRO/1000 MT Network Connection - 360entbw Miniport-WFP LightWeight Filter-0000"},{"{#IFNAME}":"WAN 微型端口(网络监视器) - 360entbw Miniport-QoS Packet Scheduler-0000"},{"{#IFNAME}":"Intel(R) PRO/1000 MT Network Connection - 360entbw Miniport"},{"{#IFNAME}":"WAN 微型端口(IP) - 360entbw Miniport-QoS Packet Scheduler-0000"},{"{#IFNAME}":"WAN Miniport (IPv6)-QoS Packet Scheduler-0000"},{"{#IFNAME}":"Intel(R) PRO/1000 MT Network Connection - 360entbw Miniport-360LanProtect-0000"},{"{#IFNAME}":"WAN Miniport (PPPOE)"},{"{#IFNAME}":"RAS Async Adapter"},{"{#IFNAME}":"Software Loopback Interface 1"},{"{#IFNAME}":"WAN Miniport (SSTP)"},{"{#IFNAME}":"WAN Miniport (IKEv2)"},{"{#IFNAME}":"WAN Miniport (L2TP)"},{"{#IFNAME}":"WAN Miniport (PPTP)"},{"{#IFNAME}":"Microsoft ISATAP Adapter"},{"{#IFNAME}":"Teredo Tunneling Pseudo-Interface"}]}
```
OK,将得到的结果用JSON美化工具(搜索一下JSON美化工具)美化一下:
``` json
{
"data": [
{
"{#IFNAME}": "WAN Miniport (IPv6)"
},
{
"{#IFNAME}": "WAN Miniport (Network Monitor)"
},
{
"{#IFNAME}": "WAN 微型端口(网络监视器) - 360entbw Miniport"
},
{
"{#IFNAME}": "Intel(R) PRO/1000 MT Network Connection - 360entbw Miniport-QoS Packet Scheduler-0000"
},
{
"{#IFNAME}": "WAN 微型端口(IP) - 360entbw Miniport"
},
{
"{#IFNAME}": "Intel(R) PRO/1000 MT Network Connection"
},
{
"{#IFNAME}": "WAN Miniport (IP)"
},
{
"{#IFNAME}": "Intel(R) PRO/1000 MT Network Connection - 360entbw Miniport-WFP LightWeight Filter-0000"
},
{
"{#IFNAME}": "WAN 微型端口(网络监视器) - 360entbw Miniport-QoS Packet Scheduler-0000"
},
{
"{#IFNAME}": "Intel(R) PRO/1000 MT Network Connection - 360entbw Miniport"
},
{
"{#IFNAME}": "WAN 微型端口(IP) - 360entbw Miniport-QoS Packet Scheduler-0000"
},
{
"{#IFNAME}": "WAN Miniport (IPv6)-QoS Packet Scheduler-0000"
},
{
"{#IFNAME}": "Intel(R) PRO/1000 MT Network Connection - 360entbw Miniport-360LanProtect-0000"
},
{
"{#IFNAME}": "WAN Miniport (PPPOE)"
},
{
"{#IFNAME}": "RAS Async Adapter"
},
{
"{#IFNAME}": "Software Loopback Interface 1"
},
{
"{#IFNAME}": "WAN Miniport (SSTP)"
},
{
"{#IFNAME}": "WAN Miniport (IKEv2)"
},
{
"{#IFNAME}": "WAN Miniport (L2TP)"
},
{
"{#IFNAME}": "WAN Miniport (PPTP)"
},
{
"{#IFNAME}": "Microsoft ISATAP Adapter"
},
{
"{#IFNAME}": "Teredo Tunneling Pseudo-Interface"
}
]
}
```
通过以上的查看便可知道,Zabbix通过系统中的正则表达式 “Network interfaces for discovery”对上面的结果进行过滤,符合条件的内容就会被Zabbix进行监控。
###解决办法
由上面已经知道LLD过滤原理的分析,那么解决起来就不会很费劲了,我们只需要对zabbix默认的过滤规则“Network interfaces for discovery”进行修改,添加自定义过滤规则即可。下图,是我的过滤规则:
为了确保新配置的正则表达式生效,并看到响应的结果,我们要把你要查看的主机的模板取消关联,同时将自动发现的时间间隔修改为60秒,具体操作如下:
OK,设置完成之后,就会根据你修改的规则进行过滤,过滤后的结果如下:
至此,我们的问题便解决了。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com