失败时的Azure功能通知

时间:2017-05-05 14:30:43

标签: azure notifications azure-functions timer-trigger

我在生产中运行了定时器触发的Azure功能,但现在我希望在功能失败时收到通知。

在我的情况下,访问各种连接的服务可能会导致崩溃,还有很多可以排除故障。崩溃是我需要通知的错误类型。

当函数失败时,日志条目指示失败,所以我想知道系统中是否存在允许我使系统生成通知的挂钩。

我知道blob和队列绑定例如支持创建毒物队列条目,但是计时器触发器绑定并没有说明任何有关此类触发器输出的信息。

我看到函数可以将其$ return状态作为其他函数的输入传递,但该操作在文档中没有深入解释。此外,在这种情况下,我需要编写另一个函数来处理错误状态,我正在寻找内置的东西。

我已经向@AzureSupport询问过,但他们的回答与Azure Functions无关,而是将我引用到DLL通知挂钩,然后在uservoice上推荐我的文件。

我确定这里必须有人实施了某种错误状态通知。我更喜欢不需要代码的解决方案。

5 个答案:

答案 0 :(得分:2)

  

当函数失败时,日志条目指示失败,所以我想知道系统中是否存在允许我使系统生成通知的挂钩。

...

  

我更喜欢不需要代码的解决方案。

这是一个零代码解决方案:

在此主题之前,我曾在@AzureFunctions上找过一次,建议的回答是使用Application Insights。它可以在失败时处理警报,也可以使用webhooks。

请参阅Azure Functions App-Insights文档,了解如何将您的功能应用与App Insights相关联。然后设置您想要的任何警报。

答案 1 :(得分:2)

监控和警告故障的推荐方法是使用现在与Azure功能完全集成的AppInsights

https://blogs.msdn.microsoft.com/appserviceteam/2017/04/06/azure-functions-application-insights/

由于AppInsights中的所有日志都可用,因此可以根据您自己的标准轻松监控故障和设置警报。

但是,如果您只关心警报而不关心监控等,则可以使用Azure监视器:https://docs.microsoft.com/en-us/azure/monitoring-and-diagnostics/monitoring-get-started

答案 2 :(得分:1)

不幸的是,这个钩子并不存在。

您可以从定时器触发器切换到队列触发器吗?

您可以进行重试(如果需要),并在指定的尝试次数后将消息发送到毒性队列。

要计划执行,您可以添加具有可见性超时的队列消息,以符合您的计划。

答案 3 :(得分:0)

为了获得失败警报,您有两种选择:

  1. 定时器触发器扫描执行日志(通过SFTP)以查找故障。
  2. 将整个函数包装在try / catch块中,并在catch块中写几行,向您发送包含错误详细信息的电子邮件。
  3. 希望这有帮助。

答案 4 :(得分:0)

没有代码:

  1. 转到您的Azure云帐户

  2. 从菜单中选择“监视器”

  3. 然后选择“添加新规则”

  4. 然后选择条件,操作并添加警报详细信息。