你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在 Azure 存储中存储和查看诊断数据
重要
新客户的云服务(经典版)现已弃用,并将于 2024 年 8 月 31 日对所有客户停用。 新部署应使用基于 Azure 资源管理器的新型部署模型 Azure 云服务(外延支持)。
诊断数据不会永久存储,除非将其传输到 Microsoft Azure 存储模拟器或 Azure 存储中。 一旦位于存储空间中,诊断数据就可以使用提供的工具之一进行查看。
指定存储帐户
指定要在 ServiceConfiguration.cscfg 文件中使用的存储帐户。 帐户信息被定义为配置设置中的连接字符串。 下例显示在 Visual Studio 中针对新的云服务项目创建的默认连接字符串:
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
</ConfigurationSettings>
可以更改此连接字符串,为 Azure 存储帐户提供帐户信息。
根据所要收集的诊断数据的类型,Azure 诊断使用 Blob 服务或表服务。 下表显示保留的数据源及其格式。
| 数据源 | 存储格式 |
|---|---|
| Azure 日志 | 表 |
| IIS 7.0 日志 | Blob |
| Azure 诊断基础结构日志 | 表 |
| 失败请求跟踪日志 | Blob |
| Windows 事件日志 | 表 |
| 性能计数器 | 表 |
| 故障转储 | Blob |
| 自定义错误日志 | Blob |
传输诊断数据
对于 SDK 2.5 及更高版本,可以通过配置文件来请求传输诊断数据。 可以根据配置中的指定,按计划的时间间隔来传输诊断数据。
对于 SDK 2.4 及更低版本,可以请求通过配置文件来传输诊断数据,也可以通过编程方式来进行。 编程方式还可以进行按需传输。
重要
将诊断数据传输到 Azure 存储帐户时会产生费用,具体取决于诊断数据所使用的存储资源。
存储诊断数据
日志数据存储在使用以下名称的 Blob 或表存储中:
表
- WadLogsTable - 使用跟踪侦听器以代码编写的日志。
- WADDiagnosticInfrastructureLogsTable - 诊断监视器和配置更改。
- WADDirectoriesTable - 诊断监视器监视的目录。 这包括 IIS 日志、IIS 失败请求日志和自定义目录。 在“容器”字段中指定 blob 日志文件的位置,在 RelativePath 字段中指定 blob 的名称。 AbsolutePath 字段指示文件的位置和名称,就像文件是存在于 Azure 虚拟机上一样。
- WADPerformanceCountersTable - 性能计数器。
- WADWindowsEventLogsTable - Windows 事件日志。
Blob
- wad-control-container -(仅适用于 SDK 2.4 及更低版本)包含用于控制 Azure 诊断的 XML 配置文件。
- wad-iis-failedreqlogfiles – 包含 IIS 失败请求日志中的信息。
- wad-iis-logfiles – 包含有关 IIS 日志的信息。
- "custom" - 一个自定义容器,其所基于的配置目录受诊断监视器监视。 此 blob 容器的名称会在 WADDirectoriesTable 中指定。
用于查看诊断数据的工具
将数据传输到存储空间以后,可以使用多个工具来查看这些数据。 例如:
- Visual Studio 中的服务器资源管理器 - 如果安装了 Azure Tools for Microsoft Visual Studio,则可以在服务器资源管理器中使用“Azure 存储”节点从 Azure 存储帐户查看只读 Blob 和表数据。 既可以从本地存储模拟器帐户显示数据,也可以从为 Azure 创建的存储帐户显示数据。 有关详细信息,请参阅使用服务器资源管理器浏览和管理存储资源。
- Microsoft Azure 存储资源管理器是一款独立应用,可用于在 Windows、OSX 和 Linux 上轻松处理 Azure 存储数据。
- Azure Management Studio 包括 Azure 诊断管理器,该诊断管理器用于查看、下载和管理在 Azure 上运行的应用程序收集的诊断数据。