你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 诊断扩展概述
Azure 诊断扩展是 Azure Monitor 中的代理,可从 Azure 计算资源(包括虚拟机)的来宾操作系统中收集监视数据。 本文概述了 Azure 诊断扩展、它支持的特定功能以及安装和配置选项。
注意
Azure 诊断扩展是可用于从计算资源的来宾操作系统收集监视数据的代理之一。 有关不同代理的说明以及选择符合需求的代理的指南,请参阅 Azure Monitor 代理概述。
主要方案
如果需要执行以下操作,请使用 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 日志中。
- 停用的解决方案、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 的诊断扩展的信息,请参阅以下文章:
其他文档
有关详细信息,请参阅以下文章。
Azure 云服务(经典)Web 和辅助角色
- Azure 云服务监视简介
- 在 Azure 云服务中启用 Azure 诊断
- 适用于 Azure 云服务的 Application Insights
- 使用 Azure 诊断跟踪 Azure 云服务应用程序的流
Azure Service Fabric
后续步骤
- 了解如何在 Azure 诊断中使用性能计数器。
- 如果在开始诊断时或者在 Azure 存储表中查找数据时遇到问题,请参阅 Azure 诊断故障排除。