Azure 逻辑应用:如果逻辑应用行为连接中断或失败,如何收到通知

问题描述 投票:0回答:1

我想构建一个逻辑应用程序,当我的环境中的任何逻辑应用程序失败或连接断开时,它会告诉我。 (逻辑应用程序的手动触发和自动触发)

我发现最接近实现此目的的 KQL 是:

SentinelHealth 
| where TimeGenerated > ago(7d)
| where SentinelResourceType == "Automation rule"
| mv-expand TriggeredPlaybooks = ExtendedProperties.TriggeredPlaybooks
| extend runId = tostring(TriggeredPlaybooks.RunId)
| join (AzureDiagnostics 
    | where OperationName == "Microsoft.Logic/workflows/workflowRunCompleted"
    | extend IncidentNumber = toint(extract(@"[a-f0-9]{8}\-[a-f0-9]{4}\-[a-f0-9]{4}\-[a-f0-9]{4}\-[a-f0-9]{12}\_(\d+)", 1, correlation_clientTrackingId_s))
    | project
        IncidentNumber,
        resource_runId_s,
        playbookName = resource_workflowName_s,
        playbookRunStatus = status_s)
    on $left.runId == $right.resource_runId_s
| project
    RecordId,
    TimeGenerated,
    AutomationRuleName= SentinelResourceName,
    AutomationRuleStatus = Status,
    Description,
    workflowRunId = runId,
    playbookName,
    playbookRunStatus,
    IncidentNumber

KQL 源代码

这是我现在的工作流程: 查询运行并输出到 html 表,该表通过电子邮件发送给我。

问题是我知道我的环境中有几个逻辑应用程序具有失败的操作断开连接的操作,这些操作未被我的逻辑应用程序+ kql捕获。

如何解决逻辑应用程序失败时(完全失败和特定操作失败时)的检测和通知问题

azure azure-logic-apps kql azure-diagnostics
1个回答
1
投票

Azure 逻辑应用:如果逻辑应用行为连接中断或失败,如何收到通知

一种方法是检查如下:

enter image description here

另一种方法是在每个操作后添加并行操作,如下所示:

enter image description here

如果警报失败,否则如果为真,则下一步操作如下:

enter image description here

enter image description here

要使上述步骤生效,您需要添加如下代码:

runAfter to failed

enter image description here

Output:

enter image description here

因此,像这样,对于每个操作,您需要添加并行操作(我只对操作 parsejson 进行了操作,以了解如何执行操作),并且对于该操作,您需要将 runafter 更改为失败,然后您会收到警报。

另请参阅 SO-Thread1SO-Thread2

© www.soinside.com 2019 - 2024. All rights reserved.