使用 Kusto 查询为 ADF v2 中的长 运行 管道设置警报
Setting up an alert for Long Running Pipelines in ADF v2 using Kusto Query
我在 ADF V2 中有一个管道,通常需要 3 个小时才能 运行 但有时需要超过 3 个小时。因此,如果管道 运行 使用 Azure 日志分析(Kusto 查询)超过 3 小时,我想设置一个警报,我已经编写了一个查询,但如果管道成功或失败,它会显示结果。如果管道耗时超过 3 小时并且正在进行中,我想要一个警报。
我的查询是
ADFPipelineRun
| where PipelineName == "XYZ"
| where (End - Start) > 3h
| project information = 'Expected Time : 3 Hours, Pipeline took more that 3 hours' ,PipelineName,(End - Start)
你能帮我解决这个问题吗?
提前致谢。
拉利特
已更新:
请像下面这样更改您的查询:
ADFPipelineRun
| where PipelineName == "pipeline11"
| top 1 by TimeGenerated
| where Status in ("Queued","InProgress")
| where (now() - Start) > 3h //please change the time to 3h in your case
| project information = 'Expected Time : 3 Hours, Pipeline took more that 3 hours' ,PipelineName,(now() - Start)
解释:
管道有一些状态,例如:Succeeded
、Failed
、Queued
、InProgress
。如果管道现在 运行 且未完成,则其状态必须是以下两者之一:Queued
、InProgress
.
所以我们只需要使用top 1 by TimeGenerated
获取最新的一条记录,然后检查它的状态如果Queued
或InProgress
(在查询中,它是where Status in ("Queued","InProgress")
) .
最后,我们只需要使用where (now() - Start) > 3h
检查运行是否超过3小时。
我自己测试了一下,没问题。如果您还有其他问题,请告诉我。
我在 ADF V2 中有一个管道,通常需要 3 个小时才能 运行 但有时需要超过 3 个小时。因此,如果管道 运行 使用 Azure 日志分析(Kusto 查询)超过 3 小时,我想设置一个警报,我已经编写了一个查询,但如果管道成功或失败,它会显示结果。如果管道耗时超过 3 小时并且正在进行中,我想要一个警报。
我的查询是
ADFPipelineRun
| where PipelineName == "XYZ"
| where (End - Start) > 3h
| project information = 'Expected Time : 3 Hours, Pipeline took more that 3 hours' ,PipelineName,(End - Start)
你能帮我解决这个问题吗?
提前致谢。 拉利特
已更新:
请像下面这样更改您的查询:
ADFPipelineRun
| where PipelineName == "pipeline11"
| top 1 by TimeGenerated
| where Status in ("Queued","InProgress")
| where (now() - Start) > 3h //please change the time to 3h in your case
| project information = 'Expected Time : 3 Hours, Pipeline took more that 3 hours' ,PipelineName,(now() - Start)
解释:
管道有一些状态,例如:Succeeded
、Failed
、Queued
、InProgress
。如果管道现在 运行 且未完成,则其状态必须是以下两者之一:Queued
、InProgress
.
所以我们只需要使用top 1 by TimeGenerated
获取最新的一条记录,然后检查它的状态如果Queued
或InProgress
(在查询中,它是where Status in ("Queued","InProgress")
) .
最后,我们只需要使用where (now() - Start) > 3h
检查运行是否超过3小时。
我自己测试了一下,没问题。如果您还有其他问题,请告诉我。