在 snmp 插件配置中更改为 "High Counter" 或 HC OID 时,Collectd 不收集数据

Collectd not collecting data when changed to "High Counter" or HC OIDs in snmp plugin config

我在玩collectd。在我决定使用 "ifHCInOctets" 而不是 "ifInOctets" 之前,Evertying 工作正常。这是我的 SNMP 插件配置。

<Plugin snmp>
    <Data "std_traffic_hc">
            Type "if_octets"
            Table true
#           Instance "IF-MIB::ifDescr"
            Instance "IF-MIB::ifName"
#           Values "IF-MIB::ifInOctets" "IF-MIB::ifOutOctets"
            Values "IF-MIB::ifHCInOctets" "IF-MIB::ifHCOutOctets"
    </Data>
    <Host "ABCDESW01-01">
            Address "10.0.3.131"
            Version 1
            Community "xxx"
            Collect "std_traffic_hc"
            Interval 60
    </Host>
</Plugin>

我还在 "Instance" 指令中尝试了 ifDescr 和 ifName,但没有任何区别。任何一个都适用于常规 OID,但不适用于 HC OID。

我使用了 tcpdump,但我没有看到 collectd 曾尝试将 snmp 流量发送到 HC OID。我确实看到了实例 OID 的 snmp 流量。

我还使用 snmpwalk 确认我的交换机 (HP) 支持 OID:

# snmpwalk -v2c -cxxx 10.0.3.131 IF-MIB::ifHCInOctets
IF-MIB::ifHCInOctets.1 = Counter64: 0
IF-MIB::ifHCInOctets.2 = Counter64: 356053022

我哪里做错了?

谢谢!

好吧,高计数器 OID 在 SNMP v1 中不可用,所以我猜这就是问题所在。

您在 CLI 上手动请求版本 2c 中的 OID 是正确的,但 collectd 配置设置为 "Version 1"