如何为从未触发的警报创建azure customMetric警报?

问题描述

我在产品环境中有一些错误警报,如果它们触发了,我希望得到警报。问题是它们从未触发过,因此我无法在门户中看到它们。

谢谢!

解决方法

我看到您有一个try / catch,然后您可以考虑向应用程序见解发送自定义错误消息(此处的逻辑是,由于您知道自定义错误消息,因此可以使用此预定义的消息来创建警报),通过在catch块中使用以下代码:

        try
        {
           //your code            
        }
        catch
        {
            //if you're using ILogger which is integrated with application insights.
            _logger.LogError(new Exception(),"custom error: xxxx");
                           
            //your other code
        }

然后导航至Azure门户->应用程序见解->日志:

1。按如下方式编写查询:

exceptions  
| where customDimensions.FormattedMessage == "custom error: xxxx"

2。选择查询,然后单击运行按钮。

3。最后,单击“新建警报规则”按钮以创建警报。

enter image description here

,

我想我现在更好地了解了您的问题。今天,我通过this post收到了一项新功能的通知:

针对尚未发出的自定义指标定义警报规则

创建度量标准警报规则时,将根据“度量标准定义” API验证度量标准名称以确保其存在。在某些情况下,您甚至想在自定义指标发布前就对其创建警报规则。例如,在创建(使用Resource Manager模板)一个Application Insights资源时,该资源将发出自定义指标以及监视该指标的警报规则。

为避免尝试验证自定义指标的定义时部署失败,您可以在警报规则的条件部分中使用skipMetricValidation参数,这将导致指标验证被跳过。 (source

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...