如何从Azure VM或Automation account获取更新管理相关信息?
Azure更新管理明细数据获取方案
有成熟可行的方案可以获取对应数据,具体实现方式如下:
使用Azure Resource Graph查询全量汇总/单VM维度数据
支持直接拉取更新管理全量明细,既可以筛选单台VM的补丁信息,也可以拉取指定自动化账户下所有关联VM的汇总数据。涉及两张核心资源表:patchassessmentresources(补丁评估结果数据)、patchinstallationresources(补丁安装历史数据),覆盖补丁KB编号、补丁分类、安装状态、操作时间、关联VM信息、关联自动化账户信息等全部核心字段。
以下是获取指定自动化账户下近7天所有VM补丁评估结果的示例查询语句:patchassessmentresources | where type == "microsoft.compute/virtualmachines/patchassessments" | where properties.lastModifiedDateTime >= ago(7d) | extend automationAccountId = tostring(properties.automationAccount.id) | where automationAccountId has "<替换为你的自动化账户资源ID>" | project vmName = name, kbId = properties.kbId, patchTitle = properties.title, patchClassification = properties.classification, assessmentStatus = properties.status, assessmentTime = properties.lastModifiedDateTime查询更新管理关联的Log Analytics工作区
启用更新管理功能时会默认绑定Log Analytics工作区,所有补丁相关的明细数据都会同步到工作区对应表中:- 补丁基础信息、评估状态对应表:
Update - 补丁部署执行进度、结果对应表:
UpdateRunProgress、UpdateSummary
可根据VM名称、自动化账户ID、时间范围、补丁状态等维度自由筛选,支持全量数据导出。
- 补丁基础信息、评估状态对应表:
调用专用REST API获取单VM维度数据
通用VM管理接口没有集成更新管理字段,但可以调用补丁管理的专用API拉取单台VM的明细:- 获取VM补丁评估结果接口:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/patchAssessments?api-version=2023-03-01 - 获取VM补丁安装历史接口:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/patchInstallStatuses?api-version=2023-03-01
- 获取VM补丁评估结果接口:
注意:如果需要拉取整个自动化账户下所有VM的汇总数据,优先选择Azure Resource Graph或Log Analytics查询方案,执行效率远高于逐台调用VM维度的API。
内容的提问来源于stack exchange,提问作者Thanuja
相关产品推荐
相关产品推荐

