安装和管理Azure Monitor代理

本文介绍可用于在Azure虚拟机、虚拟机规模集和启用Azure Arc的服务器上安装、卸载、更新和配置 Azure Monitor Agent的不同方法。

先决条件

有关使用 Azure Monitor 代理的先决条件和其他要求,请参阅以下文章:

重要

如果代理使用 Azure 专用链接连接到 Log Analytics 工作区,请参阅 为 Azure Monitor 中的虚拟机和 Kubernetes 群集启用专用链接

重要

安装、升级或卸载Azure Monitor代理时,无需重启计算机。

安装选项

下表列出了在Azure VM 和启用了Azure Arc的服务器上安装 Azure Monitor 代理的选项。

对于不在Azure中的任何计算机,必须在计算机上安装 Azure Arc 代理,然后才能安装Azure Monitor代理。

安装方法 说明
虚拟机 (VM) 扩展 使用本文中所述的任何方法通过 Azure 扩展框架安装代理。 此方法不会创建数据收集规则(DCR),因此在数据收集开始之前,必须至少创建一个 DCR 并将其与代理相关联。
创建 DCR 在 Azure 门户中创建 DCR 时,Azure Monitor Agent 会被安装在作为 DCR 资源添加的任何计算机上。 代理会立即开始收集 DCR 中定义的数据。
容器洞察 在 Kubernetes 群集上启用 Prometheus 指标或容器日志收集时,会在群集中安装Azure Monitor代理的容器化版本,并创建 DCR 以立即开始收集数据。 可以根据使用 DCR 在容器见解中配置数据收集和成本优化的指南来修改 DCR。
客户端安装程序 使用Windows 11和Windows 10客户端的 Windows MSI 安装程序安装代理。
Azure Policy 使用Azure Policy在Azure虚拟机和启用Azure Arc的服务器上自动安装代理,并自动将它们与所需的 DCR 相关联。

注意

  • 若要跨租户发送数据,必须先启用 Azure Lighthouse

  • 不支持克隆已安装Azure Monitor代理的计算机。 此方案的最佳做法是使用Azure Policy或基础结构即代码(IaaC)工具大规模部署Azure Monitor代理。

下表总结了可用于每个Azure Monitor代理操作的方法:

Operation Azure 门户 Azure PowerShell Azure CLI 资源管理器 模板
安装
Verify
卸载
Update
配置代理设置(预览版)

安装代理扩展

通过 Azure 门户安装Azure Monitor代理的建议方法是创建数据收集规则 (DCR)。 如有必要,会自动安装Azure Monitor代理,并在 DCR 与所选的每台计算机之间创建关联。

有关分步门户演练,包括如何设置平台类型、添加资源和配置数据源,请参阅“创建数据收集规则”(DCR)。

安装期间创建的 Linux 用户帐户

在 Linux 计算机上安装Azure Monitor代理时,代理会创建本地用户帐户,以安全地运行其组件服务。 每个帐户在其自己的专用用户上下文下运行,以隔离特权并遵循适用于服务管理的 Linux 安全最佳做法。

下表列出了Azure Monitor代理创建的帐户。

帐户 Purpose 出现时
azuremonitoragent 运行Azure Monitor代理服务进程(mdsd)进行日志和指标收集。 代理扩展安装。
azureotelcollector 运行 OpenTelemetry 收集器组件,该组件从 VM 收集可观测性数据(指标、日志、跟踪),并将其转发到Azure Monitor。 当代理启用 OpenTelemetry 数据收集时。
azuremetricsext 运行指标扩展,该扩展使用代理发出的指标并将其发送到Azure Monitor指标。 指标扩展独立运行,但由代理启动和管理。 部署指标扩展程序时。

重要

请勿删除或修改这些帐户。 删除它们可以防止代理正常运行。

Azure Arc用户帐户

在启用了Azure Arc的服务器上,Azure Connected Machine Agent 及其扩展框架会创建附加的本地用户帐户(himdsarcproxyarcuser)作为先决条件基础结构的一部分。 这些帐户不是由 Azure Monitor 代理创建的。 有关 Arc 相关帐户及其用途的详细信息,请参阅 Azure Connected Machine Agent 概述

验证安装

安装Azure Monitor代理后,请验证代理是否正在运行并将数据发送到Log Analytics工作区。

在 Azure 门户中检查扩展状态

  1. 在 Azure 门户中,转到你的虚拟机或已启用 Azure Arc 的服务器。
  2. 选择 扩展 + 应用程序(对于已启用 Arc 的服务器,则选择 扩展)。
  3. 确认 AzureMonitorWindowsAgentAzureMonitorLinuxAgent 已列出状态为 “预配成功”。

使用Azure CLI检查扩展状态

运行以下命令列出已安装的扩展,并验证Azure Monitor代理扩展是否存在并预配:

az vm extension list --resource-group <resource-group-name> --vm-name <virtual-machine-name> --output table

对于已启用Azure Arc的服务器,请使用:

az connectedmachine extension list --resource-group <resource-group-name> --machine-name <arc-server-name> --output table

使用 Heartbeat 查询验证数据采集情况

查询 Log Analytics 工作区中的 Heartbeat 表,以确认 Azure Monitor 代理正在发送心跳数据。 在Log Analytics中,运行:

Heartbeat
| where Category == "Azure Monitor Agent"
| where TimeGenerated > ago(5m)
| project Computer, TimeGenerated, Category, OSType
| order by TimeGenerated desc

如果查询返回结果,则已成功安装Azure Monitor代理并将数据发送到工作区。

注意

安装后,可能需要几分钟才会显示第一条心跳数据。 如果未看到结果,请验证 数据收集规则 是否与计算机相关联。

卸载

若要使用 Azure 门户卸载 Azure Monitor 代理,请转到虚拟机、扩展集或已启用 Azure Arc 的服务器。 选择“扩展”选项卡,然后选择“AzureMonitorWindowsAgent”或“AzureMonitorLinuxAgent”。 在打开的对话框中,选择“卸载”。

更新

注意

始终将代理程序更新为最新版本。

自动扩展推出遵循标准Azure部署做法,安全地部署最新版本的代理。 自动更新需要数周才能推出最新版本。

升级分批发布,因此某些虚拟机、规模集或启用Azure Arc的服务器可能会在其他虚拟机、规模集或启用Azure Arc的服务器之前升级。

如果需要立即升级扩展,请使用本文中所述的手动说明。 仅支持去年发布的代理。

若要更新代理程序,请转到相应的虚拟机或虚拟机规模集。 选择“ 扩展 ”选项卡,检查代理,然后选择“ 更新”。

配置代理设置(预览版)

数据收集规则 (DCRs) 用于管理计算机上的 Azure Monitor 代理。 使用 AgentSettings DCR 配置某些Azure Monitor代理参数,以满足特定的监视需求。

注意

使用 AgentSettings DCR 时的重要注意事项:

  • 目前,只能使用 Azure 资源管理器 模板配置 AgentSettings DCR。
  • AgentSettings 必须是没有其他设置的单个 DCR。
  • 虚拟机和 AgentSettings DCR 必须位于同一区域。

支持的参数

AgentSettings DCR 当前支持设置以下参数:

参数 说明 有效值
MaxDiskQuotaInMB 为了提供复原能力,代理在其无法发送数据时在本地缓存中收集数据。 还原连接后,代理发送缓存中的数据。 此参数是Azure Monitor代理日志文件和缓存使用的磁盘空间量(以 MB 为单位)。 Linux:4,0001,000,000,默认值:10,000
Windows:4,0001,000,000
UseTimeReceivedForForwardedEvents 更改Microsoft Sentinel Windows事件转发 (WEF) 表中的 WEF 列,以使用 TimeReceived,而不是使用 TimeGenerated 数据 01

设置 AgentSettings DCR

当前不支持。

创建数据收集规则从代理收集数据并将其发送到Azure Monitor。