我一直在尝试找到当 ADF 任务(即 CopyActivity 或存储过程任务)运行超过 N 小时时触发警报的最佳方法,我想使用 Azure Monitor,因为它是推荐的通知之一Azure 中的服务,但是我无法找到“正在运行”的标准,因此我必须使用可用的标准(成功和失败)并每 N 小时检查一次,但这仍然不完美,因为我不知道该过程何时开始,并且我们可能每天手动运行该过程多次,您有什么建议这样做吗?就像基于事件的通知监听某个时间变量,一旦它大于阈值就会触发电子邮件通知?
您有什么方法建议这样做吗?就像基于事件的
监听某个时间变量的通知,一旦发生
大于阈值会触发电子邮件通知吗?
根据您的要求,我建议您使用Azure 数据工厂 SDK https://learn.microsoft.com/en-us/azure/data-factory/monitor-programmatically#net监控您的管道和活动。
你可以创建一个时间触发Azure函数 https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-timer每 N 小时触发一次。在该触发函数中:
你可以列出所有跑步活动 https://learn.microsoft.com/en-us/dotnet/api/microsoft.azure.management.datafactory.activityrunsoperationsextensions.querybypipelinerun?view=azure-dotnet在数据工厂帐户中。
然后循环它们来监视持续时间(单位为毫秒) https://learn.microsoft.com/en-us/dotnet/api/microsoft.azure.management.datafactory.models.activityrun.durationinms?view=azure-dotnet#Microsoft_Azure_Management_DataFactory_Models_ActivityRun_DurationInMs财产在活动运行类 https://learn.microsoft.com/en-us/dotnet/api/microsoft.azure.management.datafactory.models.activityrun?view=azure-dotnet检查是否有任何活动已运行超过 N 小时且仍在进行中status https://learn.microsoft.com/en-us/dotnet/api/microsoft.azure.management.datafactory.models.activityrun.status?view=azure-dotnet#Microsoft_Azure_Management_DataFactory_Models_ActivityRun_Status.
最后,发送电子邮件或终止活动或做任何你想做的事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)