Телеграф не записывает некоторые данные в приманку после изменения конфигурации
У меня очень простая конфигурация для сбора статистики интерфейса от коммутатора 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
Затем я заметил, что пропущены OID "HC", поэтому я добавил это и добавил в конце.
[[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 были заполнены новыми данными в притоке.
> 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: 1.5.2