从 Azure 资源收集和分析资源日志

资源日志提供有关 Azure 资源详细操作的见解,有助于监控其运行状况和可用性。 Azure 资源会自动生成资源日志,但你必须创建诊断设置来收集它们。 本教程将指导你完成创建诊断设置的过程,以将资源日志发送到 Log Analytics 工作区,从而可以使用日志查询对这些日志进行分析。

在本教程中,你将了解如何执行以下操作:

  • 在 Azure Monitor 中创建 Log Analytics 工作区。
  • 创建诊断设置以收集资源日志。
  • 创建简单的日志查询以分析日志。

先决条件

若要完成本教程中的步骤,你需要一个要监视的 Azure 资源。

你可以使用 Azure 订阅中支持诊断设置的任何资源。 要确定资源是否支持诊断设置,请在 Azure 门户中前往其菜单,并验证菜单的“监视”部分是否有“诊断设置”选项 。

注意

此过程不适用于 Azure 虚拟机。 其“诊断设置”菜单用于配置诊断扩展。

创建 Log Analytics 工作区

Azure Monitor 将日志数据存储在 Log Analytics 工作区中。 如果已在订阅中创建工作区,可以使用该工作区。 还可以选择在每个 Azure 订阅中使用默认工作区。

如果要创建新的 Log Analytics 工作区,请使用以下过程。 如果要使用现有工作区,请转到下一部分。

在 Azure 门户中的“所有服务”下,选择“Log Analytics 工作区”。

Screenshot that shows selecting Log Analytics workspaces in the Azure portal.

选择“创建”以创建新工作区。

Screenshot that shows the Create button.

在“基本信息”选项卡上,为工作区选择订阅、资源组和区域。 这些值不需要与被监视的资源相同。 提供一个名称,该名称在所有 Azure Monitor 订阅中必须是全局唯一的。

 Screenshot that shows the workspace Basics tab.

选择“查看 + 创建”以创建工作区。

创建诊断设置

诊断设置定义将特定资源的资源日志发送到的位置。 单个诊断设置可具有多个目标,但在本教程中,只使用 Log Analytics 工作区。

在资源设置菜单的“监控”部分,选择“诊断设置” 。 然后选择“添加诊断设置”。

注意

某些资源可能需要其他选择。 例如,存储帐户会要求你在显示“添加诊断设置”选项之前选择资源。 可能还会注意到某些资源的“预览”标签,因为其诊断设置当前处于预览状态。

Screenshot that shows Diagnostic settings.

每个诊断设置都有三个基本组成部分:

  • 名称:名称影响不大,应提供描述性信息。
  • 类别:要发送到每个目标的日志类别。 每种 Azure 服务的类别集各不相同。
  • 目标:要将日志发送到的一个或多个目标。 所有 Azure 服务共享同一组可能的目标。 每个诊断设置都可以定义一个或多个目标,但不能定义特定类型的多个目标。

输入诊断设置的名称,然后选择要收集的类别。 请参阅每个服务的文档以了解其可用类别的定义。 AllMetrics 将资源的 Azure Monitor 指标中可用的相同平台指标发送到工作区。 因此,可以使用日志查询以及其他监视数据来分析此数据。 选择“发送到 Log Analytics 工作区”,然后选择所创建的工作区 。

Screenshot that shows Diagnostic setting details.

选择“保存”以保存诊断设置。

使用日志查询来检索日志

使用以 Kusto 查询语言 (KQL) 编写的日志查询从 Log Analytics 工作区检索数据。 许多 Azure 服务都有一组预先创建的查询,因此你无需了解 KQL 即可开始使用。

从资源的菜单中选择“日志”。 Log Analytics 随即打开,其中包含“查询”窗口,该窗口中包括针对资源类型预生成的查询。

注意

如果“查询”窗口未打开,请选择右上角的“查询”。

Screenshot that shows sample queries using resource logs.

浏览可用的查询。 确定要运行的查询并选择“运行”。 该查询将添加到查询窗口,然后会返回结果。

Screenshot that shows the results of a sample log query.