我有一个非常简单的配置来收集Cisco交换机的接口统计信息 . 一开始,我只有这个:
[[inputs.snmp]]
agents = [ "172.19.254.20:161" ]
version = 2
#interface
community = "lalala"
[[inputs.snmp.field]]
name = "hostname"
oid = "SNMPv2-MIB::sysName.0"
is_tag = true
[[inputs.snmp.table]]
name = "interface"
inherit_tags = [ "hostname" ]
oid = "IF-MIB::ifTable"
# Interface tag - used to identify interface in metrics database
[[inputs.snmp.table.field]]
name = "ifDescr"
oid = "IF-MIB::ifDescr"
is_tag = true
然后我注意到“HC”OID被遗漏了所以我添加了这个并在最后添加它 .
[[inputs.snmp.table]]
name = "interface"
inherit_tags = [ "hostname" ]
oid = "IF-MIB::ifXTable"
# Interface tag - used to identify interface in metrics database
[[inputs.snmp.table.field]]
name = "ifDescr"
oid = "IF-MIB::ifDescr"
is_tag = true
我测试了配置,它似乎很好 . 我也在使用wireshark验证我是否在HC OID上看到了查询 .
172.19.254.20.snmp > 172.19.1.170.41072: { SNMPv2c C="pasonserver" { GetResponse(232) R=-1829944824 .1.3.6.1.2.1.31.1.1.1.6.222=0 .1.3.6.1.2.1.31.1.1.1.6.223=40124583293 .1.3.6.1.2.1.31.1.1.1.6.224=107009193941 .1.3.6.1.2.1.31.1.1.1.6.225=0 .1.3.6.1.2.1.31.1.1.1.6.226=2805121180775 .1.3.6.1.2.1.31.1.1.1.6.227=0 .1.3.6.1.2.1.31.1.1.1.6.228=23542578101 .1.3.6.1.2.1.31.1.1.1.6.240=268285249798 .1.3.6.1.2.1.31.1.1.1.6.241=162859292476670 .1.3.6.1.2.1.31.1.1.1.6.242=0 } }
我还继续看到旧的计数器/ OID已经填充了Influxdb中的新数据 .
> select ifInOctets from interface where ifIndex = '241' order by time desc limit 1;
name: interface
time ifInOctets
---- ----------
1526337294000000000 3341483601
但是,如果我使用“ifHCInOctets”运行上面的查询,则没有返回值 . 我还验证了我在模式中有ifHCInOctets和其他“HC”计数器
> show field keys from interface
name: interface
fieldKey fieldType
-------- ---------
ifAdminStatus integer
ifAlias string
ifConnectorPresent integer
ifCounterDiscontinuityTime integer
ifDescr string
ifHCInBroadcastPkts integer
ifHCInMulticastPkts integer
ifHCInOctets integer
ifHCInUcastPkts integer
ifHCOutBroadcastPkts integer
ifHCOutMulticastPkts integer
ifHCOutOctets integer
ifHCOutUcastPkts integer
ifHighSpeed integer
ifInBroadcastPkts integer
ifInDiscards integer
ifInErrors integer
ifInMulticastPkts integer
ifInOctets integer
ifInUcastPkts integer
ifInUnknownProtos integer
ifLastChange integer
ifLinkUpDownTrapEnable integer
ifMtu integer
ifName string
ifOperStatus integer
ifOutBroadcastPkts integer
ifOutDiscards integer
ifOutErrors integer
ifOutMulticastPkts integer
ifOutOctets integer
ifOutUcastPkts integer
ifPhysAddress string
ifPromiscuousMode integer
ifSpeed integer
ifType integer
我还重新启动了Influxdb和telegraf服务 . 我哪里做错了?谢谢!
忘了提到我运行的版本Telegraf v1.6.2(git:release-1.6 1fb4283f)InfluxDB shell版本:1.5.2