我想监控许多设备的带宽利用率。但是在SNMP中,每台计算机的以太网卡索引都不同。例如,在localhost中,这些是值:
向localhost发送GET请求:161
ifDescr.1软件环回接口1 ifDescr.2 WAN Miniport (SSTP)
ifDescr.3 WAN Miniport(L2TP)ifDescr.4 WAN Miniport(PPTP)
ifDescr.5 WAN Miniport(PPPOE)
ifDescr.6 WAN Miniport(IPv6)
ifDescr.7 WAN Miniport(网络监视器)
ifDescr.8 WAN Miniport(IP)
ifDescr.9 RAS异步适配器
ifDescr.10 WAN Miniport(IKEv2)
ifDescr.11 Microsoft Teredo T?nelBa§da?t?r?c?s?
ifDescr.12
ifDescr.13
ifDescr.14
ifDescr.15 Realtek PCIe GBE 家庭控制员
ifDescr.16 Intel(R)Centrino(R)Wireless-N 2230
ifDescr.17 Microsoft Virtual WiFi Miniport Adapter#9
ifDescr.18 Bluetooth Ayg?t? (Ki?iselAlanA§?)
ifDescr.19 Bluetooth Ayg?t? (RFCOMM Protokol?TDI)
ifDescr.20 Microsoft Virtual WiFi Miniport Adapter#10
ifDescr.21 Realtek PCIe GBE系列控制器-QoS数据包调度程序-0 000
ifDescr.22 Realtek PCIe GBE系列控制器-WFP LightWeight 过滤器-0000
ifDescr.23 WAN Miniport(IPv6)-QoS Packet Scheduler-0000
ifDescr.24 WAN Miniport(IP)-QoS Packet Scheduler-0000
ifDescr.25 WAN Miniport(网络监视器)-QoS Packet Scheduler-0000
带宽传入:
向localhost发送GET请求:161
ifInOctets.1 0
ifInOctets.2 0
ifInOctets.3 0
ifInOctets.4 0
ifInOctets.5 0
ifInOctets.6 0
ifInOctets.7 0
ifInOctets.8 0
ifInOctets.9 0
ifInOctets.10 0
ifInOctets.11 0
ifInOctets.12 0
ifInOctets.13 0
ifInOctets.14 0
ifInOctets.15 54112558
ifInOctets.16 0
ifInOctets.17 0
ifInOctets.18 0
ifInOctets.19 0
ifInOctets.20 0
ifInOctets.21 54112558
ifInOctets.22 54112558
ifInOctets.23 0
ifInOctets.24 0
ifInOctets.25 0
因此,我需要查看索引15,21和22.但是在其他计算机中索引会有所不同,卡名称也会不同(我的是Realtek PCIe GBE系列控制器)。我如何找出应该使用哪个索引?
答案 0 :(得分:0)
接口名称的绑定由操作系统完成,因此几乎取决于接口是如何启动的,然后由SNMP代理发现/枚举。如果您感兴趣的是特定接口(可能是ifDescr的标识符),那么您可以通过拉取ifDescr列然后获取索引来进行查找。例如,如果兴趣在
“Realtek PCIe GBE系列控制器”
那就是ifIndex 15,您应该在特定主机上查询IfInOctets.15。在另一个主机上,索引可能是其他东西。例如在我的MAC上我通常得到“en0”作为接口(在我的Linux服务器上它可以是类似“eth0”)并使用ifIndex为5获得ifDescr值
IF-MIB :: ifDescr.5 = STRING:en1
所以你应该计划相应的调整。