如何使用KQL查询在Azure中查询逻辑应用程序的状态

af7jpaap  于 2023-11-21  发布在  其他
关注(0)|答案(1)|浏览(182)

正如我在标题中提到的.我试图得到的LogicApps在我的订阅可用的状态.为此,我使用下面的查询.
KQL:

AzureDiagnostics 
| where type == "AzureActivity" 
| where ResourceResource == "MICROSOFT.LOGIC/workflows" 
| project LogicAppName, Status = tostring(todynamic(tostring(parse_json(Properties).state)).value) | summarize Enabled = countif(Status == "Enabled"), Disabled = countif(Status == "Disabled") by LogicAppName

字符串
但是AzureDiagnostics似乎无法访问逻辑应用程序属性。还发现下面的kql查询也无法工作,因为我没有找到查询中提到的任何“资源”

resources 
| where type == "microsoft.logic/workflows"
| extend state = properties.state 
| extend trigger = properties.definition.triggers 
| extend createdTime = properties.createdTime 
| extend changedTime = properties.changedTime 
| extend connections = properties.parameters.$connections.value 
| project name, createdTime, changedTime, state, subscriptionId, connections, location, resourceGroup


谁能帮我修一下。

8nuwlpux

8nuwlpux1#

如何使用KQL查询在Azure中查询逻辑应用程序的状态
您可以记录状态,但为此您需要将所有逻辑应用程序的日志发送到Log analytics工作区,如下所示,然后Kql查询:
我在我的环境中复制,下面是预期的结果,并遵循SO-ThreadMicrosoft-document。:
首先在日志分析工作区中键入工作区摘要,如下所示:


的数据
然后点击Logic Apps Managemnet(预览):



然后单击创建并添加工作区名称:



然后转到已创建的资源。
现在创建的逻辑应用程序,并有日志打开,在那点击诊断设置,并将其添加如下:



然后:



然后等待一段时间,让日志进入日志分析工作区,然后打开日志分析工作区,使用下面的Kql查询工作流的状态:

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.LOGIC"
| where OperationName contains "workflowRun"

字符串




所以,您需要将所有逻辑应用程序的日志发送到日志分析工作区,然后使用Kql查询.

相关问题