我们在函数应用程序中有几个函数。其中两个由定时器触发,进行一些处理并写入队列以触发其他功能。
它们通常工作得很好,直到最近计时器触发器停止触发。我们通过重新启动解决了该问题的应用程序来修复此问题。问题是我们完全没有意识到触发器停止,因为没有发生任何故障,并且我们的人员不会经常“查看”函数应用程序。
我想针对这种特殊情况配置自动监控和警报。我为函数应用程序配置了 Application Insights,并尝试编写一个警报来监视由计时器触发的函数的计数指标。如果指标低于设置的阈值(过去 5 分钟内低于 1),则应触发警报。
我通过停止函数应用程序来测试这一点。我的理由是,不运行的函数应用程序应该满足此条件,并且应该在合理的时间范围内触发警报。不幸的是事实并非如此。显然,不测量不存在的计数,并且永远不会触发警报。
其他人是否遇到过类似的问题并有解决方法?
最佳答案
我添加了 Application Insights 警报:
Type: Custom log search
Search query:
requests | where cloud_RoleName =~ '<FUNCTION_APP_NAME_HERE>' and name == '<FUNCTION_NAME_HEER>'
Alert logic: Number of results less than 1
Evaluated based on: Over last N hours, Run every M hours
如果过去 N 小时内没有启动,则会触发警报。
关于azure - 监视计时器触发的 Azure Functions 的不活动情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49628153/