Azure Monitor 概述

Azure Monitor 是一个全面的监视解决方案,可用于收集、分析和响应来自云和本地环境的监视数据。 可使用 Azure Monitor 来帮助最大程度地提高应用程序和服务的可用性和性能。 它可帮助你了解应用程序的性能,并允许你手动和以编程方式响应系统事件。

Azure Monitor 跨多个 Azure 和非 Azure 订阅和租户从系统的每个层和组件收集和聚合数据。 它将其存储在通用数据平台中,供一组通用工具使用,这些工具可以关联、分析、可视化和/或响应数据。 还可以集成其他 Microsoft 和非 Microsoft 工具。

示意图显示了上段所述的 Azure 监视器工作内容的抽象视图。

上图显示了监视过程的抽象视图。 Azure Monitor 体系结构的更详细的分解显示在下面的体系结构概要部分。

概要体系结构

Azure Monitor 可以监视 Azure、其他云或本地的以下资源类型:

  • 应用程序
  • 虚拟机
  • 来宾操作系统
  • 容器
  • 数据库
  • 安全事件(结合使用 Azure Sentinel)
  • 网络事件和运行状况(结合使用网络观察程序)
  • 使用 API 将数据导入 Azure Monitor 的自定义源

还可以将监视数据从 Azure Monitor 导出到其他系统,以便:

  • 与其他第三方和开源监视及可视化工具集成
  • 与票证系统集成

下图显示了 Azure Monitor 的体系结构概要视图。

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

单击关系图可查看更详细的扩展版本,它会显示数据源和数据收集方法的更详细分解。

此图描绘了 Azure Monitor 系统组件:

  • 数据源是正在监视的资源类型

  • 数据被收集并路由到数据平台。 单击关系图会显示这些选项,本文稍后也会详细介绍它们。

  • 数据平台存储收集到的监视数据。 Azure Monitor 的核心数据平台具有针对指标、日志、跟踪和更改的存储。 System Center Operations Manager MI 使用其自己托管在 SQL 托管实例中的数据库。

  • 消耗”部分显示使用数据平台中的数据的组件。

    • Azure Monitor 的核心使用方法包括用于提供见解可视化分析数据的工具。 可视化工具基于分析工具,见解基于可视化和分析工具。
    • 还有其他机制可帮助你响应传入的监视数据。
  • SCOM MI 路径使用 SCOM 客户已经熟悉的传统 Operations Manager 控制台。

  • 集成部分显示了互操作性选项。 并非所有服务都在所有级别集成。 SCOM MI 仅与 Power BI 集成。

数据源

Azure Monitor 可从多个源收集数据

下图显示了 Azure Monitor 可从中收集监视数据的数据源类型的扩展版本。

显示 Azure Monitor 数据源概述的关系图。

单击上图可在上下文中查看较大版本的数据源关系图。

可以集成来自 Azure 外部(包括本地和非 Azure 云)的应用程序、基础结构和自定义数据源监视数据。

Azure Monitor 收集以下类型的数据:

数据类型 说明和子类型
应用/工作负载 应用–应用程序性能、健康状况和活动数据。

工作负载 - 在托管虚拟机上运行的 SQL Server、Oracle 或 SAP 等 IaaS 工作负载。
基础结构 容器 - 有关容器的数据,例如 Azure Kubernetes 服务,以及在容器内运行的应用程序的数据。

操作系统 - 有关运行应用程序的来宾操作系统的数据。
Azure 平台 Azure 资源 - 有关来自资源内部的 Azure 资源的操作数据,包括更改。 资源日志就是一个示例。

Azure 订阅 - Azure 订阅的操作和管理,以及有关 Azure 本身健康状况和操作的数据。 活动日志就是一个示例。

Azure 租户 - 有关租户级 Azure 服务(例如 Microsoft Entra ID)操作的数据。
自定义源 使用以下内容进入系统的数据
- Azure Monitor REST API
- 数据收集 API

有关每个数据源的详细信息,请参阅数据源

SCOM MI(如本地 SCOM)仅收集 IaaS 工作负载和操作系统源。

数据收集和路由

Azure Monitor 使用多种不同机制收集和路由监视数据,具体取决于要路由的数据和路由目标。 就像随时间推移而改进的道路系统一样,并非所有道路都会通向所有地点。 这些机制新旧不一,考虑到 Azure Monitor 随着时间推移的发展情况,有些机制可能比其他机制更为适合。 有关详细信息,请参阅数据源

显示 Azure Monitor 数据收集和路由概述的关系图。

单击示意图可在上下文中查看较大版本的数据收集。

收集方法 说明
应用程序检测 Application Insights 是通过自动检测(代理),或通过将 Application Insights SDK 添加到应用程序代码来启用的。 此外,Application Insights 正在实现开放遥测。 有关详细信息,请参阅如何检测应用程序?
代理 代理可以从 Azure 和混合虚拟机的来宾操作系统收集监视数据。
数据收集规则 使用数据收集规则来指定应收集哪些数据、如何转换该数据以及将该数据发送到哪里。
零配置 数据会自动发送到目标,无需用户进行配置。 平台指标是最常见的例子。
诊断设置 使用诊断设置确定在数据平台上发送资源日志和活动日志数据的位置。
Azure 监视器 REST API 利用 Azure Monitor 中的日志引入 API,可以将数据发送到 Azure Monitor 日志中的 Log Analytics 工作区。

将监视数据路由到其他非 Microsoft 工具的常见方法是使用事件中心。 有关详细信息,请参阅下面的集成部分。

SCOM MI(如本地 SCOM)使用代理收集数据,将数据发送到 Azure 上的 SCOM MI 中运行的管理服务器。

有关数据收集的详细信息,请参阅数据收集

数据平台

Azure Monitor 将数据存储在数据存储中,用于可观测性的三大支柱的每一个,另外再加一个:

  • 指标
  • 日志
  • 分布式跟踪

每个存储都针对特定类型的数据和监视场景进行了优化。

显示 Azure Monitor 数据平台概述的关系图。

选择前面的图,查看整个 Azure Monitor 上下文中的数据平台。

可观测性的支柱/
数据存储
说明
Azure Monitor 指标 指标是数字值,用于描述系统某个方面在特定时间点的情况。 Azure Monitor 指标是经过优化的时序数据库,可用于分析带有时间戳的数据。 Azure Monitor 定期收集指标。 指标是通过时间戳、名称、值以及一个或多个定义标签进行标识的。 可以使用算法来聚合指标、将其与其他指标进行比较,以及通过分析指标来了解一段时间内的趋势。 它支持本机 Azure Monitor 指标。
Azure Monitor 日志 日志是记录的系统事件。 日志可包含不同类型的数据,可以结构化或采用自由文本格式,它们包含时间戳。 Azure Monitor 在 Azure Monitor 日志中存储所有类型的结构化和非结构化日志数据。 可以将数据路由到 Log Analytics 工作区进行查询和分析。
跟踪 分布式跟踪允许在请求通过不同服务和组件时查看请求的路径。 Azure Monitor 可从检测的应用程序获取分布式跟踪数据。 跟踪数据存储在 Azure Monitor 日志中的单独工作区中。

分布式跟踪是一种技术,用于在请求通过分布式系统时跟踪请求。 借助此技术,可以查看请求通过不同服务和组件时的路径。 它可帮助你识别性能瓶颈并排查分布式系统中的问题。

要实现监视数据的长期低成本存档来满足审核或合规需求,可以导出到 Azure 存储

SCOM MI 类似于本地 SCOM。 它将其信息存储在 SQL 数据库中,但使用 SQL 托管实例,因为它位于 Azure 中。

消耗

以下部分概述了使用 Azure Monitor 数据平台中监视数据的方法和服务。

关系图的“消耗”部分中的所有区域都有显示在 Azure 门户中的用户界面。

“消耗”部分的顶部仅适用于 Azure Monitor 核心。 SCOM MI 使用在云中运行的传统 Ops 控制台。 它还可以将监视数据发送到 Power BI 进行可视化。

Azure 门户

Azure 门户是基于 Web 的统一控制台,提供可替代命令行工具的方法。 通过 Azure 门户,可以使用图形用户界面管理 Azure 订阅。 可以在门户中生成、管理和监视一切内容,范围从简单的 Web 应用到复杂的云部署不等。 通过 Azure 门户的“监视”部分提供的可视化界面,能够访问为 Azure 资源收集的数据并轻松访问 Azure Monitor 中的工具、见解和可视化效果。

显示 Azure 门户的“监视”部分的屏幕截图。

洞察力

某些 Azure 资源提供程序具有精选的可视化效果,它们提供自定义的监视体验,需要的配置极少。 见解是可缩放的大型精选可视化效果。

显示 Azure Monitor 系统“消耗”部分中“见解”部分的关系图。

下表描述了一些更大型的见解:

见解 说明
Application Insights Application Insights 监视 Web 应用程序的可用性、性能和使用情况。
容器见解 容器见解可让你了解部署到 Azure Kubernetes 服务上托管的托管 Kubernetes 群集的容器工作负载的性能。 容器见解通过指标 API 从 Kubernetes 中提供的控制器、节点和容器收集容器日志和指标。 从 Kubernetes 群集启用监视后,将通过适用于 Linux 的 Log Analytics 代理的容器化版本自动收集这些指标和日志。
网络见解 网络见解通过拓扑为所有已部署的网络资源提供健康状况和指标的全面和可视化表示,且无需进行任何配置。 它还提供对网络监视功能的访问,如连接监视器、网络安全组 (NSG) 的流日志记录、流量分析和其他诊断功能。

有关详细信息,请参阅 Azure Monitor Insights 概述中见解和特选可视化效果列表

可视化

图表和表等可视化效果是用于汇总监视数据并向不同受众呈现这些数据的有效工具。 Azure Monitor 自带可视化监视数据的功能,并且可以使用其他 Azure 服务将这些数据发布给不同的受众。 Power BI 不是 Azure Monitor 产品的正式成员,但它们是核心集成和 Azure Monitor 故事的一部分。

可视化效果 说明
仪表板 Azure 仪表板允许将不同类型的数据合并到 Azure 门户的单个窗格中。 可以选择与其他 Azure 用户共享仪表板。 可以将任意日志查询或指标图表的输出添加到 Azure 仪表板。 例如,可以创建一个包含多个磁贴的仪表板,这些磁贴分别用于显示指标图、活动日志表、Application Insights 的使用情况图表,以及日志查询的输出。
工作簿 工作簿提供了灵活的画布,用于数据分析和在 Azure 门户中创建丰富的可视化报表。 可以使用它们从多个数据源查询数据。 工作簿可以在一个可视化效果中合并和关联来自多个数据集的数据,从而轻松直观地呈现系统。 工作簿是交互式的,可以跨团队共享并实时更新数据。 使用见解提供的工作簿、利用模板库或创建自己的模板。
Power BI Power BI 是业务分析服务,可提供跨各种数据源的交互式可视化效果。 它是将数据提供给组织内外的其他人的有效方法。 可将 Power BI 配置为自动从 Azure Monitor 导入日志数据,以利用这些可视化效果。

分析

Azure 门户包含可用于分析监视数据的内置工具。

工具 说明
指标资源管理器 使用 Azure 门户中的 Azure Monitor 指标资源管理器用户界面调查资源的运行状况和利用率。 指标资源管理器可帮助你绘制图表、直观地关联趋势,并调查指标值中的峰值和谷值。 指标资源管理器包含用于应用维度和筛选以及自定义图表的功能。 这些功能可帮助你以直观的方式准确分析所需的数据。
Log Analytics Azure 门户中的 Log Analytics 用户界面可帮助你查询 Azure Monitor 收集的日志数据,以便你可以快速检索、合并和分析收集的数据。 创建测试查询后,可使用 Azure Monitor 工具直接分析数据,也可以保存查询,以将其用于可视化效果或警报规则。 Log Analytics 工作区基于 Azure 数据资源管理器,它使用功能强大的分析引擎和丰富的 Kusto 查询语言 (KQL)。Azure Monitor 日志使用适用于简单日志查询和高级功能(如聚合、联接和智能分析)的 Kusto 查询语言版本。 可以快速轻松地开始使用 KQL。 注意:术语“Log Analytics”有时用于表示 Azure Monitor 日志数据平台存储和访问该存储的 UI。 在 2019 年之前,术语“Log Analytics”确实指这两者。 在 Internet 上的各种博客和文档中使用此框架查找内容时仍然很常见。

响应

有效的监视解决方案可主动响应关键事件,而无需个人或团队注意该问题。 响应可以是发送给管理员的文本或电子邮件,也可以是尝试更正错误状态的自动化过程。

显示 Azure Monitor 系统“消耗”部分中“响应”部分的关系图。

Azure Monitor 警报会向你发送有关关键情况的通知并采取纠正措施。 警报规则可以基于指标或日志数据。

  • 指标警报规则根据收集的指标提供准实时警报。
  • 基于日志的日志搜索警报规则允许使用跨多个来源中的数据的复杂逻辑。

警报规则使用操作组,它们可以执行发送电子邮件或短信通知等操作。 操作组可使用 Webhook 发送通知,以触发外部进程或与 IT 服务管理工具集成。 操作组、操作和收件人集可跨多个规则共享。

显示 Azure 门户中 Azure Monitor 警报 UI 的屏幕截图。

SCOM MI 目前在运营控制台中使用其自己独立的传统 SCOM 警报机制。

自动缩放使你可以在处理应用程序上的负载时动态控制运行的资源数量。 可以创建使用 Azure Monitor 指标的规则,以确定负载增加后何时自动添加资源,或何时移除处于空闲状态的资源。 可以指定最小和最大实例数,以及控制何时增加或减少资源以节省资金并提高性能的逻辑。

显示自动缩放如何增长的概念图

Azure 逻辑应用也是一个选项。 有关详细信息,请参见下面的“集成”部分。

集成

可能需要将 Azure Monitor 与其他系统集成,或生成使用监视数据的自定义解决方案。 这些 Azure 服务使用 Azure Monitor 来提供集成功能。 下面只是少数几个可能的集成。

显示 Azure Monitor 系统的“消耗”部分中的“集成”部分的关系图。

Azure 服务 描述
事件中心 Azure 事件中心是流式处理平台和事件引入服务。 它可以使用任何实时分析提供程序或批处理/存储适配器来转换和存储数据。 使用事件中心可将 Azure Monitor 数据流式传输到合作伙伴 SIEM 和监视工具。
Azure 存储 将数据导出到 Azure 存储以实现监视数据的长期低成本存档,从而满足审核或合规需求。
托管合作伙伴 许多外部合作伙伴集成了 Azure Monitor。 Azure Monitor 已与其他监视提供程序合作,提供其产品的 Azure 托管版本,以便更轻松地实现互操作性。 这样的例子包括 Elastic、Datadog、Logz.io 和 Dynatrace。
API 可以使用多个 API 从/向 Azure Monitor 读取和写入指标与日志,以及访问生成的警报。 还可以配置和检索警报。 借助 API,可以不受限制地生成可与 Azure Monitor 集成的自定义解决方案。
Azure 逻辑应用 可使用 Azure 逻辑应用服务通过与不同系统和服务集成的工作流将任务和业务流程自动化,而很少或不需要代码。 可以使用可在 Azure Monitor 中读取和写入指标和日志的活动。 可以使用逻辑应用来自定义响应,并执行其他操作来响应 Azure Monitor 警报。
Azure Functions 与 Azure 逻辑应用类似,Azure Functions 使你可以预处理和后处理监视数据,并执行超出典型 Azure Monitor 警报范围的复杂操作。 Azure Functions 使用代码,但提供了比逻辑应用更大的灵活性。

常见问题解答

本部分提供常见问题的解答。

Azure Monitor、Log Analytics 和 Application Insights 之间有何区别?

2018 年 9 月,Microsoft 将 Azure Monitor、Log Analytics 和 Application Insights 合并到单个服务中,以便对应用程序及其依赖的组件提供强大的端到端监视功能。 Log Analytics 和 Application Insights 中的功能保持不变,但一些功能已更名为 Azure Monitor,以便更好地反映其新范围。 Log Analytics 的日志数据引擎和查询语言现在称为 Azure Monitor 日志。

Azure Monitor 的成本是多少?

Azure Monitor 的成本取决于不同功能的使用情况,主要取决于收集的数据量。 请参阅 Azure Monitor 成本和使用情况,详细了解如何确定成本,并参阅 Azure Monitor 中的成本优化,了解有关减少总支出的建议。

Azure Monitor 是否有本地版本?

不是。 Azure Monitor 是一种用于处理和存储大量数据的可缩放式云服务,但它可监视本地和其他云中的资源。

后续步骤