你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Monitor 代理概述

Azure Monitor 代理 (AMA) 从 Azure 和混合虚拟机的来宾操作系统收集监视数据,并将其传送到 Azure Monitor,供不同的功能、见解和其他服务(如 Microsoft SentinelMicrosoft Defender for Cloud)使用。 Azure Monitor 代理取代了 Azure Monitor 的旧版监视代理 (MMA/OMS)。 本文概述 Azure Monitor 代理的功能和支持的用例。

下面是一段简短的 Azure Monitor 代理介绍视频,其中包括有关如何从 Azure 门户设置代理的快速演示:ITOps Talk:Azure Monitor 代理

优点

使用 Azure Monitor 代理可以立即获得以下好处:

Azure Monitor 代理的代码片段好处概览。下面更详细地介绍了这一点。

  • 通过使用数据收集规则节省成本
    • 与旧代理的“全部或全无”方法相比,支持对一台计算机或一部分计算机进行有针对性的精细数据收集。
    • 允许筛选规则和数据转换,以减少上传的总数据量,从而显著降低引入和存储成本。
  • 安全性和性能
    • 通过托管标识和 Microsoft Entra 令牌(用于客户端)增强了安全性。
    • 更高的事件吞吐量,比旧版 Log Analytics (MMA/OMS) 代理高 25%。
  • 更简单的管理,包括高效的故障排除:
    • 支持将数据上传到多个目标(多个 Log Analytics 工作区,即 Windows 和 Linux 上的多宿主),包括跨区域和跨租户数据收集(使用 Azure LightHouse)。
    • 在整个数据收集生命周期(从载入到部署再到随时间推移而进行的更新和更改),针对企业规模“在云中”实现集中式代理配置。
    • 配置中的任何更改都会自动推出到所有代理,而无需客户端部署。
    • 提高对更多功能和服务的透明度和控制,例如 Microsoft Sentinel、Defender for Cloud 和 VM Insights。
  • 单个代理,跨支持的服务器和客户端设备提供所有数据收集需求。 尽管 Azure Monitor 代理当前结合了 Log Analytics 代理,但单一代理才是目标。

整合旧版代理

Azure Monitor 代理取代了旧版代理程序,旧版代理程序将数据发送到 Log Analytics 工作区,并支持监视解决方案。

Log Analytics 代理“已弃用”,且在 2024 年 8 月 31 日之后将不再受支持。 2024 年 1 月 1 日之后联机的任何新数据中心都不支持 Log Analytics 代理。 如果使用 Log Analytics 代理将数据引入 Azure Monitor,请在此日期之前迁移到新的 Azure Monitor 代理

安装代理并配置数据收集

Azure Monitor 代理使用数据收集规则,你通过这些规则来定义需要每个代理收集的数据。 数据收集规则允许大规模管理数据收集设置,并为计算机的子集定义有作用域的唯一配置。 可以定义一个规则,将数据从多个计算机发送到跨区域和租户的多个目标。

注意

若要跨租户发送数据,必须先启用 Azure Lighthouse。 不支持克隆安装了 Azure Monitor 代理的计算机。 适合这些情况的最佳做法是使用 Azure Policy 或基础结构即代码工具大规模部署 AMA。

使用 Azure Monitor 代理收集数据:

  1. 在资源上安装代理。

    资源类型 安装方法 详细信息
    虚拟机和虚拟机规模集 虚拟机扩展 使用 Azure 扩展框架安装代理。
    本地已启用 Arc 的服务器 虚拟机扩展(安装 Azure Arc 代理后) 使用 Azure 扩展框架(通过先安装 Azure Arc 代理为本地提供)来安装代理。
    Windows 10、11 客户端操作系统 客户端安装程序 使用 Windows MSI 安装程序安装代理。 安装程序适用于笔记本电脑,但代理尚未针对电池、网络消耗进行优化。
  2. 定义数据收集规则并将资源与规则关联。

    下表列出了当前可以使用 Azure Monitor 代理收集的数据类型,以及可以发送该数据的位置。

    数据源 Destinations 说明
    性能
    • Azure Monitor 指标(公共预览版):
      • 对于 Windows - 虚拟机来宾命名空间
      • 对于 Linux1 - azure.vm.linux.guestmetrics 命名空间
    • Log Analytics 工作区 - 性能
    度量操作系统和工作负荷的各方面性能的数值
    Windows 事件日志(包括 sysmon 事件) Log Analytics 工作区 - 事件 发送到 Windows 事件日志记录系统的信息
    Syslog Log Analytics 工作区 - Syslog2 发送到 Linux 事件日志记录系统的信息。 使用 Azure Monitor 代理收集 Syslog
    文本和 JSON 日志 Log Analytics 工作区 - 手动创建的自定义表 使用 Azure Monitor 代理收集文本日志
    Windows IIS 日志 Windows 计算机的本地磁盘中的 Internet Information Services (IIS) 日志。 [使用 Azure Monitor 代理收集 IIS 日志]。(data-collection-iis.md)
    Windows 防火墙日志 Windows 计算机的本地磁盘中的防火墙日志

    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、Juniper Networks、Corelight Zeek、CipherTrust、NXLog、McAfee 和通用事件格式 (CEF)。

    注意

    在基于 rsyslog 的系统上,Azure Monitor Linux 代理将转发规则添加到 rsyslog 配置中定义的默认规则集。 如果使用了多个规则集,则绑定到非默认规则集的输入不会转发到 Azure Monitor 代理。 有关 rsyslog 中的多个规则集的详细信息,请参阅官方文档

    注意

    Azure Monitor 代理还支持 Azure 服务 SQL 最佳做法评估,该评估目前已正式发布。 有关详细信息,请参阅使用 Azure Monitor 代理配置最佳做法评估

支持的服务和功能

有关使用 Azure Monitor 代理进行数据收集的功能和服务的列表,请参阅从 Log Analytics 代理迁移到 Azure Monitor 代理

支持的区域

Azure Monitor 代理在所有公共区域、Azure 政府云和中国云中适用于正式发布的功能。 目前实体隔离云中尚不支持此代理。 有关详细信息,请参阅可用产品(按区域)

成本

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

与旧版代理程序比较

下表提供了 Azure Monitor 代理与适用于 Windows 和 Linux 的旧版 Azure Monitor 遥测代理的比较。

Windows 代理

类别 区域 Azure Monitor 代理 旧版代理程序
支持的环境
Azure
其他云 (Azure Arc)
本地 (Azure Arc)
Windows 客户端 OS
收集的数据
事件日志
性能
基于文件的日志
IIS 日志
数据发送目标
Azure Monitor 日志
支持的服务和功能
Microsoft Sentinel ✓(视图范围
VM Insights
Microsoft Defender for Cloud - 仅使用 MDE 代理
自动化更新管理 - 已移动到 Azure 更新管理器
Azure Stack HCI
更新管理器 - 不再使用代理
更改跟踪
SQL 最佳做法评估

Linux 代理

类别 区域 Azure Monitor 代理 旧版代理程序
支持的环境
Azure
其他云 (Azure Arc)
本地 (Azure Arc)
收集的数据
Syslog
性能
基于文件的日志
数据发送目标
Azure Monitor 日志
支持的服务和功能
Microsoft Sentinel ✓(视图范围
VM Insights
Microsoft Defender for Cloud - 仅使用 MDE 代理
自动化更新管理 - 已移动到 Azure 更新管理器
更新管理器 - 不再使用代理
更改跟踪

受支持的操作系统

下表列出了 Azure Monitor 代理和旧版代理程序支持的操作系统。 所有操作系统都假定为 x64。 任何操作系统均不支持 x86。 查看 Azure Arc Connected Machine 代理支持的操作系统,这是在 Azure 外部(即本地)或其他云中托管的物理服务器和虚拟机上运行 Azure Monitor 代理的先决条件。

Windows

操作系统 Azure Monitor 代理 旧版代理程序
Windows Server 2022
Windows Server 2022 Core
Windows Server 2019
Windows Server 2019 Core
Windows Server 2016
Windows Server 2016 Core
Windows Server 2012 R2
Windows Server 2012
Windows 11 Client 和 Pro 1, 2
Windows 11 企业版
(包括多会话)
Windows 10 1803 (RS4) 及更高版本 1
Windows 10 企业版
(包括多会话)和专业版
(仅限服务器方案)
Azure Stack HCI
Windows IoT 企业版

1 使用 Azure Monitor 代理客户端安装程序
2 在基于 Arm64 的计算机上也受支持。

Linux

注意

本文引用了 CentOS,这是一个接近生命周期结束 (EOL) 状态的 Linux 发行版。 请相应地考虑你的使用和规划。 有关详细信息,请参阅 CentOS 生命周期结束指南

操作系统 Azure Monitor 代理 1 旧版代理程序 1
AlmaLinux 9 2
AlmaLinux 8 2
Amazon Linux 2017.09
Amazon Linux 2
Azure Linux
CentOS Linux 8
CentOS Linux 7 2
CBL-Mariner 2.0 2、3
Debian 11 2
Debian 10
Debian 9
Debian 8
OpenSUSE 15
Oracle Linux 9
Oracle Linux 8
Oracle Linux 7
Oracle Linux 6.4+
Red Hat Enterprise Linux Server 9+
Red Hat Enterprise Linux Server 8.6+ 2
Red Hat Enterprise Linux Server 8.0-8.5
Red Hat Enterprise Linux Server 7
Red Hat Enterprise Linux Server 6.7+
Rocky Linux 9
Rocky Linux 8
SUSE Linux Enterprise Server 15 SP4 2
SUSE Linux Enterprise Server 15 SP3
SUSE Linux Enterprise Server 15 SP2
SUSE Linux Enterprise Server 15 SP1
SUSE Linux Enterprise Server 15
SUSE Linux Enterprise Server 12
Ubuntu 22.04 LTS
Ubuntu 20.04 LTS 2
Ubuntu 18.04 LTS 2
Ubuntu 16.04 LTS
Ubuntu 14.04 LTS

1 需要在计算机安装 Python(2 或 3)。
2 在基于 Arm64 的计算机上也受支持。
3 需要分配至少 4GB 的磁盘空间(默认情况下未提供)。

注意

运行上述发行版的高度自定义或精简版的计算机和设备,以及不允许用户自定义的托管解决方案不受支持。 Azure Monitor 和旧版代理依赖于经常会从此类系统中删除的各种包和其他基线功能,并且其安装可能需要进行一些环境修改,而设备供应商可能不允许这种修改。 例如,不支持 GitHub Enterprise Server,因为它是一个高度自定义的操作系统,并且有许可证级别的文档规定不允许修改它。

注意

CBL-Mariner 2.0 的磁盘大小默认为 1GB 左右以节省存储,而其他 Azure VM 则为 30GB 左右。 但是,Azure Monitor 代理至少需要 4GB 的磁盘大小,才能成功安装和运行。 有关在安装代理之前如何增加磁盘大小的详细信息和说明,请查看 CBL-Mariner 的文档

Linux 强化标准

现在,适用于 Linux 的 Azure 监视代理正式支持面向 Linux 操作系统和发行版的各种强化标准。 代理的每个版本已根据支持的强化标准进行测试和认证。 我们针对 Azure 市场上公开提供和由 CIS 发布的映像进行测试,并且仅支持适用于这些映像的设置和强化。 如果对自己的黄金映像应用其他自定义项,并且 CIS 映像未涵盖这些设置,则会将其视为不支持的方案。

只有适用于 Linux 的 Azure 监视代理才会支持这些强化标准。 Log Analytics 代理(旧版)或诊断扩展中不存在支持此功能的计划

目前支持的强化标准:

  • SELinux
  • CIS Lvl 1 和 21
  • STIG
  • FIPS
  • FedRamp
操作系统 Azure Monitor 代理 1 旧版代理程序1
CentOS Linux 7
Debian 10
Ubuntu 18
Ubuntu 20
Red Hat Enterprise Linux Server 7
Red Hat Enterprise Linux Server 8

1 仅支持上述发行版和版本

常见问题解答

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

Azure Monitor 需要代理吗?

只在从虚拟机中的操作系统和工作负载收集数据时,才需要代理。 虚拟机可位于 Azure、其他云环境或本地。 请参阅 Azure Monitor 代理概述

Azure Monitor 代理是否支持各种 Log Analytics 解决方案和 Azure 服务(如 Microsoft Defender for Cloud 和 Microsoft Sentinel)的数据收集?

有关使用 Azure Monitor 代理进行数据收集的功能和服务的列表,请参阅从 Log Analytics 代理迁移到 Azure Monitor 代理

某些服务可能会安装其他扩展来收集更多数据或者转换或处理数据,然后使用 Azure Monitor 代理将最终数据路由到 Azure Monitor。

下图说明了新的扩展性体系结构。

显示扩展体系结构的示意图。

Azure Monitor 代理是否支持非 Azure 环境(例如其他云或本地环境)?

现在,在安装 Azure Arc 代理后,服务器支持本地计算机和连接到其他云的计算机。 若要运行 Azure Monitor 代理和数据收集规则,无需额外付费或消耗额外的资源即可达到 Azure Arc 要求。 Azure Arc 代理仅用作安装机制。 如果你不想使用付费管理功能,则无需启用这些功能。

Azure Monitor 代理是否支持 Linux 或 AUOMS 上的审核日志?

是的,但你需要加入到 Defender for Cloud(以前称为 Azure 安全中心)。 它作为 Azure Monitor 代理扩展提供,可通过 AUOMS 收集 Linux 审核日志。

为什么需要安装 Azure Arc Connected Machine Agent 才能使用 Azure Monitor 代理?

Azure Monitor 代理通过托管标识向工作区进行身份验证,该标识是在安装 Connected Machine Agent 时创建的。 托管标识是 Azure 中更安全、更易管理的身份验证解决方案。 而旧版 Log Analytics 代理使用工作区 ID 和密钥进行身份验证,因此不需要 Azure Arc。

后续步骤