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

Azure Monitor告警未触发求助:基于事件ID缺失的告警配置

Azure Monitor告警Kusto查询问题排查与修正

问题核心

你尝试创建基于事件ID 9999不存在的Azure Monitor告警,原查询在Log Analytics中运行正常,但告警预览结果为0;调整查询排除无心跳条目后问题仍存在。

问题原因

  1. 原查询未按告警要求的时间窗口聚合:Azure Monitor告警需要查询返回带时间维度的聚合结果,原查询仅返回单条非时序记录,告警引擎无法正确解析。
  2. 调整后的查询通过where CT =='B'过滤掉了无事件ID 9999的计算机(即你要监测的目标对象),导致核心告警数据被排除,预览自然无结果。

修正后的查询

let Heartbeat = Event  
| where EventID == 9999 
| where Source == 'AIALERTS' 
| partition by Computer 
( 
   top 1 by TimeGenerated desc 
); 
let Server = InsightsMetrics 
| distinct Computer; 
Server 
| join kind = leftouter Heartbeat on Computer 
// 对齐告警设置的5分钟聚合窗口
| extend TimeWindow = bin(now(), 5min)
| extend HB = datetime_diff('Minute', now(), TimeGenerated) 
| extend Heart = iif(isnull(HB), 100, HB) 
// 按时间窗口+计算机生成符合告警要求的聚合结果
| summarize max(Heart) by TimeWindow, Computer

关键调整说明

  • 新增TimeWindow = bin(now(), 5min):匹配告警的5分钟聚合周期,生成告警引擎可识别的时序数据。
  • 移除where CT =='B'过滤逻辑:保留无事件ID 9999的计算机(对应Heart=100),这正是需要触发告警的目标。
  • 用summarize max(Heart) by TimeWindow, Computer生成标准告警数据集:每个5分钟窗口、每台计算机对应一条记录,确保告警引擎能基于阈值(>1)正确判断触发条件。

告警配置匹配要求

确保告警配置与查询完全对齐:

  • 度量值选择max_Heart(查询中聚合生成的列名)
  • 聚合周期设为5分钟
  • 维度选择Computer
  • 操作符设为大于,阈值设为1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 01:24:26