Я использую телеграф для опроса некоторых устройств 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
.
Как я могу заставить их сохраняться как значения с плавающей запятой, как мои другие поля?