zabbix 通过SNMP的传统单项方式自动发现交换机端口(只发现up转态的端口)

最近在做接入层交换机端口的监控时,发现通过zabbix的SNMP直接发现端口时是没有办法直接提取up状态的端口的,而且接入层的交换机端口状态会经常变化,采用固定的端口筛选操作量会很大,这要求我们能够自动发现up状态的端口做监控。
查询官方文档发现,SNMP的取值方式是可以相互组合了,这就为实施提供了基础:
参考连接

$ snmpwalk -v 2c -c public 192.168.1.1 IF-MIB::ifDescr
IF-MIB::ifDescr.1 = STRING: WAN
IF-MIB::ifDescr.2 = STRING: LAN1
IF-MIB::ifDescr.3 = STRING: LAN2

$ snmpwalk -v 2c -c public 192.168.1.1 IF-MIB::ifPhysAddress
IF-MIB::ifPhysAddress.1 = STRING: 8:0:27:90:7a:75
IF-MIB::ifPhysAddress.2 = STRING: 8:0:27:90:7a:76
IF-MIB::ifPhysAddress.3 = STRING: 8:0:27:2b:af:9e
# 结果信息
[
    {
        "{#SNMPINDEX}": "1",
        "{#IFDESCR}": "WAN",
        "{#IFPHYSADDRESS}": "8:0:27:90:7a:75"
    },
    {
        "{#SNMPINDEX}": "2",
        "{#IFDESCR}": "LAN1",
        "{#IFPHYSADDRESS}": "8:0:27:90:7a:76"
    },
    {
        "{#SNMPINDEX}": "3",
        "{#IFDESCR}": "LAN2",
        "{#IFPHYSADDRESS}": "8:0:27:2b:af:9e"
    }
]

SNMP 获取交换机的端口标识以及端口状态(H3C为例):

# snmpwalk -v2c -c Dongcai123 10.195.250.34  IF-MIB::ifDescr
IF-MIB::ifDescr.1 = STRING: Twenty-FiveGigE1/0/1
IF-MIB::ifDescr.2 = STRING: Twenty-FiveGigE1/0/2
IF-MIB::ifDescr.3 = STRING: Twenty-FiveGigE1/0/3
IF-MIB::ifDescr.4 = STRING: Twenty-FiveGigE1/0/4

# snmpwalk -v2c -c Dongcai123 10.195.250.34  IF-MIB::ifOperStatus
IF-MIB::ifOperStatus.1 = INTEGER: up(1)
IF-MIB::ifOperStatus.2 = INTEGER: up(1)
IF-MIB::ifOperStatus.3 = INTEGER: up(1)
IF-MIB::ifOperStatus.4 = INTEGER: up(1)

组合形式:
在这里插入图片描述
在这里插入图片描述

SNMP OID :discovery[{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8]
状态过滤:{#IFOPERSTATUS}   matches  1
注意状态值是过滤1 而不是up 或是up(1) 这里是一个巨坑

该DISCOVERY rules 适用于高版本的zabbixserver,原来老的版本的2.4 是不支持的,这里也是一个坑。
实测真是有效,熬肝干了一个下午,中午搞定!!!
后续就可以快了的准备做监控指标了!

猜你喜欢

转载自blog.csdn.net/qq_29520895/article/details/126174304
今日推荐