使用 KQL 动态解析 Azure 中的日志

Dynamic parsing of logs in Azure using KQL

我在 Log-Analytics 中有几个自定义日志。我想使用另一个日志中的列来解析一个日志的列。使用 join 我可以到达所有数据都在一个 table 中的阶段。 喜欢:

标签 数据
第一个 第一=abc,第二=def,第三=ghi
第二 第一=abc,第二=def,第三=ghi

我想要另一列将相应的数据映射为:

标签 数据 价值
第一个 第一=abc,第二=def,第三=ghi abc
第二 第一=abc,第二=def,第三=ghi def

有没有办法解析这个。我试过使用 KQL 的解析函数和正则表达式。但它们仅用于解析固定语句。这里的 Value 不是固定的。有什么建议吗?

datatable(label:string, data:string) [ 
    'First', 'First=abc , Second=def , Third=ghi',
    'Second', 'First=abc , Second=def , Third= ghi',
    'Third', 'First=abc , Second=def , Third= ghi'
]
| project label, data = split(data, ',')
| mv-expand bagexpansion=array data to typeof(string)
| project label, data = split(data, '=')
| where label == trim(' ', tostring(data[0]))
| project label, value = trim(' ', tostring(data[1]))