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

Azure Heartbeat表_ResourceId为空:是Bug还是合理现象?

关于Heartbeat表中_ResourceId为空字符串的问题

问题描述

近期基于Heartbeat表编写VM计划外离线告警逻辑时,发现意外现象:多条记录的_ResourceId字段为空字符串(而非null)。执行以下Kusto查询返回了近7天内的22条记录,涉及19台不同VM:

Heartbeat
| where TimeGenerated > ago(7d) and _ResourceId == ''
| project _ResourceId, Computer, TimeGenerated
| order by TimeGenerated, Computer

目前未找到相关Bug报告或官方成因说明,需确认该现象是Bug还是存在合理成因。

可能的合理成因

这类_ResourceId为空的情况并非明确的已知Bug,通常与以下场景相关:

  • VM代理初始化阶段:VM刚创建时,Azure Monitor Agent尚未完成与Azure资源的注册同步,可能发送少量未携带完整资源标识的心跳记录。
  • 临时元数据服务异常:Azure实例元数据服务(IMDS)短暂故障,导致代理无法获取VM的_ResourceId信息,进而发送空值记录。
  • VM已删除但代理仍运行:VM被删除后,若代理未及时停止,可能继续发送心跳,此时_ResourceId因资源不存在而为空。
  • 代理配置问题:代理安装或配置过程中出现错误,导致无法正确获取并上报资源标识。

对告警逻辑的建议

你当前的告警查询中使用了ResourceId != ''来规避该问题,但需注意:Heartbeat表中的_ResourceId与ResourceId为不同字段(_ResourceId是系统保留的资源唯一标识),建议将过滤条件修正为_ResourceId != '',确保准确排除空值记录:

let lastHealthyCheckin = ago(5m);
let pollingWindow = ago(7d);
Heartbeat
| where TimeGenerated > pollingWindow
  and _ResourceId != '' // 修正为_ResourceId过滤
| summarize LastCheckIn = max(TimeGenerated) by _ResourceId, Computer
| where _ResourceId !in (
    AzureActivity
    | where OperationNameValue in~ (
        'MICROSOFT.COMPUTE/VIRTUALMACHINES/START/ACTION', 
        'MICROSOFT.COMPUTE/VIRTUALMACHINES/DEALLOCATE/ACTION'
    )
    and TimeGenerated > pollingWindow
    | summarize LastStop  = max(case(OperationNameValue =~ 'MICROSOFT.COMPUTE/VIRTUALMACHINES/DEALLOCATE/ACTION', TimeGenerated, datetime(null))) 
      ,         LastStart = max(case(OperationNameValue =~ 'MICROSOFT.COMPUTE/VIRTUALMACHINES/START/ACTION', TimeGenerated, datetime(null))) 
      by _ResourceId
    | where LastStop > LastStart
    | project _ResourceId
)
| where LastCheckIn < lastHealthyCheckin
| project Computer, _ResourceId, LastCheckIn

进一步排查方向

  • 查看空_ResourceId记录对应的Computer名称,确认这些VM是否仍存在于Azure中。
  • 检查对应VM的Azure Monitor Agent状态,确认代理是否正常运行且配置正确。
  • 对比空记录的TimeGenerated时间,查看是否存在VM创建、删除或Azure维护事件的时间重合。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 16:15:21