你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Monitor 日志 基于 Azure 数据资源管理器 ,使用相同的 Kusto 查询语言 (KQL) 编写日志查询。 这种丰富的语言被设计为易于阅读和撰写,使你可以在少量指导下开始编写查询。
在 Azure Monitor 中使用查询的区域包括:
面积 | DESCRIPTION |
---|---|
Log Analytics | 在 Azure 门户中使用此主要工具编辑日志查询并交互式分析其结果。 即使打算在 Azure Monitor 中的其他位置使用日志查询,通常也会在 Log Analytics 中编写和测试它,然后再将其复制到其最终位置。 |
日志搜索警报规则 | 主动识别工作区数据中的问题。 每个警报规则都基于定期自动运行的日志查询。 对结果进行检查,确定是否应创建警报。 |
工作簿 | 在 Azure 门户中的交互式视觉报表中使用不同的可视化效果,包括日志查询的结果。 |
Azure 仪表板 | 将任何查询的结果固定到 Azure 仪表板中,以便将日志和指标数据可视化,并选择性地与其他 Azure 用户共享。 |
Azure 逻辑应用 | 通过逻辑应用工作流在自动化工作流中使用日志查询结果。 |
PowerShell | 使用命令行中的 PowerShell 脚本或使用 Invoke-AzOperationalInsightsQuery 的 Azure 自动化 runbook 中的日志查询结果。 |
Log Analytics 查询 API | 从任何 REST API 客户端检索工作区中的日志数据。 API 请求包括针对 Azure Monitor 运行的查询,以确定要检索的数据。 |
重要
自 2025 年 7 月 1 日以来,在 对 Log Analytics 或 Application Insights 使用查询 API 终结点时,查询日志数据和事件需要 TLS 1.2 或更高版本。 有关详细信息,请参阅 传输中的安全数据。
Azure Monitor 查询客户端库
通过以下生态系统的惯用客户端库从工作区中检索日志数据:
有关如何实现适用于 Python 的 Azure Monitor 查询客户端库的示例,请参阅使用笔记本分析 Azure Monitor 日志中的数据。
开始
开始使用 KQL 编写日志查询的最佳方式是使用以下教程和示例:
Log Analytics 教程 - 使用 Log Analytics 的功能教程,这是在 Azure 门户中用于编辑和运行查询的工具。 它还允许在不直接使用查询语言的情况下编写简单查询。 如果以前未使用 Log Analytics,请从此处开始,以便了解与其他教程和示例一起使用的工具。
KQL 教程 - 引导式演练基本 KQL 概念和常见运算符。 这是着手了解语言本身和日志查询结构的最佳教程。
示例查询 - Log Analytics 中提供的示例查询的说明。 可以不加修改地使用这些查询,也可以将它们作为学习 KQL 的示例。
参考文档
KQL 文档包含所有命令和运算符的参考信息,可在 Azure 数据资源管理器文档中获得。 即使你熟练使用 KQL,你仍然经常使用参考资料来研究不熟悉的新命令和方案。
语言差异
虽然 Azure Monitor 与 Azure 数据资源管理器使用相同的 KQL,但还是有一些区别。 KQL 文档指定 Azure Monitor 不支持或具有不同功能的运算符。 Azure Monitor 内容中介绍了特定于 Azure Monitor 的运算符。 以下部分列出了该语言不同版本之间的差异,以供快速参考。
不支持在 Azure Monitor 中
语句
函数
- cluster()
- cursor_after()
- cursor_before_or_at()
- cursor_current()、current_cursor()
- database()
- current_principal()
- extent_id()
- extent_tags()
运算符
插件
Azure Monitor 的专用运算符
下列运算符支持特定的 Azure Monitor 功能并且在 Azure Monitor 外部不可用: