Тип силового поля в telegraf.conf для притока? - PullRequest
0 голосов
/ 21 марта 2019

Я использую телеграф для опроса некоторых устройств Ubiquiti через SNMP.У меня есть следующее в моем файле telegraf.conf для извлечения средних значений нагрузки устройств:

  # Load averages
  [[inputs.snmp.field]]
   name = "loadAverage1"
   oid = "UCD-SNMP-MIB::laLoad.1"
  [[inputs.snmp.field]]
   name = "loadAverage5"
   oid = "UCD-SNMP-MIB::laLoad.2"
  [[inputs.snmp.field]]
   name = "loadAverage15"
   oid = "UCD-SNMP-MIB::laLoad.3"

Это извлекает данные, которые вы можете увидеть с помощью этого запроса:

> SELECT "loadAverage1", "loadAverage5", "loadAverage15" FROM "telegraf_unifi"."autogen"."snmp.UAP" WHERE "agent_host"='192.168.140.100' FILL(null)
name: snmp.UAP
time                loadAverage1 loadAverage5 loadAverage15
----                ------------ ------------ -------------
1553172422000000000 0.14         0.16         0.10
1553172480000000000 0.15         0.16         0.10
1553172540000000000 0.11         0.14         0.10
1553172600000000000 0.23         0.16         0.11
1553172660000000000 0.34         0.21         0.12
1553172720000000000 0.47         0.27         0.15
1553172780000000000 0.26         0.25         0.15
1553172840000000000 0.27         0.26         0.16
1553172900000000000 0.13         0.23         0.16
1553172960000000000 0.08         0.20         0.15
1553173020000000000 0.03         0.16         0.14
1553173080000000000 0.01         0.13         0.13
1553173140000000000 0.06         0.12         0.12
1553173200000000000 0.02         0.09         0.11
1553173260000000000 0.01         0.07         0.10

Проблема в том, что эти поля сохраняются в виде строк.

> show field keys on telegraf_unifi
...
name: snmp.UAP
fieldKey      fieldType
--------      ---------
loadAverage1  string
loadAverage15 string
loadAverage5  string
...

Поскольку это строки, я не могу использовать такие функции, как mean.

Как я могу заставить их сохраняться как значения с плавающей запятой, как мои другие поля?

1 Ответ

0 голосов
/ 21 марта 2019

Ваша проблема связана с выбранным вами oid.

Глядя на UCD-SNMP-MIB MIB, вы можете найти laLoad тип объекта:

laLoad OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
    "The 1,5 and 15 minute load averages (one per row)."
    ::= { laEntry 3 }

Это DisplayString.

Похоже, вам нужен тип объекта laLoadFloat.

laLoadFloat OBJECT-TYPE
    SYNTAX  Float
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
    "The 1,5 and 15 minute load averages as an opaquely
     wrapped floating point number."
    ::= { laEntry 6 }

Измените строки oid в файле telegraf.conf на:

oid = "UCD-SNMP-MIB::laLoadFloat.1"
...