从 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 工作区”。
选择“创建”以创建新工作区。
在“基本信息”选项卡上,为工作区选择订阅、资源组和区域。 这些值不需要与被监视的资源相同。 提供一个名称,该名称在所有 Azure Monitor 订阅中必须是全局唯一的。
选择“查看 + 创建”以创建工作区。
创建诊断设置
诊断设置定义将特定资源的资源日志发送到的位置。 单个诊断设置可具有多个目标,但在本教程中,只使用 Log Analytics 工作区。
在资源设置菜单的“监控”部分,选择“诊断设置” 。 然后选择“添加诊断设置”。
注意
某些资源可能需要其他选择。 例如,存储帐户会要求你在显示“添加诊断设置”选项之前选择资源。 可能还会注意到某些资源的“预览”标签,因为其诊断设置当前处于预览状态。
每个诊断设置都有三个基本组成部分:
- 名称:名称影响不大,应提供描述性信息。
- 类别:要发送到每个目标的日志类别。 每种 Azure 服务的类别集各不相同。
- 目标:要将日志发送到的一个或多个目标。 所有 Azure 服务共享同一组可能的目标。 每个诊断设置都可以定义一个或多个目标,但不能定义特定类型的多个目标。
输入诊断设置的名称,然后选择要收集的类别。 请参阅每个服务的文档以了解其可用类别的定义。 AllMetrics 将资源的 Azure Monitor 指标中可用的相同平台指标发送到工作区。 因此,可以使用日志查询以及其他监视数据来分析此数据。 选择“发送到 Log Analytics 工作区”,然后选择所创建的工作区 。
选择“保存”以保存诊断设置。
使用日志查询来检索日志
使用以 Kusto 查询语言 (KQL) 编写的日志查询从 Log Analytics 工作区检索数据。 许多 Azure 服务都有一组预先创建的查询,因此你无需了解 KQL 即可开始使用。
从资源的菜单中选择“日志”。 Log Analytics 随即打开,其中包含“查询”窗口,该窗口中包括针对资源类型预生成的查询。
注意
如果“查询”窗口未打开,请选择右上角的“查询”。
浏览可用的查询。 确定要运行的查询并选择“运行”。 该查询将添加到查询窗口,然后会返回结果。