使用 Azure Resource Graph 访问 Azure 更新管理器操作数据

从更新评估和安装等操作创建的日志由 Azure 更新管理器存储在 Azure Resource Graph 中。 Resource Graph 是 Azure 中的一项服务,旨在成为 Azure 服务详细信息的存储区,无需任何成本或部署要求。 更新管理器使用 Resource Graph 来存储其结果。 可以查看过去 7 天的最近更新评估历史记录,以及 Resource Graph 过去 30 天的更新安装历史记录。

本文介绍更新管理器中的日志结构,以及如何使用 Azure Resource Graph 资源管理器来分析日志以支持报表、可视化和导出需求。

日志结构

更新管理器将其所有操作的结果作为日志发送到 Azure Resource Graph 中,这些日志可供使用 30 天。 下面列出了要发送到 Azure Resource Graph 的日志的结构。

修补程序评估结果

patchassessmentresources 包含与计算机修补程序评估相关的资源。 下表描述了该评估的属性。

properties 说明
ID 转发结果的 Azure 资源管理器 ID。 它类似于来宾 OS 评估的 REST API 路径。 通常为 <resourcePath>/patchAssessmentResults/latest<resourcePath>/patchAssessmentResults/latest/softwarePatches/<update>
NAME 如果 ID 的类型为 <resourcePath>/patchAssessmentResults/latest,则记录包含完成评估操作的唯一 GUID。 如果为 <resourcePath>/patchAssessmentResults/latest/softwarePatches/<update>,则记录包含更新名称或标签。
TYPE 指定评估的日志类型。 如果类型为 patchassessmentresults,则记录会提供具有数字聚合统计信息的 OS 评估摘要。 如果类型为 patchassessmentresults/softwarepatches,则记录描述可用于资源的特定 OS 更新。
TENANTID Azure VM 或已启用 Azure Arc 的服务器资源的 Azure 租户 ID。
KIND 特意留空以备将来使用。
LOCATION Azure VM 或已启用 Azure Arc 的服务器资源存在的 Azure 云区域。
RESOURCEGROUP 托管 Azure VM 或已启用 Azure Arc 的服务器资源的 Azure 资源组。
SUBSCRIPTIONID 托管 Azure VM 或已启用 Azure Arc 的服务器资源的 Azure 订阅 ID。
MANAGEDBY 特意留空以备将来使用。
SKU 特意留空以备将来使用。
PLAN 特意留空以备将来使用。
PROPERTIES 捕获操作的详细信息(JSON 格式)。 有关详细信息,请参阅此表。
TAGS 特意留空以备将来使用。
IDENTITY 特意留空以备将来使用。
ZONES 特意留空以备将来使用。
EXTENDEDLOCATION 特意留空以备将来使用。

patchassessmentresources 属性的说明

如果资源类型的属性为 patchassessmentresources,则它包括下表中的信息。

说明
rebootPending 用于指定特定更新是否需要 OS 重新启动才能完成安装的标志。 由计算机的 OS 更新服务或包管理器提供。 如果 OS 包管理器或更新服务不需要重启,则该字段的值将设置为 false
patchServiceUsed 计算机上用于安装更新的 OS 服务。 适用于 Windows 更新服务或 Windows Server 更新服务的 WU-WSUS。 对于 Linux,值为 OS 包管理器,例如 YUMAPTZypper
osType 表示操作系统的类型:WindowsLinux
startDateTime 表示 OS 更新评估任务在计算机上开始执行的时间戳 (UTC)。
lastModifiedDateTime 表示上次更新记录的时间戳 (UTC)。
startedBy 标识用户或 Azure 服务是否触发了 OS 更新安装。 有关操作的详细信息,请参阅 Azure 活动日志
errorDetails 从计算机的 OS 包管理器或更新服务执行更新安装时生成的前五条错误消息。
availablePatchCountByClassification 根据 OS 供应商,按照特定更新所属的类别进行的 OS 更新数。 计算机的 OS 更新服务或包管理器生成信息。 如果 OS 包管理器或更新服务未提供类别的详细信息,则该值为 Others(适用于 Linux)或 Updates(适用于 Windows Server)。

如果资源类型的属性为 patchassessmentresults/softwarepatches,则它包括下表中的信息。

说明
lastModifiedDateTime 表示上次更新记录的时间戳 (UTC)。
publishedDateTime 表示 OS 供应商何时提供特定更新的时间戳。 计算机的 OS 更新服务或包管理器生成信息。 如果 OS 包管理器或更新服务未提供 OS 供应商提供更新时间的详细信息,则值为 null。 目前,Linux 更新时此值不可用。
classifications 根据 OS 供应商的不同,特定更新所属的类别。 计算机的 OS 更新服务或包管理器生成信息。 如果 OS 包管理器或更新服务未提供类别的详细信息,则该值为 Others(适用于 Linux)或 Updates(适用于 Windows Server)。
rebootRequired 值指示特定更新是否需要 OS 重新启动才能完成安装。 计算机的 OS 更新服务或包管理器生成信息。 如果 OS 包管理器或更新服务不需要重新启动,则该值为 false
rebootBehavior 如果更新管理器可以重新启动目标计算机,则 OS 更新安装中设置的行为会在配置更新部署时运行作业。
patchName 计算机的 OS 包管理器或更新服务为特定更新生成的名称或标签。
Kbid 如果计算机的 OS 为 Windows Server,则值将包含 Windows 更新服务提供的更新的唯一 KB ID。
version 如果计算机的 OS 是 Linux,则该值包括 Linux 包管理器提供的更新的版本详细信息。 例如 1.0.1.el7.3

修补程序安装结果

patchinstallationresources 包含与计算机修补程序评估相关的资源。 下表描述了该评估的属性。

properties 说明
ID 转发结果的 Azure 资源管理器 ID。 它类似于来宾 OS 评估的 REST API 路径。 通常为 <resourcePath>/patchInstallationResults/<GUID><resourcePath>/patchAssessmentResults/latest/softwarePatches/<update>
NAME 如果 ID 的类型为 <resourcePath>/patchInstallationResults,则记录包含完成更新操作的唯一 GUID。 如果为 <resourcePath>/patchInstallationResults/softwarePatches/<update>,则记录将包含计算机上安装的更新名称或标签。
TYPE 指定评估的日志类型。 如果类型为 patchinstallationresults,则记录将提供 OS 安装摘要和数字聚合统计信息。 如果类型为 patchinstallationresults/softwarepatches,则记录将描述可为资源安装的特定 OS 更新。
TENANTID Azure VM 或已启用 Azure Arc 的服务器资源的 Azure 租户 ID。
KIND 特意留空以备将来使用。
LOCATION Azure VM 或已启用 Azure Arc 的服务器资源存在的 Azure 云区域。
RESOURCEGROUP 托管 Azure VM 或已启用 Azure Arc 的服务器资源的 Azure 资源组。
SUBSCRIPTIONID 托管 Azure VM 或已启用 Azure Arc 的服务器资源的 Azure 订阅 ID。
MANAGEDBY 特意留空以备将来使用。
SKU 特意留空以备将来使用。
PLAN 特意留空以备将来使用。
PROPERTIES 捕获操作的详细信息(JSON 格式)。 有关详细信息,请参阅此表。
TAGS 特意留空以备将来使用。
IDENTITY 特意留空以备将来使用。
ZONES 特意留空以备将来使用。
EXTENDEDLOCATION 特意留空以备将来使用。

patchinstallationresults 属性的说明

如果资源类型的属性为 patchinstallationresults,则它包括下表中的信息。

说明
installationActivityId OS 更新安装运行的唯一 GUID。
maintenanceWindowExceeded 如果更新安装运行超过定义的维护时段,则值为 TrueFalse
lastModifiedDateTime 表示上次更新记录的时间戳 (UTC)。
notSelectedPatchCount 未选择在更新部署中安装的但在计算机上可用的 OS 更新数。
installedPatchCount 已在更新部署中指定的且已成功安装的 OS 更新数。
excludedPatchCount 已排除在更新部署中安装的但在计算机上可用的 OS 更新数。
pendingPatchCount 已在更新部署中指定的、仍在等待安装的 OS 更新数。
patchServiceUsed 计算机上用于安装更新的 OS 服务。 适用于 Windows 更新服务或 Windows Server 更新服务的 WU-WSUS。 对于 Linux,值为 OS 包管理器,例如 YUMAPTZypper
failedPatchCount 已在更新部署中指定的但无法成功安装的 OS 更新数。
startDateTime 表示 OS 更新安装任务在计算机上开始执行的时间戳 (UTC)。
rebootStatus 需要重启 OS 才能完成更新安装时 OS 更新服务或包管理器中的信息。 状态值为 NotNeeded(无需重启)、Required(需要 OS 重启才能完成)、Started(已启动重启)、Failed(无法重启 OS)和 Completed(已成功重启)。
startedBy 标识用户或 Azure 服务是否触发了 OS 更新安装。 有关操作的详细信息,请参阅 Azure 活动日志
status OS 更新安装运行的状态。 值可以是 NotStartedInProgressFailedSucceededCompletedWithWarnings。 如果一个或多个 OS 更新安装失败,则更新安装运行被视为 Failed 状态。
osType 表示操作系统的类型:WindowsLinux
errorDetails 包括从计算机的 OS 包管理器或更新服务运行更新安装时生成的前五条错误消息。
maintenanceRunId 此值用作自动 VM 来宾修补或计划运行 ID(而不是定期更新)的维护运行标识符。

如果资源类型的属性为 patchinstallationresults/softwarepatches,则它包括下表中的信息。

说明
installationState 特定 OS 更新的安装状态。 值为 InstalledFailedPendingNotSelectedExcluded
lastModifiedDateTime 表示上次更新记录的时间戳 (UTC)。
publishedDateTime 表示 OS 供应商何时提供特定更新的时间戳。 计算机的 OS 更新服务或包管理器生成信息。 如果 OS 包管理器或更新服务未提供 OS 供应商提供更新时间的详细信息,则值为 null。
classifications 根据计算机的 OS 更新服务或包管理器提供的 OS 供应商而定的特定更新所属的类别。 如果 OS 包管理器或更新服务未提供类别的详细信息,则该字段的值为 Others(适用于 Linux)和 Updates(适用于 Windows Server)。
rebootRequired 用于指定特定更新是否需要 OS 重新启动才能完成安装的标志,由计算机的 OS 更新服务或包管理器提供。 如果 OS 包管理器或更新服务未提供有关需要重新启动 OS 的信息,则将该字段的值设置为 false
rebootBehavior OS 更新安装中设置的行为按用户运行作业,与允许更新管理器重新启动 OS 有关。
patchName 计算机的 OS 包管理器或更新服务提供的特定更新的名称或标签。
Kbid 如果计算机的 OS 为 Windows Server,则值将包含 Windows 更新服务提供的更新的唯一 KB ID。
version 如果计算机的 OS 是 Linux,则该值包括 Linux 包管理器提供的更新的版本详细信息。 例如 1.0.1.el7.3

维护资源

maintenanceresources 包含与维护配置相关的资源。 下表描述了该评估的属性。

properties 说明
ID 转发结果的 Azure 资源管理器 ID。 它类似于用于创建维护配置的 REST API 路径。
NAME 如果 ID 的类型为 <resourcePath>/applyupdates,则记录包含维护运行的唯一 GUID。 如果为 <resourcePath>/configurationassignments,则记录包含将维护配置分配给 Azure 或 Azure Arc VM。
TYPE 指定评估的日志类型。 如果类型为 applyupdates,则记录提供计算机级别的维护运行记录的详细信息。 如果类型为 configurationassignments,则记录描述 Azure VM 或 Azure Arc VM 与维护配置之间的链接。
TENANTID Azure VM 或已启用 Azure Arc 的服务器资源的 Azure 租户 ID。
KIND 特意留空以备将来使用。
LOCATION Azure VM 或已启用 Azure Arc 的服务器资源存在的纯云区域。
RESOURCEGROUP 托管 Azure VM 或已启用 Azure Arc 的服务器资源的 Azure 资源组。
SUBSCRIPTIONID 托管 Azure VM 或已启用 Azure Arc 的服务器资源的 Azure 订阅 ID。
MANAGEDBY 特意留空以备将来使用。
SKU 特意留空以备将来使用。
PLAN 特意留空以备将来使用。
PROPERTIES 捕获操作的详细信息(JSON 格式)。 有关详细信息,请参阅此表。
TAGS 特意留空以备将来使用。
IDENTITY 特意留空以备将来使用。
ZONES 特意留空以备将来使用。
EXTENDEDLOCATION 特意留空以备将来使用。

applyupdates 属性的说明

如果资源类型的属性为 applyupdates,则它包括下表中的信息。

说明
maintenanceConfigurationId 应用的维护配置的 Azure 资源管理器 ID。
maintenanceScope 应用的维护配置的维护范围。
resourceId ARC/Azure VM 的 Azure 资源管理器模板资源 ID。
correlationId 维护/计划运行的计划运行 ID。 此信息可用于查找属于同一计划的所有 VM。
startDateTime 计划的开始日期和时间。
endDateTime 计划的结束日期和时间。

如果资源类型的属性为 configurationassignments,则它包括下表中的信息。

说明
resourceId ARC/Azure VM 的 Azure 资源管理器资源 ID
maintenanceConfigurationId 应用的维护配置的 Azure 资源管理器 ID

后续步骤