管理 Azure Monitor 代理

本文提供了当前可用于安装、卸载和更新 Azure Monitor 代理的不同选项。 此代理扩展可以安装在 Azure 虚拟机、规模集和已启用 Azure Arc 的服务器上。 它还列出了相关选项,用于创建与定义代理应收集何种数据的数据收集规则的关联。 安装、升级或卸载 Azure Monitor 代理不需要重启服务器。

虚拟机扩展详细信息

Azure Monitor 代理以 Azure VM 扩展方式实现,详细信息如下表所示。 可以使用任何方法来安装虚拟机扩展,其中包括本文中所述的方法。

属性 Windows Linux
Publisher Microsoft.Azure.Monitor Microsoft.Azure.Monitor
类型 AzureMonitorWindowsAgent AzureMonitorLinuxAgent
TypeHandlerVersion 请参阅 Azure Monitor 代理扩展版本 Azure Monitor 代理扩展版本

扩展版本

查看 Azure Monitor 代理扩展版本

先决条件

必须先满足以下先决条件,然后才能安装 Azure Monitor 代理。

  • 权限:对于利用 Azure 门户之外的其他方法,必须具有以下角色分配来安装代理:

    内置角色 作用域 原因
    • 虚拟机、规模集、
    • 已启用 Azure Arc 的服务器
    部署代理
    包括 Microsoft.Resources/deployments/* 操作的任何角色(例如 Log Analytics 参与者
    • 订阅和/或
    • 资源组和/或
    通过 Azure 资源管理器模板(也由 Azure Policy 使用)部署代理扩展
  • 非 Azure:要在 Azure 外部(即本地)或其他云中托管的物理服务器和虚拟机上安装代理,必须先安装 Azure Arc Connected Machine Agent(无需额外付费)

  • 身份验证:必须在 Azure 虚拟机上启用托管标识。 用户分配的托管标识和系统分配的托管标识均受支持。

    • 用户分配的托管标识:建议将此托管标识用于大规模部署,可通过内置的 Azure 策略进行配置。 可以创建一次用户分配的托管标识并跨多个 VM 共享,因此它比系统分配的托管标识更具可缩放性。 如果使用用户分配的托管标识,则必须通过扩展设置将托管标识详细信息传递给 Azure Monitor 代理:

      {
        "authentication": {
          "managedIdentity": {
            "identifier-name": "mi_res_id" or "object_id" or "client_id",
            "identifier-value": "<resource-id-of-uai>" or "<guid-object-or-client-id>"
          }
        }
      }
      

      我们建议使用 mi_res_id 作为 identifier-name。 为简洁起见,以下示例命令仅显示 mi_res_id 的用法。 有关 mi_res_idobject_idclient_id 的详细信息,请参阅托管标识文档

    • 系统分配的托管标识:此托管标识适合用于初始测试或小规模部署。 大规模使用该标识时(例如,将其用于订阅中的所有 VM),会导致在 Microsoft Entra ID 中创建(和删除)大量标识。 为避免这种标识变动,请改用用户分配的托管标识。 对于已启用 Azure Arc 的服务器,安装 Azure Arc 代理后,系统分配的托管标识会自动启用。 已启用 Azure Arc 的服务器仅支持系统分配的托管标识。

    • 对于启用 Azure arc 的服务器来说不是必需的:如果是在 Azure 门户中创建数据收集规则,系统标识将自动启用。

  • 网络:如果使用网络防火墙,则必须在虚拟机的虚拟网络上启用 Azure 资源管理器服务标记。 虚拟机也必须具有以下 HTTPS 终结点的访问权限:

    • global.handler.control.monitor.azure.cn
    • <virtual-machine-region-name>.handler.control.monitor.azure.cn(示例:chinanorth.handler.control.monitor.azure.cn)
    • <log-analytics-workspace-id>.ods.opinsights.azure.cn(示例:12345a01-b1cd-1234-e1f2-1234567g8h99.ods.opinsights.azure.cn)
      (如果在代理上使用专用链接,还必须添加 dce 终结点)。
  • 磁盘空间:所需的磁盘空间可能会有很大差异,具体取决于代理的使用方式或代理是否无法与指示其发送监视数据的目标进行通信。 默认情况下,代理运行需要 10Gb 的磁盘空间,代理安装需要 500MB 的磁盘空间。 以下内容为容量计划提供指导:

用途 环境 路径 建议的空间
下载并安装包 Linux /var/lib/waagent/Microsoft.Azure.Monitor.AzureMonitorLinuxAgent-{Version}/ 500 MB
下载并安装包 Windows C:\Packages\Plugins\Microsoft.Azure.Monitor.AzureMonitorWindowsAgent 500 MB
扩展日志 Linux (Azure VM) /var/log/azure/Microsoft.Azure.Monitor.AzureMonitorLinuxAgent/ 100 MB
扩展日志 Linux (Azure Arc) /var/lib/GuestConfig/extension_logs/Microsoft.Azure.Monitor.AzureMonitorLinuxAgent-{version}/ 100 MB
扩展日志 Windows (Azure VM) C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Monitor.AzureMonitorWindowsAgent 100 MB
扩展日志 Windows (Azure Arc) C:\ProgramData\GuestConfig\extension_logs\Microsoft.Azure.Monitor.AzureMonitorWindowsAgent 100 MB
代理缓存 Linux /etc/opt/microsoft/azuremonitoragent, /var/opt/microsoft/azuremonitoragent 500 MB
代理缓存 Windows (Azure VM) C:\WindowsAzure\Resources\AMADataStore.{DataStoreName} 10.5 GB
代理缓存 Windows (Azure Arc) C:\Resources\Directory\AMADataStore. {DataStoreName} 10.5 GB
事件缓存 Linux /var/opt/microsoft/azuremonitoragent/events 10 GB

注意

本文仅适用于代理安装或管理。 安装代理后,必须查看下一篇文章来配置数据收集规则并将其与计算机(已安装代理)关联。 如果不关联数据收集规则,则 Azure Monitor 代理无法正常运行。

安装

有关如何从Azure 门户安装 Azure Monitor 代理的信息,请参阅创建数据收集规则。 这个过程创建规则,将其关联到选定的资源,并在这些资源上安装 Azure Monitor 代理(如果尚未安装)。

卸载

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

更新

要执行代理的一次更新,必须先卸载现有代理版本。 然后按说明安装新版本。

使用 Azure Policy

创建虚拟机、规模集或已启用 Azure Arc 的服务器时,可使用以下策略和策略计划自动安装代理并将其与数据收集规则关联。

备注

根据 Microsoft 标识最佳做法,有关在虚拟机和规模集上安装 Azure Monitor 代理的策略依赖于用户分配的托管标识。 对于这些资源而言,这是可缩放性和可复原性更强的托管标识选项。 对于已启用 Azure Arc 的服务器,策略依赖于系统分配的托管标识,因为目前这唯一受支持的选项。

内置策略计划

在继续之前,请查看代理安装先决条件

存在适用于 Windows 和 Linux 虚拟机、规模集的内置策略计划,这些计划使用端到端 Azure Monitor 代理提供大规模加入

注意

策略定义仅包括 Microsoft 支持的 Windows 和 Linux 版本列表。 若要添加自定义映像,请使用 Additional Virtual Machine Images 参数。

这些计划包括具有以下用途的各项策略:

  • (可选)为每个区域的每个订阅创建并分配内置的用户分配托管标识。 了解详细信息

    • Bring Your Own User-Assigned Identity:如果设置为 false,它会在预定义的资源组中创建内置的用户分配托管标识,并将其分配到应用该策略的所有计算机。 可以在参数 Built-In-Identity-RG Location 中配置资源组的位置。 如果设置为 true,则可以改用自动分配给应用该策略的所有计算机的现有用户分配标识。
  • 在计算机上安装 Azure Monitor 代理扩展,并将其配置为使用由以下参数指定的用户分配标识。

    • Bring Your Own User-Assigned Managed Identity:如果设置为 false,则会将代理配置为使用由上述策略创建的内置的用户分配托管标识。 如果设置为 true,它会将代理配置为使用现有的用户分配标识。
    • User-Assigned Managed Identity Name:如果你使用自己的标识(选择了 true),请指定分配到计算机的标识的名称。
    • User-Assigned Managed Identity Resource Group:如果你使用自己的标识(选择了 true),请指定该标识所在的资源组。
    • Additional Virtual Machine Images:传递要将策略应用到的其他 VM 映像名称(如果尚未包含)。
    • Built-In-Identity-RG Location:如果使用内置的用户分配托管标识,请指定应创建标识和资源组的位置。 仅当 Bring Your Own User-Assigned Managed Identity 参数设置为 false 时,才使用此参数。
  • 创建并部署关联,以将计算机链接到指定的数据收集规则。

    • Data Collection Rule Resource Id:要通过此策略关联到应用该策略的所有计算机的规则的 Azure 资源管理器 resourceId。

    “Azure Policy 定义”页面的部分屏幕截图,其中显示了用于配置 Azure Monitor 代理的两个内置策略计划。

已知问题

  • 托管标识的默认行为。 了解详细信息
  • 使用内置用户分配标识创建策略可能会出现争用状况。 了解详细信息
  • 将策略分配给资源组。 如果策略的分配范围是资源组而不是订阅,则在分配/修正之前,必须手动为策略分配使用的标识(不同于代理使用的用户分配标识)授予这些角色。 若未能完成此步骤,则会导致部署失败。
  • 其他托管标识限制

内置策略

可以选择使用上述策略计划中的单个策略来大规模执行单个操作。 例如,如果你只想自动安装代理,请使用计划中的第二个代理安装策略,如下所示。

“Azure Policy 定义”页面的部分屏幕截图,其中显示了用于配置 Azure Monitor 代理的计划中包含的策略。

补救

这些计划或策略将在创建时应用于每个虚拟机。 修正任务会将计划中的策略定义部署到现有资源,以便为任何已创建的资源配置 Azure Monitor 代理。

使用 Azure 门户创建分配时,可以选择同时创建修正任务。 有关修正的信息,请参阅使用 Azure Policy 修正不符合的资源

显示了 Azure Monitor 代理的计划修正的屏幕截图。

常见问题解答

本部分提供常见问题的解答。

安装 Azure Arc Connected Machine agent 对我的非 Azure 计算机有什么影响?

安装 Azure Arc Connected Machine Agent 后,不会对计算机造成任何影响。 它几乎不使用系统或网络资源,并且设计为在运行它的主机上占用较少的内存。

后续步骤

创建数据收集规则,通过代理收集数据并将其发送给 Azure Monitor。