Azure Dashboard中能否基于百分比而非计数触发告警
Azure 百分比阈值告警实现方案
完全支持基于百分比的告警配置,常见实现方案如下:
方案1:基于日志查询的自定义告警(适用场景最广)
该方案适用于所有已将事件上报到Azure Monitor Logs(Log Analytics工作区、Application Insights)的资源,可灵活自定义百分比计算规则。
- 实现逻辑:通过Kusto查询语句直接计算指定时间窗口内的失败率,将查询结果作为告警评估依据
- 示例查询(以Application Insights请求日志计算20分钟失败率为例):
requests | where timestamp >= ago(20m) // 可自行添加过滤条件排除无效请求 | summarize total = count(), failed = countif(success == false) | extend failure_rate = todouble(failed) / total * 100 | project failure_rate
- 配置步骤:
- 在对应资源的「日志」页运行查询,确认计算结果符合预期
- 点击页面顶部「新建告警规则」
- 度量值选择查询返回的
failure_rate字段,时间聚合选择「平均」,阈值设置为20 - 评估频率按需求设置,时间粒度选择20分钟即可
方案2:使用服务内置百分比指标配置告警
该方案适用于已内置失败率/成功率指标的Azure服务(如API Management、App Service、事件中心等),无需自定义查询。
- 配置步骤:
- 进入对应资源的「告警」页,新建告警规则
- 指标选择对应服务的失败率内置指标
- 聚合类型选「平均」,时间粒度选20分钟,阈值设置为20即可
方案3:基于自定义指标运算配置告警
该方案适用于业务自定义事件的百分比告警需求。
- 实现逻辑:将业务成功、失败事件分别作为自定义指标上报到Azure Monitor,通过指标运算规则计算百分比后触发告警
- 配置要点:在告警规则的指标配置页分别添加失败次数、总请求数两个指标,之后添加「指标运算」,设置运算逻辑为
(失败次数 / 总请求数) * 100,再设置对应阈值即可
注意:配置百分比告警时建议添加总请求数过滤条件,比如设置总请求数≥10时才触发告警,避免时间窗口内请求量过小导致百分比计算失真,触发误告警。
内容的提问来源于stack exchange,提问作者Vowneee
相关产品推荐
相关产品推荐

