Compartir a través de

Azure 诊断扩展概述

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

重要

从 Azure 诊断扩展迁移

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

为了确保持续支持和访问新功能,应遵循 以下迁移指南,从适用于 Linux(LAD)和 Windows 的 Azure 诊断扩展(WAD)迁移到替代解决方案。 在配置 Azure Monitor 代理以避免重复数据后删除 LAD 或 WAD。

若要检查单个 VM 上安装的扩展,请选择 VM 上的“设置”下的“扩展 + 应用程序”。 若要查看在有权访问的订阅中所有虚拟机上安装的扩展,请在 Azure Resource Graph 中使用以下查询:

resources
| where type contains "extension"
| extend parsedProperties = parse_json(properties)
| extend publisher = tostring(parsedProperties.publisher)
| project-away parsedProperties
| where publisher == "Microsoft.Azure.Diagnostics"
| distinct id

这会生成类似于以下内容的结果:

显示示例 Azure Resource Graph 查询结果的屏幕截图。

迁移指南

若要确保在 2026 年 3 月 31 日之后继续支持并访问新功能,请使用以下基于数据目标的选项进行迁移:

目标 迁移选项
Azure 存储 Blob 如果使用 WAD/LAD 代理将数据发送到存储,以便进行长期存储和/或降低成本,请迁移到 Azure Monitor 代理 ,将数据发送到下面列出的其他目标,以便进行经济高效的日志记录。
Azure 事件中心 如果您使用 WAD/LAD 代理将数据发送到事件中心,以便将其传送到最终目标或第三方产品,请考虑以下通过 Azure Monitor 提供的原生方法:
  • 使用 VM 监视配置事件中心 这是一个用于虚拟机 (VM) 和规模集的本机产品/服务,专门用于向 Azure 发送数据,包括事件中心。 注意:VM 监视不会收集应用程序日志
  • 事件中心 -> Azure 数据资源管理器:如果最终数据目标为 ADX,请迁移到 Azure Monitor 代理 ,以更简单、更可靠的解决方案将数据直接发送到 ADX 和 Fabric eventhouses
  • 事件中心 ->其他目标:请联系 Azure Monitor 团队获取有关此处未列出的其他目标的快速帮助
Azure Monitor 指标 迁移到 Azure Monitor 代理 ,将数据发送到 Azure Monitor 指标数据库。

主要方案

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

Azure 诊断扩展的限制:

  • 它将于 2026 年 3 月 31 日弃用。
  • 只能与 Azure 资源配合使用。
  • 将数据发送到 Azure Monitor 日志的功能受限。

成本

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 核心版
Windows Server 2019
Windows Server 2019 核心版
Windows Server 2016
Windows Server 2016 核心版
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

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

后续步骤