Log Analytics 是 Azure 门户中的工具,用于根据 Azure Monitor 日志收集的数据编辑和运行日志查询,并交互式分析其结果。 你可以使用 Log Analytics 查询来检索符合特定条件的记录,确定趋势,分析模式,并提供对数据的各种见解。
本教程将指导你完成 Log Analytics 接口,开始使用一些基本查询,并演示如何使用结果。 你将学会如何:
- 了解日志数据的架构。
- 编写和运行简单的查询,以及修改查询时间范围。
- 对查询结果进行筛选、排序和分组。
- 查看、修改和共享查询结果的视觉对象。
- 加载、导出和复制查询与结果。
重要
在本教程中,你将使用 Log Analytics 功能生成一个查询,并使用另一个示例查询。 准备了解查询语法并开始直接编辑查询本身时,请阅读 Kusto 查询语言教程。 该教程演示了可在 Log Analytics 中编辑和运行的示例查询。 它使用了本教程将介绍的多项功能。
本教程使用 Log Analytics 演示环境,其中包括大量支持示例查询的示例数据。 你也可以使用自己的 Azure 订阅,但相同的表中可能没有数据。
从订阅中的 Azure Monitor 菜单中选择 “日志 ”。 此步骤将初始范围设置为 Log Analytics 工作区,以便查询从该工作区中的所有数据中进行选择。 如果从 Azure 资源的菜单中选择“日志”,则范围将设置为仅来自该资源的记录。 有关范围的详细信息,请参阅日志查询范围。
可以在“日志”体验的左上角,在活动查询选项卡的名称下方查看查询的范围。如果使用自己的环境,则会看到一个用于选择其他范围的选项。 但在演示环境中不提供此选项。
屏幕左侧包含“表”选项卡,可用于检查当前范围内可用的表。 默认情况下,根据解决方案对这些表进行分组,但你可以更改其分组或对其进行筛选。
展开日志管理解决方案并找到AppRequests表。 可以展开该表以查看其架构,或将鼠标悬停在其名称上以显示有关它的更多信息。
选择“有用的链接”下方的链接(此示例中为 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,请完成有关使用日志查询的教程: