Azure Monitor 代理概述

注意

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

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

优点

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

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

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

整合旧版代理

重要

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

在所有新虚拟机、规模集和本地服务器上部署 Azure Monitor 代理,以收集支持的服务和功能的数据。

如果计算机上已部署了旧版 Log Analytics 代理,我们建议尽快迁移到 Azure Monitor 代理。 2024 年 8 月之后将不再支持旧版 Log Analytics 代理。

Azure Monitor 代理取代了以下 Azure Monitor 旧版监视代理:

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

安装代理并配置数据收集

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

注意

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

使用 Azure Monitor 代理收集数据:

  1. 在资源上安装代理。

    资源类型 安装方法 详细信息
    虚拟机、规模集 虚拟机扩展 使用 Azure 扩展框架安装代理。
    本地服务器(已启用 Azure Arc 的服务器) 虚拟机扩展(安装 Azure Arc 代理后) 使用 Azure 扩展框架(通过先安装 Azure Arc 代理为本地提供)来安装代理。
    Windows 10、11 台式机和工作站 客户端安装程序 使用 Windows MSI 安装程序安装代理。
    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
    文本日志和 Windows IIS 日志 Log Analytics 工作区 - 手动创建的自定义表 使用 Azure Monitor 代理收集文本日志

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

与旧版代理程序比较

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

Windows 代理

类别 区域 Azure Monitor 代理 Log Analytics 代理 诊断扩展 (WAD)
支持的环境
Azure
其他云 (Azure Arc)
本地 (Azure Arc)
Windows 客户端 OS
收集的数据
事件日志
性能
基于文件的日志
IIS 日志
ETW 事件
.NET 应用日志
故障转储
代理诊断日志
数据发送目标
Azure Monitor 日志
Azure Monitor 指标1 ✓(公共预览版) ✓(公共预览版)
Azure 存储 - 仅适用于 Azure VM ✓(预览)
事件中心 - 仅适用于 Azure VM ✓(预览)
支持的服务和功能
Microsoft Sentinel ✓(视图范围
Microsoft Defender for Cloud - 仅使用 MDE 代理
自动化更新管理 - 已移动到 Azure 更新管理器
Azure Stack HCI
更新管理器 - 不再使用代理
SQL 最佳做法评估

Linux 代理

类别 区域 Azure Monitor 代理 Log Analytics 代理 诊断扩展 (LAD) Telegraf 代理
支持的环境
Azure
其他云 (Azure Arc)
本地 (Azure Arc)
收集的数据
Syslog
性能
基于文件的日志
数据发送目标
Azure Monitor 日志
Azure Monitor 指标1 ✓(公共预览版) ✓(公共预览版)
Azure 存储 - 仅适用于 Azure VM ✓(预览)
事件中心 - 仅适用于 Azure VM ✓(预览)
支持的服务和功能
Microsoft Sentinel ✓(视图范围
Microsoft Defender for Cloud - 仅使用 MDE 代理
自动化更新管理 - 已移动到 Azure 更新管理器
更新管理器 - 不再使用代理

1 在 Linux 上,v.1.10.9.0 或更高版本支持使用 Azure Monitor 指标作为唯一目标。

支持的操作系统

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

Windows

操作系统 Azure Monitor 代理 Log Analytics 代理(旧版) 诊断扩展
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 2, 3
Windows 11 企业版
(包括多会话)
Windows 10 1803 (RS4) 及更高版本 2
Windows 10 企业版
(包括多会话)和专业版
(仅限服务器方案)
Windows 8 企业版和专业版
(仅限服务器方案)
1
Windows 7 SP1
(仅限服务器方案)
1
Azure Stack HCI
Windows IoT 企业版

1 在始终连接、始终开启的服务器硬件上运行 OS。
2 使用 Azure Monitor 代理客户端安装程序
3 在基于 Arm64 的计算机上也受支持。

Linux

操作系统 Azure Monitor 代理 1 Log Analytics 代理(旧版)1 诊断扩展 2
AlmaLinux 9 3
AlmaLinux 8 3
Amazon Linux 2017.09
Amazon Linux 2
CentOS Linux 8
CentOS Linux 7 3
CBL-Mariner 2.0 3,4
Debian 11 3
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+ 3 2
Red Hat Enterprise Linux Server 8.0-8.5 2
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 3
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 3
Ubuntu 18.04 LTS 3
Ubuntu 16.04 LTS
Ubuntu 14.04 LTS

1 需要在计算机安装 Python(2 或 3)。
2 需要在计算机上安装 Python 2,并将其别名设置为 python 命令。
3 在基于 Arm64 的计算机上也受支持。
4 需要分配至少 4GB 的磁盘空间(默认情况下未提供)。

注意

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

注意

CBL-Mariner 2.0 的磁盘大小默认约为 1GB,这是为了节省存储 COGS,而其他 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 Log Analytics 代理(旧版)1 诊断扩展 2
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 代理概述

当 Log Analytics 代理中的数据收集停止时,我如何收到通知?

当数据收集停止时,可以使用新建日志搜索警报中所述的步骤收到通知。 将以下设置用于警报规则:

  • 定义警报条件:将 Log Analytics 工作区指定为资源目标。
  • 警报条件
    • 信号名称自定义日志搜索
    • 搜索查询Heartbeat | summarize LastCall = max(TimeGenerated) by Computer | where LastCall < ago(15m)
    • 警报逻辑:“依据”是“结果数”,“条件”是“大于”,“阈值”是 0
    • 评估依据:“时间(以分钟为单位)”是 30,“频率(以分钟为单位)”是 10
  • 定义警报详细信息
    • 名称数据收集已停止
    • 严重性警告

指定现有或新的操作组,以便当日志搜索警报匹配条件时,如果检测信号丢失超过 15 分钟,你将收到通知。

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

查看预览版当前提供的 Azure Monitor 代理扩展列表。 这些扩展是现在可以使用新的 Azure Monitor 代理提供的相同解决方案和服务。

你可能会看到为解决方案或服务安装了更多扩展,以收集额外的数据,或者根据解决方案或服务的需要执行转换或处理操作。 然后使用 Azure Monitor 代理将最终数据路由到 Azure Monitor。

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

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

Azure Monitor 代理是否与 Log Analytics 代理存在奇偶一致性?

与 Log Analytics 代理进行比较时,请查看 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。

后续步骤