Log Analytics 是 Azure 门户中的工具,用于根据 Azure Monitor 日志收集的数据编辑和运行日志查询,并交互式分析其结果。 你可以使用 Log Analytics 查询来检索符合特定条件的记录,确定趋势,分析模式,并提供对数据的各种见解。
本教程将指导你完成 Log Analytics 接口,开始使用一些基本查询,并演示如何使用结果。 你将学会如何:
- 了解日志数据的架构。
- 编写和运行简单的查询,以及修改查询时间范围。
- 对查询结果进行筛选、排序和分组。
- 查看、修改和共享查询结果的视觉对象。
- 加载、导出和复制查询与结果。
重要
在本教程中,你将使用 Log Analytics 功能生成一个查询,并使用另一个示例查询。 准备了解查询语法并开始直接编辑查询本身时,请阅读 Kusto 查询语言教程。 该教程演示了可在 Log Analytics 中编辑和运行的示例查询。 它使用了本教程将介绍的多项功能。
本教程使用 Log Analytics 演示环境,其中包括大量支持示例查询的示例数据。 你也可以使用自己的 Azure 订阅,但相同的表中可能没有数据。
备注
Log Analytics 有两种模式 - 简单模式和 KQL 模式。 本教程将指导你学习 KQL 模式。 有关简单模式的信息,请参阅使用 Log Analytics 简单模式分析数据。
从订阅中的 Azure Monitor 菜单中选择 “日志 ”。 此步骤将初始范围设置为 Log Analytics 工作区,以便查询从该工作区中的所有数据中进行选择。 如果从 Azure 资源的菜单中选择 “日志 ”,范围将仅设置为来自该资源的记录。 有关更多信息,请参阅 日志查询范围。
可以在“日志”体验的左上角,在活动查询选项卡的名称下方查看查询的范围。如果使用自己的环境,则会看到一个用于选择其他范围的选项。 但在演示环境中不提供此选项。
屏幕左侧包含“表”选项卡,可用于检查当前范围内可用的表。 默认情况下,根据解决方案对这些表进行分组,但你可以更改其分组或对其进行筛选。
展开日志管理解决方案并找到AppRequests表。 可以展开该表以查看其架构,或将鼠标悬停在其名称上以显示有关它的更多信息。
使用 AppRequests 表编写查询。 双击其名称或将鼠标悬停在上方,然后单击“在编辑器中使用”将其添加到查询窗口。 也可以直接在窗口中输入。 甚至可以获取 IntelliSense,它有助于完成当前范围内和 Kusto 查询语言 (KQL) 命令中的表名称。
这是我们可以编写的最简单的查询。 它只返回表中的所有记录。 选择“运行”按钮,或将光标置于查询文本中的任意位置并按 Shift+Enter,即可运行该查询。
可以看到我们确实得到了结果。 查询返回的记录数显示在右下角。 可以在 Log Analytics 门户体验中检索的最大结果数为 30,000。
所有查询都会返回在设置的时间范围内生成的记录。 默认情况下,查询返回过去 24 小时内生成的记录。
可以在查询中使用 where 运算符设置不同的时间范围。 也可以使用屏幕顶部的“时间范围”下拉列表。
让我们通过从“时间范围”下拉菜单中选择“过去 12 小时”来更改查询的时间范围。 选择“运行”以返回结果。
备注
使用“时间范围”下拉菜单更改时间范围不会更改查询编辑器中的查询。
让我们再添加一个筛选条件,进一步减少结果。 查询可以包含任意数量的筛选器,以便精确定位所需的记录集。 在“表”选项卡处于活动状态的屏幕左侧,请改为选择“筛选器”选项卡。 如果未找到,请单击省略号以查看更多选项卡。
在“筛选器”选项卡上,选择“加载旧筛选器”以查看每个筛选器的前 10 个值。
在“名称”下选择“获取主页/索引”,然后单击“应用并运行”。
Log Analytics 不仅有助于编写和运行查询,还提供了用于处理结果的功能。 首先展开记录以查看其所有列的值,方法是单击行左侧的 V 形。
选择任何列的名称以按该列对结果进行排序。 选择它旁边的筛选器图标以提供筛选条件。 此操作类似于向查询本身添加筛选条件,但如果再次运行查询,则会清除此筛选器。 如果要在交互式分析过程中快速分析一组记录,请使用此方法。
在 DurationMs 列上设置筛选器,以将记录限制为超过 150 毫秒的记录。
- 使用结果表时可以像在 Excel 中一样进行筛选。 在“名称”列标题中选择省略号。
- 取消选中“全选”,然后搜索“获取主页/索引”并将其选中。 筛选器会自动应用于结果。
让我们使用结果窗格右上角的搜索框搜索查询结果。
在查询结果搜索结果框中输入“Chicago”,然后选择箭头以查找搜索结果中此字符串的所有实例。
为了更好地直观呈现数据,可以根据需求对查询结果中的数据重新整理并汇总。
选择结果窗格右侧的“列”以打开“列”边栏。
在边栏中,你将看到所有可用列的列表。 将“URL”列拖到“行组”部分。 现在,结果按该列进行组织,可以折叠每个组以帮助你进行分析。 此操作类似于向查询添加筛选器条件,但不会从服务器重新引用数据,而是要处理原始查询返回的数据。 再次运行查询时,Log Analytics 会根据原始查询检索数据。 如果要在交互式分析过程中快速分析一组记录,请使用此方法。
若要分析页面的性能,创建一个数据透视表。
在“列”边栏中,选择“透视模式”。
选择“URL”和“DurationMs”以显示对每个 URL 的所有调用的总持续时间。
要查看对每个 URL 的最长调用持续时间,请选择“sum(DurationMs)”>“max”。
现在,让我们通过在结果窗格中选择“max(DurationMs)”列,按最长调用持续时间对结果进行排序。
接下来看看一个查询,它使用可在图表中查看的数值数据。 我们将选择一个示例查询,而不是生成查询。
在左侧窗格中选择“查询”。 此窗格包含可添加到查询窗口的示例查询。 如果您使用自己的工作区,那么应该会有多个类别的各种查询。
将“应用程序”类别中的“函数错误率”查询加载到编辑器中。 为此,请双击查询或将鼠标悬停在查询名称上以显示详细信息,然后选择“加载到编辑器”。
请注意,用空白行分隔了新查询和另一个查询。 KQL 中的查询在遇到空白行时结束,这使得它们成为独立的查询。
单击查询中的任意位置以将其选中,然后单击“运行”按钮以运行该查询。
若要在关系图中查看结果,请在结果窗格中选择“图表”。 请注意,处理图表的选择有多种,例如将其更改为另一种类型。
现在,你已了解如何使用 Log Analytics,请完成有关使用日志查询的教程: