使用 Application Insight (Microsoft Azure) 创建针对特定异常的警报

Mik*_*ike 6 azure azure-application-insights

我对 Azure 比较陌生,正在尝试查看是否有一种方法可以使用 Application Insights 创建在仅发生某些异常时实时(或接近)发生的通知。

现在,我能够跟踪异常,并在一定时间内发生异常阈值时触发指标警报,但似乎无法弄清楚如何使这些警报仅对某些类型的异常敏感。我的第一个想法是向异常添加属性,因为我使用遥测客户端通过“TrackException”方法跟踪它,然后创建特定于该属性的警报,但我仍然无法弄清楚如何做到这一点。

任何帮助表示赞赏。

Joh*_*ner 6

几年后的现在,有一种方法可以主要通过内置功能来完成此操作。

但是,并没有一种简单的方法可以在每个异常发生时执行此操作。有些应用程序每天实际上有数十亿个异常,因此每次发生异常时评估您的函数将非常昂贵。

类似这样的事情通常是通过自定义警报来完成的,这些警报执行查询并查看新时间段内是否存在满足条件的任何内容。

您可以使用“日志警报”来执行此操作,记录如下: https: //learn.microsoft.com/en-us/azure/azure-monitor/platform/alerts-unified-log

您的查询将每 N 分钟运行一次,而不是每次发生特定异常时都会收到一封电子邮件,如果有任何行满足条件,您将收到一封邮件(或您配置警报执行的任何操作),并且您可以保留每 N 分钟收到邮件,其中找到满足条件的行。


Zak*_*iMa 2

有两种选择:

  1. 除了 TrackException 之外,当发生特定类型的异常时,调用 TrackMetric(提供一些指标名称)。然后根据该指标配置警报。

  2. 编写一个工具/服务/azure 函数,每隔几分钟在 Application Insights Analytics 中运行一次查询,并将结果发布为指标(使用 TrackMetric)。然后配置来自门户的警报。

目前,人工智能团队正在致力于提供开箱即用的#2。