Azure Monitor 数据平台

分布式应用程序涵盖云端和本地部署服务中的多个层和组件。 可观测性取决于从每个层收集操作数据,然后分析和合并到为组织中的每个利益干系人提供服务的视图中。

Azure Monitor从各种源收集和聚合数据,并将其聚合到用于分析、可视化和警报的通用数据平台中。 它提供来自多个源的数据的一致体验,并让你深入了解所有受监视的资源,包括存储在Azure Monitor中的其他服务中的数据。

图概述了 Azure Monitor,左边的数据源将数据发送到一个中央数据平台,右边的 Azure Monitor 功能使用收集到的数据。

Azure Monitor 中的可观测性数据

指标、日志和分布式跟踪通常称为可观测性的三大支柱。 监视工具必须收集和分析这三种不同类型的数据,以提供对受监视系统的足够可观测性。 可以通过关联来自多个领域的数据,并将数据聚合在整个监测的资源集上,以实现可观测性。 由于 Azure Monitor 将数据从多个源一起存储,因此可以使用一组常见的工具来关联和分析数据。 除了为其他服务托管数据外,它还跨多个 Azure 订阅和租户关联数据。

Azure 资源生成大量监视数据。 Azure Monitor 将此数据与来自其他源的监视数据合并到指标或日志平台中。 每个平台都针对特定的监视方案进行优化,每个平台都支持Azure Monitor中的不同功能。 数据分析、可视化和警报等功能需要了解这些差异,以最高效且经济高效的方式实现方案。 Azure Monitor 中的见解功能(例如 Application InsightsContainer Insights)提供了专注于特定监视场景的分析工具,无需了解这两种数据类型之间的差异。

下表一目了然地比较指标和日志:

方面 指标 日志
它是什么 按固定间隔采样的数值,用于描述某个时间点系统的各个方面。 包含结构化或自由格式文本的事件的时间戳记录。
存储 针对带时间戳的数据优化的时序数据库。 Log Analytics基于Azure 数据资源管理器构建的工作区。
最适用于 警报和快速检测性能问题。 根本原因分析和深度上下文查询。
查询体验 指标浏览器和指标警报。 Log Analytics中的 Kusto 查询语言 (KQL)。

Azure Monitor 中的指标

指标 是数值,用于描述特定时间点系统的某些方面。 Azure Monitor定期收集指标,并使用时间戳、名称、值和一个或多个定义标签标识指标。 它使用各种算法聚合指标,将其与其他指标进行比较,并分析它们以查找随时间推移的趋势。

Azure Monitor将指标存储在经过优化以分析时间戳数据的时序数据库中。 时间戳使指标非常适合用于警报和快速检测问题。 指标告知系统的性能,但通常必须与日志相结合,以确定问题的根本原因。

Azure Monitor 指标包括两种类型:原生指标和 Prometheus 指标。 有关两者及其数据源的比较,请参阅Azure Monitor中的指标

Azure Monitor 中的日志

日志 是在系统中发生的事件。 它们可以包含不同类型的数据,并且可能具有时间戳的结构或自由格式文本。 它们可能会偶尔创建,因为环境中的事件会生成日志条目。 负载较重的系统通常会生成更多的日志卷。

Azure Monitor 中的日志存储在基于 Azure 数据资源管理器的 Log Analytics 工作区中,Azure 数据资源管理器可提供强大的分析引擎和丰富查询语言。 日志通常提供足够的信息来提供所要识别的问题的完整上下文,在识别问题的根本原因时很有价值。

注释

请务必区分 Azure Monitor 日志和 Azure 中的日志数据源。 例如,Azure中的订阅级事件将写入活动日志,可从Azure Monitor菜单中获取。 大多数资源将操作信息写入 资源日志 ,以便转发到不同的位置。

Azure Monitor 日志是一个日志数据平台,可以收集活动日志和资源日志以及其他监视数据,以针对整个资源集提供深入分析。

在Azure门户中使用Log Analytics以交互方式处理日志查询。 将结果添加到Azure仪表板,以便与其他数据结合使用进行可视化。 创建 日志搜索警报 ,以基于计划查询的结果触发警报。

分布式跟踪

追踪是在分布式系统中跟随用户请求的一系列关联事件。 它们可用于确定应用程序代码的行为以及不同事务的性能。 虽然日志通常由分布式系统的单个组件创建,但追踪会测量应用程序在所有组件中的操作和性能。

使用 Application Insights 在 Azure Monitor 中启用分布式跟踪。 Application Insights 使用它收集的其他应用程序日志数据存储跟踪数据。 此存储使跟踪数据可用于与其他日志数据相同的分析工具,包括日志查询、仪表板和警报。

收集监视数据

不同的 Azure Monitor 数据源会将数据写入 Log Analytics 工作区(日志)和/或 Azure Monitor 指标数据库(指标)。 某些源直接写入这些数据存储,而另一些源可能会写入其他位置(例如 Azure 存储),并且需要一些配置来填充日志或指标。

有关填充每种类型的不同数据源的列表,请参阅 Azure Monitor 中的指标Azure Monitor 中的日志

将数据流式传输到外部系统

除了使用 Azure 中的工具分析监视数据之外,你可能还要求将其转发到外部工具,例如安全信息和事件管理产品。 此转发通常直接从受监视的资源通过 Azure 事件中心完成。

某些源将数据直接发送到事件中心。 对于其他进程,请使用另一个进程(如逻辑应用)检索所需的数据。 有关详细信息,请参阅 将 Azure 监视数据流式传输到事件中心供外部工具使用

后续步骤