@kondratev-ad

Как прописать conf в telegraf для парсинга json данных?

Пытаюсь распарсить данные telegraf`ом:
{
  "data": {
    "component": [
    {"data": [{"name": "name1", "value": "a100"}], "tag": "tag1"},
    {"data": [{"name": "name1", "value": "b100"}, {"name": "name2", "value": "b200"}], "tag": "tag2"},
    ]
  }
}

Мои настройки telegraf.conf:
[[inputs.mqtt_consumer.json_v2]]
        measurement_name = "component"
        [[inputs.mqtt_consumer.json_v2.object]]
            path = "data.component"
            optional = true
            tags = ["tag"]
            disable_prepend_keys = true

Проблема в том, что у tag2 он записывает только одно значение, которые в конце списка:
tag=tag1 name="name1",value="a100"
tag=tag2 name="name2",value="b200"

А мне нужны все данные:
tag=tag1 name="name1",value="a100"
tag=tag2 name="name1",value="b100
tag=tag2 name="name2",value="b200"
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ответы на вопрос 1
@yellowmew
Cloud infrastructure, monitoring engineer. SRE
это интересно. сделал тестовый конфиг который читает ваш json из файла
[[inputs.file]]
files = ["c:/programs/telegraf/test.json"]
data_format = "json_v2"
[[inputs.file.json_v2]]
measurement_name = "component"
[[inputs.file.json_v2.object]]
path = "data.component"
optional = true
tags = ["tag"]
disable_prepend_keys = true

[[outputs.file]]
  files = ["stdout"]

и получил
PS C:\programs\telegraf\telegraf-1.32.0> .\telegraf.exe --config .\telegraf.conf --once
2024-10-02T14:05:05Z I! Loading config: .\telegraf.conf
2024-10-02T14:05:05Z I! Starting Telegraf 1.32.0 brought to you by InfluxData the makers of InfluxDB
2024-10-02T14:05:05Z I! Available plugins: 235 inputs, 9 aggregators, 32 processors, 26 parsers, 62 outputs, 5 secret-stores
2024-10-02T14:05:05Z I! Loaded inputs: file
2024-10-02T14:05:05Z I! Loaded aggregators:
2024-10-02T14:05:05Z I! Loaded processors:
2024-10-02T14:05:05Z I! Loaded secretstores:
2024-10-02T14:05:05Z I! Loaded outputs: file
2024-10-02T14:05:05Z I! Tags enabled: host=pc
2024-10-02T14:05:05Z I! [agent] Hang on, flushing any cached metrics before shutdown
component,host=pc,tag=tag1 name="name1",value="a100" 1727877906000000000
component,host=pc,tag=tag2 name="name1",value="b100" 1727877906000000000
component,host=pc,tag=tag2 name="name2",value="b200" 1727877906000000000
2024-10-02T14:05:05Z I! [agent] Stopping running outputs


Единственное что - ваш json не валидируется, пришлось убрать запятую66fd5410b4143433378526.png
а так - все работает, что наводит на мысли, что проблема в чем то другом, а не в конфиге парсинга
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы