你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Monitor 概述

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

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

Diagram that shows an abstracted view of what Azure monitor does as described in the previous paragraph.

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

概要体系结构

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

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

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

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

如果你是 System Center Operations Manager (SCOM) 用户,Azure Monitor 现在包含 Azure Monitor SCOM 托管实例 (SCOM MI)。 Operations Manager MI 是 Operations Manager 的云托管版本,可用于将本地 Operations Manager 安装迁移到 Azure。

下图显示了 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 的核心数据平台具有针对指标、日志、跟踪和更改的存储。 System Center Operations Manager MI 使用其自己托管在 SQL 托管实例中的数据库。

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

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

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

数据源

Azure Monitor 可从多个源收集数据

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

Diagram that shows an overview of Azure Monitor data sources.

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

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

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

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

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

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

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

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

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

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

数据收集和路由

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

Diagram that shows an overview of Azure Monitor data collection and routing.

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

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

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

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

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

数据平台

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

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

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

Diagram that shows an overview of Azure Monitor data platform.

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

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

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

要实现监视数据的长期低成本存档来满足审核或合规需求,可以导出到 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 中的工具、见解和可视化效果。

Screenshot that shows the Monitor section of the Azure portal.

Insights

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

Diagram that shows the Insights part of the Consumption section of the Azure Monitor system.

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

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

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

可视化

Diagram that shows the Visualize part of the Consumption section of the Azure Monitor system.

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

可视化效果 说明
仪表板 Azure 仪表板允许将不同类型的数据合并到 Azure 门户的单个窗格中。 可以选择与其他 Azure 用户共享仪表板。 可以将任意日志查询或指标图表的输出添加到 Azure 仪表板。 例如,可以创建一个包含多个磁贴的仪表板,这些磁贴分别用于显示指标图、活动日志表、Application Insights 的使用情况图表,以及日志查询的输出。
工作簿 工作簿提供了灵活的画布,用于数据分析和在 Azure 门户中创建丰富的可视化报表。 可以使用它们从多个数据源查询数据。 工作簿可以在一个可视化效果中合并和关联来自多个数据集的数据,从而轻松直观地呈现系统。 工作簿是交互式的,可以跨团队共享并实时更新数据。 使用见解提供的工作簿、利用模板库或创建自己的模板。
Power BI Power BI 是业务分析服务,可提供跨各种数据源的交互式可视化效果。 它是将数据提供给组织内外的其他人的有效方法。 可将 Power BI 配置为自动从 Azure Monitor 导入日志数据,以利用这些可视化效果。
Grafana Grafana 是一个适用于操作仪表板的开放平台。 Grafana 的所有版本都包含 Azure Monitor 数据源插件,可用于可视化 Azure Monitor 指标和日志。 Azure 托管 Grafana 还针对 Azure Monitor 和 Azure 数据资源管理器等 Azure 本机数据存储优化了此体验。 这样就能轻松连接到订阅中的任何资源,并在熟悉的 Grafana 仪表板中查看所有生成的监视数据。 它还支持将 Azure Monitor 指标和日志中的图表固定到 Grafana 仪表板。

Grafana 也具有适用于非 Microsoft APM 工具(如 Dynatrace、New Relic 和 AppDynamics)的常用插件和仪表板模板。 借助这些资源,可将 Azure 平台数据以及这些其他工具收集的、堆栈中较高层的其他指标一起可视化。 它还具有 AWS CloudWatch 和 GCP BigQuery 插件,用于在单一管理平台中进行多云监视。

分析

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

Diagram that shows the Analyze part of the Consumption section of the Azure Monitor system.

工具 说明
指标资源管理器 使用 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 资源提供程序,用于检查订阅中的资源更改并为诊断工具提供数据,以帮助用户了解哪些更改可能导致问题。 Azure 门户中的更改分析用户界面可让你了解实时站点问题、中断或组件故障的原因。 更改分析使用 Azure Resource Graph 来检测从基础结构层到应用程序部署的各种类型的更改。

响应

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

Diagram that shows the Respond part of the Consumption section of the Azure Monitor system.

用于 IT 运营的人工智能 (AIOps) 可以提高服务质量和可靠性,方法是使用机器学习处理从应用程序、服务和 IT 资源收集到 Azure Monitor 的数据,并根据这些数据自动执行相关操作。 它可以自动执行数据驱动的任务、预测容量使用情况、识别性能问题,并检测应用程序、服务和 IT 资源的异常情况。 这些功能可简化 IT 监视和操作,而无需机器学习专业知识。

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

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

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

Screenshot that shows the Azure Monitor alerts UI in the Azure portal.

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

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

Conceptual diagram showing how autoscale grows

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

集成

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

Diagram that shows the Integrate part of the Consumption section of the Azure Monitor system.

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 Monitor 基础结构不提供内置方法时,还可以执行其他更复杂的操作
Azure Functions 与 Azure 逻辑应用类似,Azure Functions 使你可以预处理和后处理监视数据,并执行超出典型 Azure Monitor 警报范围的复杂操作。 Azure Functions 使用代码,但提供了比逻辑应用更大的灵活性。
Azure DevOps 和 GitHub Azure Monitor Application Insights 使你能够创建内嵌监视数据的工作项集成。 其他选项包括发布注释持续监视

你可能感兴趣但未在图中显示的其他集成。

集成 说明
Defender for Cloud 收集和分析安全事件并执行威胁分析。 请参阅 Defender for the Cloud 中的数据收集
Microsoft Sentinel 连接到不同的源,包括 Office 365 和 Amazon Web Services 云轨迹。 请参阅连接数据源
Microsoft Intune 创建诊断设置以将日志发送到 Azure Monitor。 请参阅将日志数据发送到 Intune 中的存储、事件中心或日志分析(预览版)
ITSM 通过 IT 服务管理 (ITSM) 连接器,可以将 Azure 连接到受支持的 ITSM 产品/服务。

这些只是一些选项。 还有更多第三方公司在不同级别上与 Azure 和 Azure Monitor 集成。 使用你喜欢的搜索引擎找到它们。

常见问题解答

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

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 是一种用于处理和存储大量数据的可缩放式云服务,但它可监视本地和其他云中的资源。

Azure Monitor 是否与 System Center Operations Manager 集成?

可将现有 System Center Operations Manager 管理组连接到 Azure Monitor,从而将来自代理的数据收集到 Azure Monitor 日志中。 通过此功能,可使用日志查询和解决方案来分析从代理收集到的数据。 你还可配置现有 System Center Operations Manager 代理,将数据直接发送到 Azure Monitor。 请参阅将 Operations Manager 连接到 Azure Monitor

Microsoft 还提供 System Center Operations Manager 托管实例 (SCOM MI) 作为将传统 SCOM 设置迁移到云的选项,只需进行最少的更改。 有关详细信息,请参阅关于 Azure Monitor SCOM 托管实例

后续步骤