Log Analytics 教程

Log Analytics 是 Azure 门户中的工具,用于根据 Azure Monitor 日志收集的数据编辑和运行日志查询,并交互式分析其结果。 你可以使用 Log Analytics 查询来检索符合特定条件的记录,确定趋势,分析模式,并提供对数据的各种见解。

本教程将介绍 Log Analytics 界面,引导你开始使用一些基本查询,并演示如何处理结果。 将了解如何执行以下操作:

  • 了解日志数据的架构。
  • 编写和运行简单的查询,以及修改查询时间范围。
  • 对查询结果进行筛选、排序和分组。
  • 查看、修改和共享查询结果的视觉对象。
  • 加载、导出和复制查询与结果。

重要

在本教程中,你将使用 Log Analytics 功能生成一个查询,并使用另一个示例查询。 准备了解查询语法并开始直接编辑查询本身时,请阅读 Kusto 查询语言教程。 该教程演示了可在 Log Analytics 中编辑和运行的示例查询。 它使用了本教程将介绍的多项功能。

先决条件

本教程使用 Log Analytics 演示环境,其中包含大量支持示例查询的示例数据。 你也可以使用自己的 Azure 订阅,但相同的表中可能没有数据。

打开 Log Analytics

从订阅的 Azure Monitor 菜单中选择“日志”。 此步骤将初始范围设置为 Log Analytics 工作区,以便查询从该工作区中的所有数据中进行选择。 如果从 Azure 资源的菜单中选择“日志”,则范围将设置为仅来自该资源的记录。 有关范围的详细信息,请参阅日志查询范围

可在屏幕左上角查看范围。 如果使用自己的环境,则会看到一个用于选择其他范围的选项。 但在演示环境中不提供此选项。

Screenshot that shows the Log Analytics scope for the demo.

查看表信息

屏幕左侧包含“表”选项卡,可用于检查当前范围内可用的表。 默认情况下,根据解决方案对这些表进行分组,但你可以更改其分组或对其进行筛选。

展开“日志管理”解决方案并找到 AppRequests 表 。 可以展开该表以查看其架构,或将鼠标悬停在其名称上以显示有关它的更多信息。

Screenshot that shows the Tables view.

选择“有用链接”下的链接,转到记录每个表及其列的表格引用。 选择“预览数据”,快速查看表中的一些近期记录。 此预览有助于在运行查询前确保这是你需要的数据。

Screenshot that shows preview data for the AppRequests table.

编写查询

使用 AppRequests 表编写查询。 双击其名称以将其添加到查询窗口。 也可以直接在窗口中键入其名称。 甚至可以使用 IntelliSense,它有助于填写当前范围内和 Kusto 查询语言 (KQL) 命令中的表的名称。

这是我们可以编写的最简单的查询。 它只返回表中的所有记录。 选择“运行”按钮,或将光标置于查询文本中的任意位置并按 Shift+Enter,即可运行该查询。

Screenshot that shows query results.

可以看到我们确实得到了结果。 查询返回的记录数显示在右下角。

时间范围

所有查询都会返回在设置的时间范围内生成的记录。 默认情况下,查询返回过去 24 小时内生成的记录。

可以在查询中使用 where 运算符设置不同的时间范围。 也可以使用屏幕顶部的“时间范围”下拉列表。

让我们通过从“时间范围”下拉菜单中选择“过去 12 小时”来更改查询的时间范围。 选择“运行”以返回结果。

注意

使用“时间范围”下拉菜单更改时间范围不会更改查询编辑器中的查询。

Screenshot that shows the time range.

多个查询条件

让我们再添加一个筛选条件,进一步减少结果。 查询可以包含任意数量的筛选器,以便精确定位所需的记录集。 在“名称”下选择“获取主页/索引”,然后选择“应用并运行”

Screenshot that shows query results with multiple filters.

分析结果

Log Analytics 不仅有助于编写和运行查询,还提供了用于处理结果的功能。 首先,展开记录以查看其所有列的值。

Screenshot that shows a record expanded in the search results.

选择任何列的名称以按该列对结果进行排序。 选择它旁边的筛选器图标以提供筛选条件。 此操作类似于向查询本身添加筛选条件,但如果再次运行查询,则会清除此筛选器。 如果要在交互式分析过程中快速分析一组记录,请使用此方法。

例如,在“DurationMs”列上设置过滤器以将记录限制为花费超过 150 毫秒的记录。

Screenshot that shows a query results filter.

搜索查询结果

让我们使用结果窗格右上角的搜索框搜索查询结果。

在查询结果搜索结果框中输入“Chicago”,然后选择箭头以查找搜索结果中此字符串的所有实例。

Screenshot that shows the search box at the top right of the result pane.

重新整理并汇总数据

为了更好地直观呈现数据,可以根据需求对查询结果中的数据重新整理并汇总。

选择结果窗格右侧的“列”以打开“列”边栏。

Screenshot that shows the Column link to the right of the results pane, which you select to open the Columns sidebar.

在边栏中,你将看到所有可用列的列表。 将“URL”列拖到“行组”部分。 现在,结果按该列进行组织,可以折叠每个组以帮助你进行分析。 此操作类似于向查询添加筛选器条件,但不会从服务器重新引用数据,而是要处理原始查询返回的数据。 再次运行查询时,Log Analytics 会根据原始查询检索数据。 如果要在交互式分析过程中快速分析一组记录,请使用此方法。

Screenshot that shows query results grouped by URL.

创建数据透视表

若要分析页面的性能,请创建数据透视表。

在“列”边栏中,选择“透视模式”。

选择“URL”和“DurationMs”以显示对每个 URL 的所有调用的总持续时间。

若要查看每个 URL 的最长调用持续时间,请选择“sum(DurationMs)”>“max”。

Screenshot that shows how to turn on Pivot Mode and configure a pivot table based on the URL and DurationMS values.

现在,让我们通过在结果窗格中选择“max(DurationMs)”列,按最长调用持续时间对结果进行排序。

Screenshot that shows the query results pane being sorted by the maximum DurationMS values.

使用图表

接下来看看一个查询,它使用可在图表中查看的数值数据。 我们将选择一个示例查询,而不是生成查询。

在左侧窗格中选择“查询”。 此窗格包含可添加到查询窗口的示例查询。 如果使用自己的工作区,则应具有多个类别的多种查询。 如果使用演示环境,可能只会看到一个“Log Analytics 工作区”类别。 展开此项以查看该类别的查询。

在“应用程序”类别中选择名为“函数错误率”的查询 。 此步骤会将查询添加到查询窗口。 请注意,用空白行分隔了新查询和另一个查询。 KQL 中的查询遇到空白行时将结束,因此它们被视为单独的查询。

Screenshot that shows a new query.

光标所在位置是当前的查询。 可以看到第一个查询突出显示,表明它是当前查询。 单击新查询中的任意位置以将其选中,然后选择“运行”按钮以运行该查询。

Screenshot that shows the query results table.

若要在关系图中查看结果,请在结果窗格中选择“图表”。 请注意,处理图表的选择有多种,例如将其更改为另一种类型。

Screenshot that shows the query results chart.

后续步骤

现在,你已了解如何使用 Log Analytics,请完成有关使用日志查询的教程: