Azure Monitor 数据平台

当今复杂的计算环境运行着既依赖于云计算又依赖于本地服务的分散式应用程序。 要实现可观测性,必须从分布式系统的每个层和组件收集操作数据。 需要能够对这些数据执行深入的见解分析并从不同的角度对其进行整合,这样才能为组织中的众多利益干系人提供支持。

Azure Monitor 会将各种源中的数据收集并聚合到一个通用数据平台,在该平台中,可以使用这些数据进行分析、实现可视化和发出警报。 基于来自多个源的数据提供一致的体验。 让你深入洞察所有受监视的资源,甚至是其他服务在 Azure Monitor 中存储的数据。

Diagram that shows an overview of Azure Monitor with data sources on the left sending data to a central data platform and features of Azure Monitor on the right that use the collected data.

Azure Monitor 中的观测数据

指标、日志和分布式跟踪通常称作观测功能的三大支柱。 监视工具必须收集并分析这些不同类型的数据,才能对受监视系统进行充分的观测。 若要实现观测功能,可以关联多个支柱提供的数据,并聚合整个受监视资源集中的数据。 由于 Azure Monitor 将多个源中的数据存储在一起,因此可以使用一组通用的工具来关联和分析这些数据。 它还将数据与多个 Azure 订阅和租户相关联,并为其他服务托管数据。Azure Monitor 还可关联多个 Azure 订阅和租户中的数据,并托管其他服务的数据。

Azure 资源会生成大量的监视数据。 Azure Monitor 将这些数据连同其他源中的监视数据一起整合到指标或日志平台。 每个平台已针对特定的监视方案进行优化,各自支持 Azure Monitor 中的不同功能。 使用数据分析、可视化或警报等功能需要了解数据的差异,以便能够以最经济高效的方式实现所需的方案。 Azure Monitor 中的见解功能(例如 Application InsightsContainer Insights)提供分析工具让你专注于特定的监视方案,而无需了解这两种数据类型之间的差异。

指标

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

Azure Monitor 中的指标存储在时序数据库中,该数据库经过优化,可用于分析带时间戳的数据。 时间戳让指标特别适合用于警报和快速检测问题。 指标可以告知系统的运行状况,但通常必须与日志相结合才能识别问题的根本原因。

在 Azure 门户中使用 Azure 指标资源管理器可以通过指标进行交互式分析。 可将指标添加到 Azure 仪表板,以结合其他数据生成可视化效果,以及用于近实时警报

可请参阅 Azure Monitor 中的指标详细了解 Azure Monitor 指标,包括其数据源。

日志

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

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

注意

区分 Azure Monitor 日志和 Azure 中的日志数据源很重要。 例如,Azure 中的订阅级别事件将写入活动日志,你可以从 Azure Monitor 菜单查看该日志。 大多数资源将操作信息写入资源日志,你可以将其转发到不同的位置。

Azure Monitor 日志是一种日志数据平台,它收集活动日志和资源日志以及其他监视数据,以便对整个资源集进行深入分析。

可以在 Azure 门户中通过 Log Analytics 以交互方式使用日志查询。 也可以将结果添加到 Azure 仪表板,以结合其他数据生成可视化效果。 可以创建日志搜索警报,以根据计划查询的结果触发警报。

Azure Monitor 中的日志中详细了解 Azure Monitor 日志,包括其数据源。

分布式跟踪

跟踪是通过分布式系统跟进用户请求的相关事件系列。 跟踪可用于确定应用程序代码的行为,以及不同事务的性能。 日志通常是由分布式系统的单个组件创建的,而跟踪可以度量应用程序在整套组件中的运行状况和性能。

可在 Azure Monitor 中通过 Application Insights SDK 实现分布式跟踪。 跟踪数据与 Application Insights 收集的其他应用程序日志数据存储在一起。 因此,可以在用于处理其他日志数据(包括日志查询、仪表板和警报)的相同分析工具中使用跟踪数据。

什么是分布式跟踪?中详细了解分布式跟踪。

收集监视数据

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

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

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

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

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

后续步骤