Azure Resource Graph 表概述

Azure Resource Graph (ARG) 提供了一种方法,可用于使用 Kusto 查询语言(KQL)跨订阅查询 Azure 资源。 本文详细介绍了 ARG 表中常见的字段,尤其是与 Azure 服务运行状况和治理方案相关的字段。

使用服务运行状况表查询:

  • 服务健康事件属性 (microsoft.resourcehealth/events)
  • 服务运行状况受影响的资源属性 (microsoft.resourcehealth/events/impactedresources)

使用资源运行状况表进行查询:

  • 资源运行状况属性(microsoft.resourcehealth/availabilitystatuses 和 microsoft.resourcehealth/resourceannotations)
Query Tables 值类型 信息
服务健康事件
服务运行状况受影响的资源
ServiceHealthResources
ServiceHealthResources
microsoft.resourcehealth/events
microsoft.resourcehealth/events/impactedresources(影响的资源事件)
服务健康状况事件,例如中断、计划内维护或其他事件。
受这些事件影响的特定 Azure 资源。
资源运行状况(仅虚拟机) 健康资源 microsoft.resourcehealth/availabilitystatuses、microsoft.resourcehealth/resourceannotations VM 健康监控与诊断

下表显示了表示有关 Azure 资源的元数据的服务运行状况、受影响的资源和资源运行状况查询的 ARG 表中的核心字段。

字段名称 Description
id 完整的 Azure 资源 ID(例如 /subscriptions/<subscription-id>/providers/Microsoft.ResourceHealth/events/)<tracking-id>
姓名 资源的名称
类型 资源类型(例如,Microsoft.Compute/virtualMachines)
tenantId 资源所属的租户 ID
位置 部署资源的 Azure 区域(默认值为全局)
订阅编号 资源所属的订阅的 ID
resourceGroup 资源组的名称
tags 分配给资源的键值对
属性 包含特定于资源的属性的 JSON 对象
sku 适用于资源的 SKU 详细信息(层、名称)
kind 资源类型(用于应用服务,例如 functionapp 或 webapp)
managedBy 指示另一个 Azure 服务是否管理资源
标识 标识配置(例如系统分配或用户分配)
计划 市场计划详细信息
zones 资源部署在的区域可用性
extendedLocation 扩展位置详细信息(例如自定义位置)

服务运行状况

ServiceHealthResources 查询返回订阅中受服务运行状况事件影响的资源的数据。

这些通知是活动日志事件的子类,也可以在 Azure 活动日志中找到。

根据事件分类,EventTypeEventSubtype 服务健康通知可以是信息性的,也可以是可操作的。

服务健康事件属性 (microsoft.resourcehealth/events)

“服务运行状况”属性列中显示的字段的屏幕截图。

字段中的值 properties 用于查询 Azure 服务运行状况事件。

在所有不同的事件类型中存在一些常见属性,但下面的 properties 所有属性都应被视为基于事件类型的动态。

这些字段一起用于跟踪、筛选和分析 Azure 环境中的服务运行状况事件。
例如,可以查询特定位置中仍在Critical ServiceIssue的所有Active事件。

下表列出了可在服务运行状况和受影响的资源查询中使用的所有属性。

资产 Description
EventType 高级分类:服务问题、计划维护、健康建议、计费、安全建议、新兴问题和事件后审核(PIR)
EventSubType 特定子类型:停用、税务变更、价格变动、表计ID更改、外汇汇率变动、未经授权方滥用、欠账和超额账单
Status 事件的当前状态:活动或已解决
EventLevel 严重性:信息性、警告、严重性、错误
Level 通常镜像 EventLevel,并用于 UI 呈现
EventSource 指示生成事件的源系统为 ServiceHealthResources 或 HealthResources
TrackingId 事件的唯一标识符
Title 事件的标题
Summary 事件说明
Priority 分配给事件的优先级级别
ImpactStartTime 当导致影响的事件开始时
ImpactMitigationTime 预期或完成缓解时
Impact 对服务的影响的说明
Region 哪些区域和服务受到影响
RecommendedActions 针对用户和/或管理员的建议操作
ExternalIncidentId 外部使用的事件 ID(例如 ServiceNow 中)
PlatformInitiated 指示 Azure 平台是否触发事件(例如自动缓解或系统触发的维护)
SubscriptionId 受事件影响的 Azure 订阅的唯一标识符
LastUpdateTime 最近一次事件更新的时间戳
CurrencyType 计费相关事件中使用的货币(例如美元、欧元)
impactType 影响的性质(例如 SubscriptionList、ServicesForSubTenants)
BillingId 用于将事件与计费帐户或事务关联的标识符
EventTags 用于对事件进行分类或筛选的元数据标记(例如安全、维护、中断)
duration 事件的描述性标签或标题

注释

“properties”结构是动态的,因 EventType 和 EventSubType 而异。 并非所有字段都存在于每个事件中。
isEventSensitive这样的字段可能为空或省略,除非事件与安全相关。
通常 EventSubType 为空,除非事件是计费或停用公告。
有关详细信息,请参阅 使用事件级别的服务运行状况事件标记筛选通知

访问控制系统确保只有具有有效需求的已授权个人才能查看敏感信息。 有关详细信息,请参阅 “查看和访问安全公告”。

这些字段如何协同工作

  • 治理和监控:合并EventTypeSeverityStatus以监控正在进行的问题并评估其影响。
  • 筛选和警报:使用 SubscriptionId,并 Impact 筛选与特定团队或工作负荷相关的事件。
  • 历史分析:使用 ImpactStartTimeImpactMitigationTime 了解事件时间线和服务级别协议 (SLA) 影响。
  • REST API 集成:这些字段通过 Azure 服务运行状况 REST API 公开,允许编程访问和自动化。
  • 筛选和作用域事件SubscriptionIdImpactTrackingIdPlatformInitiated帮助缩小受影响的资源范围和影响方式。
  • 跟踪和分析LastUpdateTime以及HeaderEventTags支持监视和历史分析。
  • 支持财务和合规性工作流BillingIdCurrencyType 对于计费相关事件和审核至关重要。

受影响的资源

“受影响的资源属性”列中显示的字段的屏幕截图。

将 ServiceHealthResources 表中的 type 列设置为 microsoft.resourcehealth/events/impactedresources,以便打开查询,以查找服务运行健康事件(例如服务中断、计划维护或安全公告)影响的资源信息。

受影响的资源属性

字段名称 Description
resourceName 受影响的资源的名称
resourceGroupName 资源组的名称
targetResourceType 受影响的资源的类型
targetResourceId 完整资源 ID
targetRegion 受影响资源的区域
systemData 有关创建或修改条目的元数据
maintenanceStartTime 当导致影响的事件开始时
maintenanceEndTime 导致影响的事件结束时
targetResourceType 受影响的资源类型(例如,Microsoft.Compute/virtualMachines)
targetResourceId 受影响资源的完整资源标识符
resourceGroup 资源组的名称
targetRegion 受影响资源的区域
staus 事件的当前状态
info

资源运行状况

HealthResources Azure Resource Graph(ARG)中有两种类型的表提供有关 Azure 资源(尤其是虚拟机)运行状况的详细信息。

microsoft.resourcehealth/availabilitystatuses
此表基于 Azure 平台执行的运行状况检查,提供 Azure 资源的最新可用性状态(主要是虚拟机(VM)。

可以使用此查询来:

  • 跟踪环境中的 VM 运行状况:获取所有订阅或资源组中虚拟机运行状况的合并视图。
  • 快速诊断问题:确定哪些 VM 标记为不可用或降级,并调查根本原因。
  • 审核停机时间源:确定服务中断是由平台启动的事件(例如维护)还是客户作导致的。
  • 创建运营仪表板:可视化实时健康数据,以监测服务级别协议(SLA)并保持运营意识。
  • 添加带批注的上下文:将此表与 resourceannotations 了解可用性更改背后的原因(例如重启或中断)相结合。

microsoft.resourcehealth/resourceannotations
此表提供有关 Azure 资源可用性更改(尤其是虚拟机(VM)的详细注释。 它添加上下文,例如故障归因、停机时间分析和影响元数据。 这些字段可帮助你了解 VM 的可用性发生更改的原因,无论是由于平台维护、客户作还是意外故障。

可以使用此查询来:

  • 调查 VM 停机时间:了解可用性更改的根本原因。
  • 关联健康事件:结合 availabilitystatuses 以获取状态和上下文。
  • 审核平台操作:识别 Azure 是否启动了重启或关闭。
  • 改进 SLA 跟踪:将故障归因于特定原因,以进行业务影响分析。
  • 生成仪表板:将运行状况注释与其他资源元数据一起可视化。

HealthResources 属性

资源运行状况属性列中显示的字段的屏幕截图。

这些属性字段提供实际的健康信息:

资产 Description
availabilityState 当前健康状况:可用、不可用或降级
previousAvailabilityState 当前状态之前的健康状况
reasonType 当前运行状况状态的原因(例如 PlatformInitiated、UserInitiated)
reasonChronicityType 指示问题是持久性还是暂时性问题
annotationName 运行状况事件的描述性标签(例如:“VirtualMachineRestarted”)
title 健康事件的标题
summary 健康事件的摘要
impactStartTime 事件开始时的时间戳
impactMitigationTime 预期或完成缓解时的时间戳
recommendedActions 为用户建议的操作

这些字段如何协同工作

  • 监视和警报availabilityStatereasonType,以及 impactStartTime 帮助识别和响应中断或降级。
  • 根本原因分析reasonChronicityTypeannotationNamesummary提供用于故障排除的上下文。
  • 治理和报告location以及subscriptionIdresourceGroup允许跨环境筛选和聚合。
  • 自动化recommendedActions 可用于触发自动修正工作流。

Troubleshooting

问题
maintenanceStartTime maintenanceEndTime info为什么在 ARG 查询结果中显示为 null?
答案
在 microsoft.resourcehealth 事件的 ARG 查询中,由于多种因素,这些字段可能会显示为 null。 了解字段有助于更准确地解释数据。

  • 事件类型依赖项
    只有计划内维护事件包括详细时间安排信息。 其他事件类型(如服务问题或安全公告)不使用这些字段,因此它们为 null。
  • 事件生命周期和访问控制
    • 新创建或早期阶段的事件可能没有足够的详细信息来填充字段或确认维护窗口。
    • 某些敏感事件需要提升的权限才能查看完整数据。 如果没有正确的访问权限,字段将显示为空。
  • 事件历史记录和建议
    • 筛选计划维护事件。
    • 确认角色和访问权限。
    • 检查事件状态。
    • 通过适当的支持渠道报告任何一致的数据差距。

如果 maintenanceStartTimemaintenanceEndTimeinfo 在 ARG 查询结果中显示为 null,则请检查计划的维护窗格。 计划维护窗格的截图。

有关查询的详细信息,请参阅: