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

Azure 诊断扩展概述

Azure 诊断扩展是 Azure Monitor 中的代理,可从 Azure 计算资源(包括虚拟机)的来宾操作系统中收集监视数据。 本文概述了 Azure 诊断扩展、它支持的特定功能以及安装和配置选项。

注意

Azure 诊断扩展将于 2026 年 3 月 31 日弃用。 在此日期之后,Microsoft 将不再为 Azure 诊断扩展提供支持。

从 Linux 版 Azure 诊断扩展 (LAD) 和 Windows (WAD) 迁移到 Azure Monitor 代理

  • Azure Monitor 代理可以收集数据并将其发送到多个目标,包括 Log Analytics 工作区、Azure 事件中心和 Azure 存储。
  • 若要检查 VM 上安装了哪些扩展,请选择 VM 上“设置”下的“扩展 + 应用程序”
  • 在设置 Azure Monitor 代理以将相同的数据收集到事件中心或 Azure 存储后,请删除 LAD 或 WAD,以避免数据重复。
  • 作为存储的替代方法,强烈建议在 Log Analytics 工作区中设置一个使用辅助计划的表,以实现经济高效的日志记录。

主要方案

如果需要执行以下操作,请使用 Azure 诊断扩展:

Azure 诊断扩展的限制:

  • 只能与 Azure 资源配合使用。
  • 将数据发送到 Azure Monitor 日志的功能受限。

与 Log Analytics 代理比较

Azure Monitor 中的 Log Analytics 代理还可以用来从虚拟机的来宾操作系统收集监视数据。 可以根据自己的需求选择使用任一代理或两者。 请参阅 Azure Monitor 代理概述来比较各个 Azure Monitor 代理。

需要考虑的主要区别是:

  • Azure 诊断扩展只能在 Azure 中的虚拟机中使用。 Log Analytics 代理可在 Azure、其他云和本地中的虚拟机中使用。
  • Azure 诊断扩展将数据发送到 Azure 存储、Azure Monitor 指标(仅限 Windows)和 Azure 事件中心。 Log Analytics 代理将数据收集到 Azure Monitor 日志中。
  • 停用的解决方案VM 见解和其他服务(例如 Microsoft Defender for Cloud)需要 Log Analytics 代理。

成本

Azure 诊断扩展不收取任何费用,但引入的数据可能产生费用。 检查与要将数据收集到其中的目标相对应的 Azure Monitor 定价

收集的数据

下表列出了 Windows 和 Linux 诊断扩展可以收集的数据。

Windows 诊断扩展 (WAD)

数据源 说明
Windows 事件日志 Windows 事件日志中的事件。
性能计数器 数值,用于度量操作系统和工作负载的不同方面的性能。
IIS 日志 在来宾操作系统上运行的 IIS 网站的使用情况信息。
应用程序日志 应用程序写入的跟踪消息。
.NET EventSource 日志 使用 .NET EventSource 类的代码编写事件。
基于清单的 ETW 日志 由任何进程生成的 Windows 事件的事件跟踪。
故障转储(日志) 有关应用程序崩溃时的进程状态的信息。
基于文件的日志 应用程序或服务创建的日志。
代理诊断日志 有关 Azure 诊断自身的信息。

Linux 诊断扩展 (LAD)

数据源 说明
Syslog 发送到 Linux 事件日志记录系统的事件
性能计数器 度量操作系统和工作负荷的各方面性能的数值
日志文件 发送到基于文件的日志的条目

数据目标

适用于 Windows 和 Linux 的 Azure 诊断扩展始终将数据收集到 Azure 存储帐户中。 请参阅安装并配置适用于 Windows 的 Azure 诊断扩展使用适用于 Linux 的 Azure 诊断扩展监视指标和日志,获取收集此数据的特定表和 Blob 的列表。

配置一个或多个数据接收器,以便将数据发送到其他目标。 以下部分列出了适用于 Windows 和 Linux 诊断扩展的接收器。

Windows 诊断扩展 (WAD)

目标 说明
Azure Monitor 指标 将性能数据收集到 Azure Monitor 指标。 请参阅将来宾 OS 指标发送到 Azure Monitor 指标数据库
事件中心 使用 Azure 事件中心在 Azure 外部发送数据。 请参阅将 Azure 诊断数据流式传输到 Azure 事件中心
Azure 存储 Blob 除了表以外,还会将数据写入 Azure 存储中的 blob。
Application Insights 将数据从 VM 中运行的应用程序收集到可以与其他应用程序监视功能集成的 Application Insights。 请参阅将诊断数据发送到 Application Insights

尽管 Log Analytics 代理通常用于此功能,但你也可以将存储中的 WAD 数据收集到 Log Analytics 工作区中,以使用 Azure Monitor 日志对其进行分析。 它可以将数据直接发送到 Log Analytics 工作区,并支持提供其他功能的解决方案和见解。 请参阅从 Azure 存储收集 Azure 诊断日志

Linux 诊断扩展 (LAD)

LAD 将数据写入 Azure 存储中的表。 它支持下表中的接收器。

目标 说明
事件中心 使用 Azure 事件中心在 Azure 外部发送数据。
Azure 存储 Blob 除了表以外,还会将数据写入 Azure 存储中的 blob。
Azure Monitor 指标 除了 LAD 外,还安装 Telegraf 代理。 请参阅使用 InfluxData Telegraf 代理收集 Linux VM 的自定义指标

安装和配置

诊断扩展作为 Azure 中的虚拟机扩展实现,因此,它支持使用 Azure 资源管理器模板、PowerShell 和 Azure CLI 的相同安装选项。 要详细了解如何安装和维护虚拟机扩展,请参阅适用于 Windows 的虚拟机扩展和功能适用于 Linux 的虚拟机扩展和功能

还可以在 Azure 门户中虚拟机菜单的“监视”部分的“诊断设置”下安装并配置 Windows 和 Linux 诊断扩展。

有关安装并配置适用于 Windows 和 Linux 的诊断扩展的信息,请参阅以下文章:

受支持的操作系统

下表列出了 WAD 和 LAD 支持的操作系统。 请参阅每个代理的文档,以了解独特的注意事项和安装过程。 请参阅 Telegraf 文档以了解其支持的操作系统。 所有操作系统都假定为 x64。 任何操作系统均不支持 x86。

Windows

操作系统 支持
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 客户端和专业版
Windows 11 企业版(包括多会话)
Windows 10 1803 (RS4) 及更高版本
Windows 10 Enterprise(包括多会话)和 Pro(仅限 Server 方案)

Linux

操作系统 支持
CentOS Linux 9
CentOS Linux 8
CentOS Linux 7
Debian 12
Debian 11
Debian 10
Debian 9
Debian 8
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*
Red Hat Enterprise Linux Server 7
SUSE Linux Enterprise Server 15
SUSE Linux Enterprise Server 12
Ubuntu 22.04 LTS
Ubuntu 20.04 LTS
Ubuntu 18.04 LTS
Ubuntu 16.04 LTS
Ubuntu 14.04 LTS

*需要在计算机上安装 Python 2,并将其别名设置为 python 命令。

其他文档

有关详细信息,请参阅以下文章。

Azure 云服务(经典)Web 和辅助角色

Azure Service Fabric

在本地计算机开发安装过程中监视和诊断服务

后续步骤