Azure Monitor 代理概述
虚拟机和其他计算资源需要代理收集所需的监视数据,以度量其来宾操作系统和工作负荷的性能和可用性。 当今存在许多用于此目的的旧版代理,它们最终将由新的整合式 Azure Monitor 代理取代。 本文将介绍旧版代理以及新的 Azure Monitor 代理。
如果你不受这些限制的约束,则我们一般建议使用 Azure Monitor 代理,因为它整合了下面列出的所有旧版代理功能,并提供这些附加优势。
如果现在确实需要这些限制,可以继续使用下面列出的其他旧版代理,直到 2024 年 8 月。 了解详细信息
代理摘要
下表对适用于 Windows 和 Linux 的遥测代理进行了快速比较。 后续章节提供了更多每个代理的详细信息。
Windows 代理
Azure Monitor 代理 | 诊断 扩展 (WAD) |
Log Analytics 代理 |
依赖项 代理 |
|
---|---|---|---|---|
支持的环境 | Azure | Azure | Azure 其他云 本地 |
Azure 其他云 本地 |
代理要求 | 无 | 无 | 无 | 需要 Log Analytics 代理 |
收集的数据 | 事件日志 性能 |
事件日志 ETW 事件 性能 基于文件的日志 IIS 日志 .NET 应用日志 故障转储 代理诊断日志 |
事件日志 性能 基于文件的日志 IIS 日志 见解和解决方案 其他服务 |
过程依赖项 网络连接指标 |
数据发送目标 | Azure Monitor 日志 Azure Monitor 指标 |
Azure 存储 Azure Monitor 指标 事件中心 |
Azure Monitor 日志 | Azure Monitor 日志 (通过 Log Analytics 代理) |
支持的 功能 支持 |
Log Analytics 指标资源管理器 |
指标资源管理器 | VM 见解 Log Analytics Azure 自动化 Microsoft Defender for Cloud |
VM 见解 服务映射 |
Linux 代理
Azure Monitor 代理 | 诊断 扩展 (LAD) |
Telegraf 代理 |
Log Analytics 代理 |
依赖项 代理 |
|
---|---|---|---|---|---|
支持的环境 | Azure | Azure | Azure 其他云 本地 |
Azure 其他云 本地 |
Azure 其他云 本地 |
代理要求 | 无 | 无 | 无 | 无 | 需要 Log Analytics 代理 |
收集的数据 | Syslog 性能 |
Syslog 性能 |
性能 | Syslog 性能 |
过程依赖项 网络连接指标 |
数据发送目标 | Azure Monitor 日志 Azure Monitor 指标 |
Azure 存储 事件中心 |
Azure Monitor 指标 | Azure Monitor 日志 | Azure Monitor 日志 (通过 Log Analytics 代理) |
支持的 功能 支持 |
Log Analytics 指标资源管理器 |
指标资源管理器 | VM 见解 Log Analytics Azure 自动化 Microsoft Defender for Cloud |
VM 见解 服务映射 |
Azure Monitor 代理
我们推出 Azure Monitor 代理的目的是让其取代 Windows 和 Linux 计算机上的 Log Analytics 代理、Azure 诊断扩展和 Telegraf 代理。 它可将数据发送到 Azure Monitor 日志和 Azure Monitor 指标,并使用数据收集规则 (DCR),这些规则提供了伸缩性更强的方法来为每个代理配置数据收集和目标。
使用 Azure Monitor 代理来获得这些权益:
- 从 Azure、其他云或本地的任何计算机中收集来宾日志和指标。
- 成本节省:
- 与 Log Analytics 代理支持的“全有或全无”模式相比,通过数据收集规则从特定计算机收集特定数据类型可以实现精细的目标控制
- 使用 XPath 查询筛选收集的 Windows 事件。 这有助于进一步降低引入成本和存储成本。
- 集中配置不同 VM 集内不同数据集的收集。
- 简化数据收集管理:将数据从 Windows 和 Linux VM 发送到多个 Log Analytics 工作区(即“多宿主”)和/或其他受支持的目标。 此外,使用数据收集规则,可以在 Azure 中大幅提高从加入到部署,再到更新的整个数据收集生命周期内每个操作的方便性、可伸缩性和集中化程度
- 管理依赖的解决方案或服务:与旧版 Log Analytics 代理中的管理包和 Linux 插件相比,Azure Monitor 代理使用一种新的方法来处理扩展性,新方法更加透明和可控。 此外,此管理体验对于 Azure 或本地/其他云中通过 Azure Arc 部署的计算机是相同的,且不会增加成本。
- 安全性和性能 - 在身份验证和安全性方面,它使用托管标识(适用于虚拟机)和 AAD 设备令牌(适用于客户端),与旧版代理使用的证书或工作区密钥相比,其安全性要高得多且能“防黑客攻击”。 与旧版代理相比,此代理在 EPS(每秒事件数,即上传速率)较高的情况下表现更好。
- 使用数据收集规则集中管理数据收集配置,并使用 Azure 资源管理器 (ARM) 模板或策略进行整体管理。
- 将数据发送到 Azure Monitor 日志和 Azure Monitor 指标(预览版)来供 Azure Monitor 分析。
- 使用 Windows 事件筛选或多归属功能处理 Windows 或 Linux 上的日志。
与旧代理相比,Azure Monitor 代理目前具有这些限制。
Log Analytics 代理
警告
Log Analytics 代理已弃用,且在 2024 年 8 月 31 日之后将不再受支持。
旧的 Log Analytics 代理从 Azure 中的虚拟机、其他云提供商和本地计算机的来宾操作系统与工作负载收集监视数据。 它会将数据发送到 Log Analytics 工作区。 Log Analytics 代理是 System Center Operations Manager 使用的代理,你可以通过多宿主代理计算机同时与管理组和 Azure Monitor 通信。 Azure Monitor 和 Azure 中的其他服务中的某些见解也需要此代理。
注意
适用于 Windows 的 Log Analytics 代理通常称作 Microsoft Monitoring Agent (MMA)。 适用于 Linux 的 Log Analytics 代理通常称作 OMS 代理。
如果需要执行以下操作,请使用 Log Analytics 代理:
- 从 Azure 虚拟机或者 Azure 外部托管的混合计算机收集日志和性能数据。
- 将数据发送到 Log Analytics 工作区,以利用 Azure Monitor 日志支持的功能,例如日志查询。
- 使用 Microsoft Defender for Cloud 管理计算机的安全性。
- 使用 Azure 自动化更新管理或 Azure 自动化 State Configuration 提供对 Azure 和非 Azure 计算机的全面管理。
- 使用不同的解决方案监视特定服务或者应用程序。
Log Analytics 代理的限制包括:
- 无法将数据发送到 Azure Monitor 指标、Azure 存储或 Azure 事件中心。
- 难以为单个代理配置唯一的监视定义。
- 难以大规模管理,因为每个虚拟机都有唯一的配置。
Azure 诊断扩展
Azure 诊断扩展从 Azure 虚拟机和其他计算资源的来宾操作系统和工作负载收集监视数据。 它主要将数据收集到 Azure 存储中,但也允许你通过定义数据接收器将数据同时发送到其他目标(例如 Azure Monitor 指标和 Azure 事件中心)。
如果需要执行以下操作,请使用 Azure 诊断扩展:
- 将数据发送到 Azure 存储进行存档,或使用 Azure 存储资源管理器之类的工具对其进行分析。
- 将数据发送到 Azure Monitor 指标,以便使用指标资源管理器对其进行分析,并利用准实时指标警报和自动缩放之类的功能(仅限 Windows)。
- 使用 Azure 事件中心将数据发送到第三方工具。
- 收集启动诊断数据,调查 VM 启动问题。
Azure 诊断扩展的限制包括:
- 只能与 Azure 资源配合使用。
- 将数据发送到 Azure Monitor 日志的功能有限。
Telegraf 代理
InfluxData Telegraf 代理用于将性能数据从 Linux 计算机收集到 Azure Monitor 指标。
如果需要执行以下操作,请使用 Telegraf 代理:
- 将数据发送到 Azure Monitor 指标,以便使用指标资源管理器对其进行分析,并利用准实时指标警报和自动缩放之类的功能(仅限 Linux)。
虚拟机扩展
Azure Monitor 代理仅作为虚拟机扩展提供。 Windows 和 Linux 的 Log Analytics 扩展在 Azure 虚拟机上安装 Log Analytics 代理。 Windows 和 Linux 的 Azure Monitor 依赖项扩展在 Azure 虚拟机上安装 Dependency Agent。 它们是如上所述的代理,但你可以通过虚拟机扩展对它们进行管理。 应尽可能使用扩展来安装和管理代理。
支持的操作系统
下表列出了 Azure Monitor 代理支持的操作系统。 请参阅每个代理的文档,以了解独特的注意事项和安装过程。 请参阅 Telegraf 文档以了解其支持的操作系统。 所有操作系统都假定为 x64。 任何操作系统均不支持 x86。
Windows
操作系统 | Azure Monitor 代理 | Log Analytics 代理 | 依赖关系代理 | 诊断扩展 |
---|---|---|---|---|
Windows Server 2022 | X | |||
Windows Server 2022 Core | X | |||
Windows Server 2019 | X | X | X | X |
Windows Server 2019 Core | X | |||
Windows Server 2016 | X | X | X | X |
Windows Server 2016 Core | X | X | ||
Windows Server 2012 R2 | X | X | X | X |
Windows Server 2012 | X | X | X | X |
Windows Server 2008 R2 SP1 | X | X | X | X |
Windows Server 2008 R2 | X | |||
Windows Server 2008 SP2 | X | |||
Windows 11 客户端 OS | X2 | |||
Windows 10 1803 (RS4) 及更高版本 | X2 | |||
Windows 10 企业版 (包括多会话)和专业版 (仅服务器方案1) |
X | X | X | X |
Windows 8 企业版和专业版 (仅服务器方案1) |
X | X | ||
Windows 7 SP1 (仅服务器方案1) |
X | X | ||
Azure Stack HCI | X |
1 在服务器硬件上运行操作系统,即始终处于连接状态的计算机,始终打开,不运行其他工作负载(PC、Office、浏览器等)2 使用 Azure Monitor 代理客户端安装程序(预览版)
Linux
注意
对于依赖关系代理,请另外检查支持的内核版本。 有关详细信息,请参阅下表中的“依赖关系代理 Linux 内核支持”
操作系统 | Azure Monitor 代理 1 | Log Analytics 代理 1 | 依赖关系代理 | 诊断扩展 2 |
---|---|---|---|---|
AlmaLinux | X | X | ||
Amazon Linux 2017.09 | X | |||
Amazon Linux 2 | X | |||
CentOS Linux 8 | X 3 | X | X | |
CentOS Linux 7 | X | X | X | X |
CentOS Linux 6 | X | |||
CentOS Linux 6.5+ | X | X | X | |
Debian 10 1 | X | |||
Debian 9 | X | X | x | X |
Debian 8 | X | X | ||
Debian 7 | X | |||
OpenSUSE 13.1+ | X | |||
Oracle Linux 8 | X 3 | X | ||
Oracle Linux 7 | X | X | X | |
Oracle Linux 6 | X | |||
Oracle Linux 6.4+ | X | X | ||
Red Hat Enterprise Linux Server 8.1、8.2、8.3、8.4 | X 3 | X | X | |
Red Hat Enterprise Linux Server 8 | X 3 | X | X | |
Red Hat Enterprise Linux Server 7 | X | X | X | X |
Red Hat Enterprise Linux Server 6 | X | X | ||
Red Hat Enterprise Linux Server 6.7+ | X | X | X | |
Rocky Linux | X | X | ||
SUSE Linux Enterprise Server 15.2 | X 3 | |||
SUSE Linux Enterprise Server 15.1 | X 3 | X | ||
SUSE Linux Enterprise Server 15 SP1 | X | X | X | |
SUSE Linux Enterprise Server 15 | X | X | X | |
SUSE Linux Enterprise Server 12 SP5 | X | X | X | X |
SUSE Linux Enterprise Server 12 | X | X | X | X |
Ubuntu 22.04 LTS | X | |||
Ubuntu 20.04 LTS | X | X | X | X 4 |
Ubuntu 18.04 LTS | X | X | X | X |
Ubuntu 16.04 LTS | X | X | X | X |
Ubuntu 14.04 LTS | X | X |
1 需要在计算机安装 Python(2 或 3)。
3 有关在 1.9.0 之前的版本中收集 Syslog 事件的已知问题。
4 并非所有内核版本都受支持,请检查以下支持的内核版本。
Dependency Agent Linux 内核支持
由于 Dependency Agent 在内核级别工作,因此支持也依赖于内核版本。 从 Dependency Agent 版本 9.10.* 开始,代理支持 * 内核。 下表列出了 Dependency Agent 的主要和次要 Linux OS 版本以及支持的内核版本。
分发 | OS 版本 | 内核版本 |
---|---|---|
Red Hat Linux 8 | 8.5 | 4.18.0-348.*el8_5.x86_644.18.0-348.*el8.x86_64 |
8.4 | 4.18.0-305.*el8.x86_64, 4.18.0-305.*el8_4.x86_64 | |
8.3 | 4.18.0-240.*el8_3.x86_64 | |
8.2 | 4.18.0-193.*el8_2.x86_64 | |
8.1 | 4.18.0-147.*el8_1.x86_64 | |
8.0 | 4.18.0-80.*el8.x86_64 4.18.0-80.*el8_0.x86_64 |
|
Red Hat Linux 7 | 7.9 | 3.10.0-1160 |
7.8 | 3.10.0-1136 | |
7.7 | 3.10.0-1062 | |
7.6 | 3.10.0-957 | |
7.5 | 3.10.0-862 | |
7.4 | 3.10.0-693 | |
Red Hat Linux 6 | 6.10 | 2.6.32-754 |
6.9 | 2.6.32-696 | |
CentOS Linux 8 | 8.5 | 4.18.0-348.*el8_5.x86_644.18.0-348.*el8.x86_64 |
8.4 | 4.18.0-305.*el8.x86_64, 4.18.0-305.*el8_4.x86_64 | |
8.3 | 4.18.0-240.*el8_3.x86_64 | |
8.2 | 4.18.0-193.*el8_2.x86_64 | |
8.1 | 4.18.0-147.*el8_1.x86_64 | |
8.0 | 4.18.0-80.*el8.x86_64 4.18.0-80.*el8_0.x86_64 |
|
CentOS Linux 7 | 7.9 | 3.10.0-1160 |
7.8 | 3.10.0-1136 | |
7.7 | 3.10.0-1062 | |
CentOS Linux 6 | 6.10 | 2.6.32-754.3.5 2.6.32-696.30.1 |
6.9 | 2.6.32-696.30.1 2.6.32-696.18.7 |
|
Ubuntu Server | 20.04 | 5.8 5.4* |
18.04 | 5.3.0-1020 5.0(包括 Azure 优化内核) 4.18* 4.15* |
|
16.04.3 | 4.15.* | |
16.04 | 4.13.* 4.11.* 4.10.* 4.8.* 4.4.* |
|
SUSE Linux 12 Enterprise Server | 12 SP5 | 4.12.14-122.*-default, 4.12.14-16.*-azure |
12 SP4 | 4.12.*(包括 Azure 优化内核) | |
12 SP3 | 4.4.* | |
12 SP2 | 4.4.* | |
SUSE Linux 15 Enterprise Server | 15 SP1 | 4.12.14-197.*-default, 4.12.14-8.*-azure |
15 | 4.12.14-150.*-default | |
Debian | 9 | 4.9 |
后续步骤
在以下站点获取每个代理的更多详细信息: