Azure 诊断扩展概述
Azure 诊断扩展是 Azure Monitor 中的代理,可从 Azure 计算资源(包括虚拟机)的来宾操作系统中收集监视数据。 本文概述了 Azure 诊断扩展、它支持的特定功能以及安装和配置选项。
注意
Azure 诊断扩展将于 2026 年 3 月 31 日弃用。 在此日期之后,Azure 将不再为 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 指标,以便使用指标资源管理器对其进行分析,并利用准实时指标警报和自动缩放之类的功能(仅限 Windows)。
- 使用 Azure 事件中心将数据发送到第三方工具。
- 收集启动诊断数据,调查 VM 启动问题。
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 日志中。
- 停用的解决方案和其他服务(例如 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 事件中心在 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 中的虚拟机扩展实现,因此,它支持使用 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 云服务监视简介
- 在 Azure 云服务中启用 Azure 诊断
- 适用于 Azure 云服务的 Application Insights
- 使用 Azure 诊断跟踪 Azure 云服务应用程序的流
Azure Service Fabric
后续步骤
- 了解如何在 Azure 诊断中使用性能计数器。
- 如果在开始诊断时或者在 Azure 存储表中查找数据时遇到问题,请参阅 Azure 诊断故障排除。