Telegraf + MQTT + effxdb: изменение ввода mqtt - PullRequest
0 голосов
/ 24 марта 2020

Допустим, у меня есть различные клиенты MQTT, которые отправляют данные в пределах некоторой топи c, например, для датчиков температуры tele / temp /% devicename% / SENSOR в формате JSON, таком как

{"Time":"2020-03-24T20:17:04","DS18S20":{"Temperature":22.8},"TempUnit":"C"}}

Мой базовый c telegraf.conf выглядит следующим образом

# Influxdb Output
[[outputs.influxdb]]
  database = "telegraf"

# sensors
[[inputs.mqtt_consumer]]
name_override = "sensor"
topics = ["tele/temp/+/SENSOR"]
data_format = "json"

Моя проблема в том, что теперь я не могу выполнить базовые c операции с этими json данными.

  1. Я не хочу сохранять хост и топи c. Как я могу сбросить поля?
  2. Топи c содержит% devicename%. Как я могу добавить его в качестве тега?
  3. Я не могу использовать json_query, поскольку там есть% devicename% и есть только одно поле.
  4. Как я могу переименовать поле% devicename% _ "температура"?

В общем, я хотел бы иметь простой способ сохранить только измерение множества датчиков в следующем формате

timestamp           |   temperature |    device 

2020-03-24T20:17:04 |         22.8  |   DS18S20

Большое спасибо !

...