#json #influxdb #telegraf
#json #influxdb #телеграф
Вопрос:
У меня запущен стек influxdb, telegraf и Chronograf, и он показывает данные, поступающие от брокера MQTT. Данные поступают в формате JSON и выглядят примерно так:
{
"msgid": "id1",
"senderid": "id2",
"measures": [
{
"type": "O",
"value": "value1"
},
{
"type": "CO2",
"value": "value2"
}
]
}
Чтобы иметь возможность анализировать различные значения, мне нужен telegraf для загрузки строк типа и значения. Я определил json_string_fields
следующим образом:
json_string_fields = ["msgid","senderid","measures_0_type","measures_1_type","measures_0_value","measures_1_value"]
Таким образом, я могу выполнять запросы к данным, но это ограничено первыми двумя показателями. Есть ли какой-нибудь способ определить все вхождения массива? Какой-то подстановочный знак?
Комментарии:
1. Я собираюсь сделать то же самое, вы нашли решение? @jordi
2. Нет. Мне пришлось вручную определить параметры, которые ожидались. Извините
3. Спасибо за ваше время @jordi Я выяснил, как указывать подстановочные знаки в json_string_fields ищите ответ
Ответ №1:
Чтобы использовать подстановочные знаки для json_string_fields, вы можете сделать, например:
json_string_fields = ["msgid","senderid","measures_?_type","measures_?_value"]
Итак, если они изменяются от 0 до 1000, вы получите их все!