尝试在telegraf的“ tag_keys”输入插件中添加可变数量的嵌套标签

问题描述

我正在尝试使用telegraf输入插件在json数据中使用arris正确标记某些嵌套标签

如果我手动指定它们,我可以做到这一点而没有问题,问题取决于服务器,带有这些标签的条目数可能会有所不同,因为您会看到telegraf为它们命名,例如“ xxxx_number_yyyy”,其中第一个标签号为0,第二个是一个,依此类推。

因此,对于像这样的json代码

{
    "body": {
        "item": {
            "name": "mydatasource","type": "Generic","instances": [
                {
                    "server": "server1","state": "Running","connectionsTotalCount": 20
                },{
                    "server": "server2","connectionsTotalCount": 46
                }
            ]
        }
    }
}

和Telegraf中的输入配置类似:

[[inputs.exec]]
  commands = ["command that extracts data in json format"]
  data_format = "json"
  json_query = "body.item"
  tag_keys = ["name","WANT TO ADD INSTANCE_#_SERVER HERE WITHOUT SPECIFYING THEM MANUALLY"]
  json_string_fields = ["type","instances_?_state"]

telefgraf的输出如下:exec_command,host=myhost.example.com,name=mydatasource,instances_0_connectionsTotalCount=20,instances_0_server="server1",instances_0_state="Running",instances_1_connectionsTotalCount=46,instances_1_server="server2",instances_2_state="Running" 1598295890000000000

如您所见,在这种情况下,有两个,所以我很容易拥有:

tag_keys = ["name","instances_0_server","instances_1_server"]

问题是这必须适用于数十种不同的配置,并且有些可以具有数十台服务器,我想自动以这种模式添加tag_keys,我尝试使用通配符,但似乎无法与tag_keys一起使用。

有什么办法解决这个问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)