在 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"
我在玩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"