Azure Monitor 日志概览

Azure Monitor 日志是 Azure Monitor 的一项功能,用于从受监视的资源收集并整理日志和性能数据。 可以将来自多个源的数据合并到单个工作区中。 这些数据源包括:

然后,可以使用能够快速分析数百万条记录的复杂查询语言来分析数据。

你可以执行检索特定记录集的简单查询,也可以执行复杂的数据分析来识别监视数据中的关键模式。 通过 Log Analytics 以交互方式使用日志查询及其结果,在警报规则中使用它们来主动接收问题通知,或者在工作簿或仪表板中将直观显示其结果。

备注

Azure Monitor 日志是支持 Azure Monitor 的数据平台的一半。 另一半则是将数值数据存储在时序数据库中的 Azure Monitor 指标。 数值数据比 Azure Monitor 日志中的数据更轻量级。 Azure Monitor 指标可支持准实时的场景,因此它们有助于发出问题警报和快速检测问题。

Azure Monitor 指标只能以特定结构存储数值数据,而 Azure Monitor 日志可以存储各种数据类型,每个数据类型都有自己的结构。 还可使用日志查询对 Azure Monitor 日志数据执行复杂的分析,只是无法分析 Azure Monitor 指标数据。

可以对 Azure Monitor 日志执行哪些操作?

下表介绍了 Azure Monitor 日志的不同使用方式:

说明
分析 使用 Azure 门户中的 Log Analytics 可以编写日志查询,并通过强大的分析引擎以交互方式分析日志数据。
Alert 配置日志警报规则,以便在查询结果与特定的结果匹配时发送通知或执行自动化操作
可视化 将以表格或图表形式呈现的查询结果固定到 Azure 仪表板
创建一个工作簿以与交互式报表中的多组数据合并。
将查询结果导出到 Power BI,以使用不同的可视化效果并与 Azure 外部的用户共享。
深入了解 支持为特定应用程序和服务提供自定义监视体验的见解
检索 使用 Azure CLI 从命令行访问日志查询结果。
使用 PowerShell cmdlet 从命令行访问日志查询结果。
使用 REST API 从自定义应用程序访问日志查询结果。
导出 将日志数据配置为自动导出到 Azure 存储帐户或 Azure 事件中心。
使用 Azure 逻辑应用生成一个工作流,以检索日志数据并将其复制到外部位置。

显示 Azure Monitor 日志概述的关系图。

数据收集

创建 Log Analytics 工作区后,必须配置源以发送其数据。 系统不自动收集任何数据。

此配置将因数据源而异。 例如:

有关可以配置为将数据发送到 Azure Monitor 日志的数据源的完整列表,请参阅 Azure Monitor 监视哪些内容?

Log Analytics 和工作区

Log Analytics 是 Azure 门户中的一个工具。 使用该工具编辑和运行日志查询并以交互方式分析其结果。 然后,你可以使用这些查询来支持 Azure Monitor 中的其他功能,例如日志查询警报和工作簿。 通过 Azure Monitor 菜单中的“日志”选项或 Azure 门户中的大多数其他服务访问 Log Analytics。

有关 Log Analytics 的说明,请参阅 Azure Monitor 中 Log Analytics 的概述。 若要逐步使用 Log Analytics 功能创建简单的日志查询并对其结果进行分析,请参阅 Log Analytics 教程

Azure Monitor 日志将收集的数据存储在一个或多个 Log Analytics 工作区。 工作区定义:

  • 数据的地理位置。
  • 定义哪些用户可以访问数据的访问权限。
  • 配置设置,例如定价层和数据保留。

必须创建至少一个工作区才能使用 Azure Monitor 日志。 可以对所有监视数据使用一个工作区,也可以根据需要选择创建多个工作区。 例如,你可以对生产数据使用一个工作区,对测试数据使用另一个工作区。

若要创建新的工作区,请参阅在 Azure 门户中创建 Log Analytics 工作区。 有关创建多个工作区的注意事项,请参阅设计 Azure Monitor 日志部署

日志查询

通过日志查询从 Log Analytics 工作区检索数据,该查询是对处理数据和返回结果的只读请求。 日志查询以 Kusto 查询语言 (KQL) 编写。 KQL 是 Azure 数据资源管理器使用的同一语言。

你可以在 Log Analytics 中编写日志查询,以交互方式分析其结果,在警报规则中使用它们来主动接收问题通知,或将其结果包含在工作簿或仪表板中。 Insights 包括预生成的查询,以支持其视图和工作簿。

有关在何处使用日志查询的列表以及对入门教程和其他文档的参考,请参阅 Azure Monitor 中的日志查询

显示 Log Analytics 中的查询的屏幕截图。

数据结构

日志查询从 Log Analytics 工作区检索其数据。 每个工作区都包含多个表,这些表被组织成具有多行数据的单独列。 每个表都由一组唯一的列定义。 数据源提供的数据行共享这些列。

显示 Azure Monitor 日志结构的关系图。

来自 Application Insights 的日志数据也存储在 Azure Monitor 日志中,但根据应用程序的配置方式不同,存储的方式也不同:

  • 对于基于工作区的应用程序,数据存储在 Log Analytics 工作区中的一组标准表中。 数据类型包括应用程序请求、异常和页面视图。 多个应用程序可以使用同一个工作区。

  • 对于经典应用程序,数据不会存储在 Log Analytics 工作区中。 它使用相同的查询语言,并且你可以在 Azure 门户中使用相同的 Log Analytics 工具创建和运行查询。 经典应用程序的数据项是分开存储的。 尽管表名和列名不同,但其常规结构与基于工作区的应用程序相同。

有关基于工作区的应用程序和经典应用程序的架构的详细比较,请参阅基于工作区的资源更改

备注

经典 Application Insights 体验包括资源查询、工作簿和基于日志的警报的后向兼容性。 若要根据新的基于工作区的表结构或架构进行查询/查看,必须先转到 Log Analytics 工作区。 在预览版期间,从 Application Insights 窗格中选择“日志”即可访问经典 Application Insights 查询体验。 有关详细信息,请参阅查询范围

显示 Application Insights 的 Azure Monitor 日志结构的关系图。

与 Azure 数据资源管理器的关系

Azure Monitor 日志基于 Azure 数据资源管理器。 Log Analytics 工作区大致相当于 Azure 数据资源管理器中的数据库。 表的结构相同,两者均使用 KQL。

在 Azure 门户中使用 Log Analytics 来处理 Azure Monitor 查询的体验与使用 Azure 数据资源管理器 Web UI 的体验类似。

后续步骤