Azure Monitor 代理概述

Azure Monitor 代理 (AMA) 从受支持的基础结构的来宾操作系统中收集监视数据,并将数据交付给 Azure Monitor。 本文概述了 Azure Monitor 代理,提供了有关如何安装它以及如何配置数据收集的信息。

与其他代理之间的关系

最终,Azure Monitor 代理将替代 Azure Monitor 当前使用的以下旧版监视代理。

  • Log Analytics 代理:将数据发送到 Log Analytics 工作区,并支持 VM 见解和监视解决方案。
  • 诊断扩展:将数据发送到 Azure Monitor 指标(仅 Windows)、Azure 事件中心和 Azure 存储。

目前,Azure Monitor 代理合并了 Telegraf 代理和 Log Analytics 代理中的功能,但有一些限制。 将来,它还将合并诊断扩展中的功能。

除了将此功能合并到单个代理外,相对于现有代理,Azure Monitor 代理还具有以下优势:

  • 成本节省:
    • 与 Log Analytics 代理支持的“全有或全无”模式相比,通过数据收集规则从特定计算机收集特定数据类型可以实现精细的目标控制
    • 使用 XPath 查询筛选收集的 Windows 事件。 这有助于进一步降低引入成本和存储成本。
  • 简化数据收集管理:将数据从 Windows 和 Linux VM 发送到多个 Log Analytics 工作区(即“多宿主”)和/或其他受支持的目标。 此外,使用数据收集规则,可以在 Azure 中大幅提高从加入到部署,再到更新的整个数据收集生命周期内每个操作的方便性、可伸缩性和集中化程度
  • 管理依赖的解决方案或服务:与旧版 Log Analytics 代理中的管理包和 Linux 插件相比,Azure Monitor 代理使用一种新的方法来处理扩展性,新方法更加透明和可控。 此外,此管理体验对于 Azure 或本地/其他云中通过 Azure Arc 部署的计算机是相同的,且不会增加成本。
  • 安全性和性能 - 在身份验证和安全性方面,它使用托管标识(适用于虚拟机)和 AAD 设备令牌(适用于客户端),与旧版代理使用的证书或工作区密钥相比,其安全性要高得多且能“防黑客攻击”。 与旧版代理相比,此代理在 EPS(每秒事件数,即上传速率)较高的情况下表现更好。

当前限制

目前并非所有 Log Analytics 解决方案都受支持。 查看支持的功能和服务

数据收集方面的变化

用于定义现有代理的数据收集的方法各有不同, 每种方法都存在需要通过 Azure Monitor 代理解决的难题。

  • Log Analytics 代理从 Log Analytics 工作区获取其配置。 集中配置很容易,但难以为不同的虚拟机定义独立定义。 这种方法只能将数据发送到 Log Analytics 工作区。
  • 诊断扩展具有每种虚拟机的配置。 为不同的虚拟机定义独立的定义很容易,但难以集中管理。 这种方法只能将数据发送到 Azure Monitor 指标、Azure 事件中心或 Azure 存储。 对于 Linux 代理,需要使用开源 Telegraf 代理才能将数据发送到 Azure Monitor 指标。

Azure Monitor 代理使用数据收集规则来配置要从每个代理收集的数据。 数据收集规则实现了大规模的集合设置的可管理性,同时还为计算机的子集启用了唯一的、有作用域的配置。 这些规则独立于工作区,并且独立于虚拟机,因此定义一次之后,就可以在计算机和环境中重复使用。 请参阅为 Azure Monitor 代理配置数据收集

我是否应该切换到 Azure Monitor 代理?

若要开始将 VM 的当前代理转换为新代理,请考虑以下因素:

  • 环境要求:Azure Monitor 代理当前支持这些操作系统。 只有此新代理中会支持将来的操作系统版本、环境和网络要求。 如果 Azure Monitor 代理支持你的当前环境,则应开始转换到该代理。

  • 当前的和新的功能要求:Azure Monitor 代理引入了多项新功能,例如筛选、限定范围和多宿主。 但在其他功能方面,它还不能与当前的代理相提并论。 请查看当前的限制支持的解决方案

    也就是说,Azure Monitor 中的大多数新功能将只能通过 Azure Monitor 代理使用。 请考虑一下,Azure Monitor 代理是否有你需要的功能?你是否可以临时执行某些功能,而不必获取新代理中的其他重要功能?

    如果 Azure Monitor 代理具有你需要的所有核心功能,则应开始转换到该代理。 如果当前代理有你需要的关键功能,则继续使用当前代理,直到 Azure Monitor 代理能与之媲美。

  • 返工容错性:如果要使用部署脚本和加入模板等资源设置新环境,请评估所涉及的工作。 如果此设置操作需要大量工作,请考虑使用新代理来设置新环境,因为新代理现已正式发布。

    Azure Monitor 日志分析代理将于 2024 年 8 月 31 日停用。 在停用日期之前,将支持当前代理。

与其他代理共存

Azure Monitor 代理可以与旧版 Log Analytics 代理共存(在同一计算机上并行运行),因此你可以在评估或迁移期间继续使用其现有功能。 尽管这允许你开始转换,但由于存在限制,所以你必须仔细考虑以下几点:

  • 请谨慎收集重复的数据,因为它可能会扭曲查询结果并影响下游功能,例如警报、仪表板或工作簿。 例如,VM Insights 使用 Log Analytics 代理将性能数据发送到 Log Analytics 工作区。 你还可能已将工作区配置为从代理收集 Windows 事件和 Syslog 事件。 如果安装 Azure Monitor 代理,并为这些相同的事件和性能数据创建了数据收集规则,则会导致重复数据。 因此,请确保未从两个代理收集相同的数据。 如果这样收集,请确保它们从不同的计算机进行收集,或者收集到不同的目标。
  • 除了数据重复以外,这还会因为数据引入和保留而产生更多费用。
  • 在同一计算机上运行两个遥测代理会导致资源消耗翻倍,包括但不限于 CPU、内存、存储空间和网络带宽。

注意

在评估或迁移期间使用这两种代理时,可以使用 Log Analytics 工作区中检测信号表的“类别”列,并筛选“Azure Monitor 代理”。

支持的资源类型

资源类型 安装方法 其他信息
虚拟机、规模集 虚拟机扩展 使用 Azure 扩展框架安装代理
Windows 10、11 台式机和工作站 客户端安装程序(预览版) 使用 Windows MSI 安装程序安装代理
Windows 10、11 笔记本电脑 客户端安装程序(预览版) 使用 Windows MSI 安装程序安装代理。 这些安装适用于笔记本电脑,但代理尚未针对电池、网络消耗进行优化

支持的操作系统

有关 Azure Monitor 代理目前支持的 Windows 和 Linux 操作系统版本的列表,请参阅支持的操作系统

数据源和目标

下表列出了当前可以使用数据收集规则通过 Azure Monitor 代理收集的数据类型,以及可以将该数据发送到的位置。 若要获取见解、解决方案的列表以及使用 Azure Monitor 代理收集其他类型的数据的其他解决方案的列表,请参阅 Azure Monitor 监视哪些内容?

Azure Monitor 代理会将数据发送到 Azure Monitor 指标(预览版)或发送到支持 Azure Monitor 日志的 Log Analytics 工作区。

数据源 Destinations 说明
性能 Azure Monitor 指标(预览版)1 - Insights.virtualmachine 命名空间
Log Analytics 工作区 - 性能
度量操作系统和工作负荷的各方面性能的数值
Windows 事件日志 Log Analytics 工作区 - 事件 发送到 Windows 事件日志记录系统的信息
Syslog Log Analytics 工作区 - Syslog2 发送到 Linux 事件日志记录系统的信息
文本日志 Log Analytics 工作区 - 自定义表 发送到代理计算机上的日志文件的事件。

1 在 Linux 上,v1.10.9.0 或更高版本支持使用 Azure Monitor 指标作为唯一目标。 2 Azure Monitor Linux 代理 1.15.2 或更高版本支持 syslog RFC 格式,包括 Cisco Meraki、Cisco ASA、Cisco FTD、Sophos XG、瞻博网络、Corelight Zeek、CipherTrust、NXLog、McAfee 和 CEF(通用事件格式)。

支持的服务和功能

下表显示了其他 Azure 服务对 Azure Monitor 代理的当前支持。

Azure 服务 当前支持 详细信息
Microsoft Defender for Cloud 个人预览版 注册链接

下表显示了 Azure 解决方案对 Azure Monitor 代理的当前支持。

解决方案 当前支持 详细信息
更新管理 使用不需要代理的更新管理 v2(个人预览版)。 注册链接

成本

Azure Monitor 代理不收取任何费用,但引入的数据可能产生费用。 若要了解 Log Analytics 数据收集和保留的详细信息以及客户指标,请参阅 Azure Monitor 定价

安全性

Azure Monitor 代理无需任何密钥,而是需要系统分配的托管标识。 部署代理之前,必须在每个虚拟机上启用系统分配的托管标识。

网络

Azure Monitor 代理支持 Azure 服务标记(需要 AzureMonitor 和 AzureResourceManager 标记)。 它支持通过直接代理、Log Analytics 网关和专用链接进行连接,如下所述。

防火墙要求

端点 目的 端口 方向 绕过 HTTPS 检查
global.handler.control.monitor.azure.cn 访问控制服务 端口 443 出站
<virtual-machine-region-name>.handler.control.monitor.azure.cn 提取特定计算机的数据收集规则 端口 443 出站
<log-analytics-workspace-id>.ods.opinsights.azure.cn 引入日志数据 端口 443 出站

如果在代理上使用专用链接,还必须添加 DCE 终结点

代理配置

如果计算机通过代理服务器建立连接,以便通过 Internet 进行通信,请查看下面的要求以了解所需的网络配置。

Windows 和 Linux 的 Azure Monitor 代理扩展可以使用 HTTPS 协议通过代理服务器或 Log Analytics 网关与 Azure Monitor 进行通信。 请将其用于 Azure 虚拟机、Azure 虚拟机规模集。 将扩展设置用于配置,如以下步骤所述。 匿名身份验证和基本身份验证(使用用户名/密码)都受支持。

  1. 使用此流程图,首先确定 settings 和 protectedSettings 参数的值。

    启用扩展时用于确定 setting 和 protectedSetting 参数的值的流程图。

  2. 确定 settings 和 protectedSettings 参数的值后,请在使用 PowerShell 命令部署 Azure Monitor 代理时,提供这些附加参数。 请参考以下示例。

$settingsString = '{"proxy":{"mode":"application","address":"http://[address]:[port]","auth": true}}';
$protectedSettingsString = '{"proxy":{"username":"[username]","password": "[password]"}}';

Set-AzVMExtension -ExtensionName AzureMonitorWindowsAgent -ExtensionType AzureMonitorWindowsAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -VMName <virtual-machine-name> -Location <location> -TypeHandlerVersion 1.0 -SettingString $settingsString -ProtectedSettingString $protectedSettingsString

Log Analytics 网关配置

  1. 按照以上说明在代理上配置代理设置,并提供与网关服务器对应的 IP 地址和端口号。 如果已经在负载均衡器后面部署了多个网关服务器,代理配置会改为该负载均衡器的虚拟 IP 地址。
  2. 将配置终结点 URL 添加到网关的允许列表中以提取数据收集规则Add-OMSGatewayAllowedHost -Host global.handler.control.monitor.azure.cnAdd-OMSGatewayAllowedHost -Host <gateway-server-region-name>.handler.control.monitor.azure.cn(如果在代理上使用专用链接,还必须添加 dce 终结点
  3. 将数据提取终结点 URL 添加到网关 Add-OMSGatewayAllowedHost -Host <log-analytics-workspace-id>.ods.opinsights.azure.cn 的允许列表中
  4. 重启“OMS 网关”服务以应用更改 Stop-Service -Name <gateway-name>Start-Service -Name <gateway-name>

后续步骤