问题描述
我希望当某个功能应用程序失败时触发Azure警报。我将其设置为[功能名称]失败的度量标准思维的GTE 1阈值,它将产生预期的结果。但是,当它每天运行时,我会收到警报触发的通知,但是我在Application Insights中找不到任何内容来指示失败,并且它似乎已成功运行并完成。
以下是触发的警报摘要:
以下是来自门户的调用监视,显示了过去几天中相同的功能,没有失败:
这是该时间段内的应用程序见解搜索,不显示任何异常和所有成功的依赖操作:
问题是-在Application Insights中没有任何遥测的情况下,什么可能导致Azure Function Failed指标注册非零值?
更新-这是警报配置
具体条件设置-
故障刀片的时间范围更广:
blob 404上有一些依赖项失败,但是我认为这是来自另一个函数,该函数显式检查路径中是否存在blob,以了解要从外部源下载哪些文件。时间戳也不会落在采样期内。
没有例外:
解决方法
@ ivan-yang对问题的评论,我已将警报更改为使用自定义日志搜索,而不是内置的Azure Function指标。在这一点上,该指标对于触发它的原因似乎是不透明的,并且每天运行一次Azure函数时都触发该事件,而没有明显的基础故障。我打算现在避免使用该指标。
基于日志的警报现在正在使用以下查询来获取我要查找的内容(发生异常或功能失败):
requests
| where success == false
| union (exceptions)
| order by timestamp desc
感谢@ ivan-yang和@ krishnendughosh-msft的帮助