You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure自定义日志警报未触发问题排查求助

Azure警报未触发排查指南

问题概述

配置的Azure警报规则需每30分钟运行一次,识别过去30分钟至1小时内未发送心跳的设备,且单设备仅触发一次警报直至恢复。手动在App Insights中执行Kusto查询可返回目标设备,但警报无历史记录、Action Group未收到通知。

核心排查步骤

1. 修正Kusto查询语法错误

原查询存在两处潜在语法问题:

  • 中文引号:第一个where message == “Heartbeat”使用了中文双引号,Kusto仅支持英文双引号"Heartbeat",会导致该语句无法匹配任何心跳记录,最终unhealthyIds为空。
  • 列名错误:project Id = customDimensions_id中的customDimensions_id列不存在,应为project Id = tostring(customDimensions.id)。

修正后的查询示例:

let missedHeartbeatsFrom30MinsAgo = traces
    | where message == "Heartbeat"
    | summarize arg_max(timestamp, *) by tostring(customDimensions.id)
    | project Id = tostring(customDimensions.id), LastHeartbeat = timestamp
    | where LastHeartbeat < ago(30m);
let missedHeartbeatsFrom1HourAgo = traces
    | where message == "Heartbeat"
    | summarize arg_max(timestamp, *) by tostring(customDimensions.id)
    | project Id = tostring(customDimensions.id), LastHeartbeat = timestamp
    | where LastHeartbeat <= ago(1h);
let unhealthyIds = missedHeartbeatsFrom30MinsAgo 
    | join kind=leftanti missedHeartbeatsFrom1HourAgo on Id;
let deviceDetails = customEvents
    | where name == "Heartbeat"
    | distinct tostring(customDimensions.deviceId), tostring(customDimensions.fullName)
    | project Id = tostring(customDimensions.deviceId), FullName = tostring(customDimensions.fullName);
unhealthyIds |
join kind=leftouter deviceDetails on Id
| project Id, FullName, LastHeartbeat
| order by FullName asc

2. 验证警报规则时间范围配置

警报的查询时间范围需覆盖查询逻辑中的时间区间:

  • 由于查询涉及ago(1h),需将警报规则的“查询时间范围”设置为过去1小时,而非30分钟。若设置为30分钟,traces表仅返回最近30分钟的数据,无法获取设备1小时前的最后心跳记录,导致查询返回空。

3. 检查触发条件与抑制规则

  • 确认“基于结果数”的阈值设置为大于0,确保只要有符合条件的设备就触发警报。
  • 验证“抑制规则”配置:开启“抑制警报”,设置为“直到警报解决”,同时确保“抑制范围”选择“警报维度(按设备Id)”,实现单设备仅触发一次的需求。

4. 检查警报规则状态与权限

  • 确认警报规则处于已启用状态(规则列表中状态为“已启用”)。
  • 检查规则的权限:确保创建警报规则的主体(或托管标识)拥有App Insights的Monitoring Reader或Reader权限,可读取traces和customEvents表数据。

5. 查看Azure活动日志排查执行错误

在Azure门户中导航至App Insights资源的“活动日志”,筛选与该警报规则相关的操作,查看是否存在“查询执行失败”“权限不足”等错误日志,直接定位警报未触发的原因。


内容的提问来源于stack exchange,提问作者StockDC2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 16:54:51