在zabbix监控网络设备时,最重要的监控之一就是端口的监控。而网络设备一般端口数量很多,在添加到监控系统后会创建出大量的监控项以及触发器,大量监控项会对zabbix性能造成影响也不利于查看监控信息。
日常环境中,网络设备的端口不会全部使用,因此监控项中会生成大量无效监控,而必要的监控应该是端口状态为up且有流量的端口,当原本为up状态的端口down掉后才发出告警信息。也就是需要过滤掉端口状态为down或虚拟端口。
1、过滤器
Zabbix通过预设的正则表达式对获取到的结果进行匹配和过滤,符合条件的内容纳入到Zabbix进行监控。
以下面这台主机为例:

可以看到这台Cisco的设备自动发现了259个监控项,有大量为down的端口纳入监控。
1.1、过滤状态为down的端口
网络设备端口状态有三个映射值(0-Unknow,1-On,2-Down),具体可根据设备OID进行查询。需要做的就是过滤到端口一直为Down的端口,仅监控端口为Up或者端口转为Up。
- 打开主机链接的模板,在自动发现规则中添加过滤器。
- 过滤器宏为{$STATUS},正则表达式为[^2]
- 如果有上层模板,仅需在上层模板添加过滤器,下层模板会自动继承。

- 复制监控项原型Operational status of interface {#SNMPVALUE}中的OID


- 将OID和过滤器添加到自动发现规则中

- 将模板关联到网络设备

- 查看监控结果


可以看到此时的监控项仅为91个,监控的端口均为状态为Up的。
1.2、过滤虚拟端口
网络设备一般都会有Vlanif(VirtualLocalAreaNetworkIterface)端口,这些一般为设备的逻辑端口,类似的还有virtual interface,vinterface等端口,这些端口一般没有实际意义,可进行过滤。
- 过滤方法和1.1类似,在自动发现规则中添加^Vlanif,然后关联到主机即可。

