如何在Azure日志分析工作区中使用KQL查询拆分要为自定义列分配的列值

ljsrvy3e  于 2023-08-07  发布在  其他
关注(0)|答案(1)|浏览(102)

我在Azure Function Cloud App中部署了Azure Function App,并创建了诊断设置以将所有日志发送到Log Analytics工作区。
我可以使用下面的查询获得结果:

FunctionAppLogs 
| where FunctionName contains "Function2"

字符串

结果会生成很多列,如TimeGenerated [UTC]、ServiceNameCategoryLocationMessageHostVersionFunctionInvocatoinIdFunctionNameHostInstanceIdLevelAppNameRoleInstance等。

这里消息列的值将采用以下格式:
user-service URL is healthy. Status code: [{"message":"Success","status":200}
audit-service URL is healthy. Status code: [{"message":"Success","status":200}
因此,我想拆分消息,并使用上面的KQL查询将拆分值提供给结果中的外部(自定义)列。我尝试了下面的查询,但没有得到如何分割它。

FunctionAppLogs 
| where FunctionName contains "Function2"
| extend ServiceName = split(Message, "%-service", 20)


因此,新的自定义列ServiceName应该具有来自Message列的字符串值,例如:

user-service
audit-service


谁能帮我用KQL查询拆分列值并分配给新列?

t30tvxxf

t30tvxxf1#

我已经在我的环境中复制了,并得到了预期的结果如下:
下面是对我有用的KQL查询:

Functions
|extend SplitLog = split(Message, " ")
| project ServiceName =SplitLog[0]

字符串

一月一日


的数据
Fiddle.
您还可以获得如下所示的其他列:



这里Message是列名。

相关问题