你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Resource Graph 中的虚拟机可用性信息

Azure Resource Graph 是一项 Azure 服务,它允许使用日志查询中所使用的相同 KQL 查询语言,通过复杂的筛选、分组和按资源属性排序来大规模查询 Azure 资源。 可以使用 Azure Resource Graph (ARG) 的虚拟机运行状况注释进行详细的失败归因和故障时间分析,包括以下内容:

  • 跨所有 Azure 订阅一起查询虚拟机可用性的最新快照。
  • 评估对业务 SLA 的影响,并触发果断的缓解措施,以响应中断和失败签名类型。
  • 设置自定义仪表板,通过将虚拟机可用性信息与 Resource Graph 中的其他资源元数据联接来监督应用程序的综合运行状况。
  • 使用更改跟踪机制执行详细调查,在滚动的 14 天时段内跟踪虚拟机可用性的相关更改。

若要开始使用 Resource Graph,请在 Azure 门户中打开 Resource Graph 资源管理器。 选择“”选项卡,查看下面所述的 microsoft.resourcehealth/availabilitystatusesmicrosoft.resourcehealth/resourceannotations 表。 单击 healthresources 创建一个简单的查询,然后单击“运行”以返回记录。

Azure Resource Graph 的屏幕截图,其中包含简单的 healthresources 查询。

若要查看记录的详细信息,请向右滚动并选择“查看详细信息”。

Azure Resource Graph healthresources 记录的屏幕截图。

HealthResources 表中将填充两种类型的事件:

microsoft.resourcehealth/availabilitystatuses

此事件表示虚拟机的最新可用性状态,以基础 Azure 平台执行的运行状况检查为基础。 当前为虚拟机发出的可用性状态如下所示:

  • 可用:虚拟机已按预期启动并运行。
  • 不可用:检测到虚拟机的正常运行中断。
  • 未知:平台无法准确检测虚拟机的运行状况。 几分钟后再回来查看。

可用性状态位于记录的 properties 字段中,其中包括以下属性:

字段 说明
targetResourceType 运行状况数据流动的资源类型
targetResourceId 资源 ID
occurredTime 平台发出最新可用性状态时的时间戳
previousAvailabilityState 虚拟机以前的可用性状态
availabilityState 虚拟机当前的可用性状态

示例 properties 值类似于以下内容:

{
    "targetResourceType": "Microsoft.Compute/virtualMachines",
    "targetResourceId": "/subscriptions/<subscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Compute/virtualMachines/<VMName>",
    "occurredTime": "2022-10-11T11:13:59.9570000Z",
    "previousAvailabilityState": "Available",
    "availabilityState": "Unavailable"
}

microsoft.resourcehealth/resourceannotations

此事件通过详细说明必要的失败属性来将虚拟机可用性的任何更改置于上下文中,以帮助你根据需要调查和缓解中断。 VM 运行状况注释的完整列表列于 [资源运行状况虚拟机运行状况注释] (../service-health/resource-health-vm-annotation.md) 中。

这些注释大致可分为以下几类:

  • 故障时间注释:当平台检测到虚拟机可用性转换为“不可用”时发出。 示例包括主机故障或重新启动操作。
  • 信息性注释:在控制平面活动期间发出,不会影响虚拟机可用性。 示例包括虚拟机分配、停止、删除、启动。 通常,不需要额外的客户操作来响应。
  • 降级注释:检测到虚拟机可用性存在风险时发出。 示例包括失败预测模型预测可能导致虚拟机在任何给定时间重新启动的降级硬件组件。 应在注释消息中指定的截止时间之前重新部署,以避免任何意外的数据丢失或停机。
字段 说明
targetResourceType 运行状况数据流动的资源类型
targetResourceId 资源 ID
occurredTime 平台发出最新可用性状态时的时间戳
annotationName 发出的注释的名称
reason 客户观察到的可用性影响的简要概述
category 表示触发注释的平台活动是计划内维护还是计划外修复。 此字段不适用于客户/虚拟机启动的事件。

可能的值:计划内 | 计划外 | 不适用 | Null
上下文 表示触发注释的活动是由于授权用户或进程(客户发起)、Azure 平台(平台发起)还是来宾操作系统中导致可用性影响的活动(虚拟机发起)引起的。

可能的值:平台发起 | 用户发起 | 虚拟机发起 | 不适用 | Null
摘要 详细说明注释发出原因的语句,以及用户可以采取的修正步骤

有关使用此数据的示例查询,请参阅 Azure Resource Graph 表的示例查询

后续步骤