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

云监视平台概述

本文是云监视指南系列教程的一部分。

Microsoft 提供多个产品的一系列云监视功能:

这些产品/服务提供核心监视服务,例如警报、服务运行时间跟踪、应用程序和基础结构运行状况监视、诊断和分析。

以下部分概述了我们的监视平台,以帮助你了解每个平台如何提供核心监视功能。

基础结构要求

Operations Manager

Operations Manager 需要大量的基础结构和维护来支持管理组,这是一个基本功能单元。 管理组至少包含一个或多个管理服务器、一个 SQL Server 实例(托管操作和报表数据仓库数据库)以及多个代理。 管理组设计的复杂性取决于多种因素,例如要监视的工作负荷范围以及支持工作负荷的设备或计算机数。 如果需要高可用性和站点复原能力,通常与企业监视平台一样,基础结构要求和相关维护可能会显著增加。

Diagram of Operations Manager management group

Azure Monitor SCOM 托管实例

Azure Monitor SCOM 托管实例是 Azure 中托管的 System Center Operations Manager 的 PaaS 产品/服务。 SCOM 托管实例需要最少的基础结构和维护,因为许多基础结构组件(例如管理服务器和数据库)托管在 Azure 中并由 Microsoft 管理;你不再需要负责使用最新升级和功能修补管理服务器和数据库。 此外,可以在单击按钮时缩放管理服务器。

Diagram of Operations Manager Managed Instance architecture.

Azure Monitor

Azure Monitor 是一种软件即服务 (SaaS) 产品,因此它所支持的基础结构在 Azure 中运行,由 Microsoft 管理。 它大规模执行监视、分析和诊断。 它在所有国家/地区云中都可用。 支持 Azure Monitor 的基础结构的核心部分(收集器、指标和日志存储以及分析)由 Microsoft 维护。

Diagram of Azure Monitor

数据收集

Operations Manager 和 SCOM 托管实例

代理

Operations Manager 仅从安装在 Windows 计算机上的代理收集数据。 它可以接受来自 Operations Manager SDK 的数据,但这种方法通常适用于使用自定义应用程序扩展产品的合作伙伴,而不是用于收集监视数据。 它可以通过使用在远程访问这些其他设备的 Windows 代理上运行的特殊模块,从其他源(如 Linux 计算机和网络设备)收集数据。

注意

SCOM 托管实例只能从 Windows 计算机上的代理收集数据。

Diagram of Operations Manager agent

Operations Manager 代理可以从本地计算机(例如事件日志、自定义日志和性能计数器)收集数据。 它还可以运行脚本,从本地计算机或外部源收集数据。 可以编写自定义脚本,以收集其他方式无法收集的数据,或者从无法监视的各种远程设备收集数据。

管理包

Operations Manager 使用工作流(规则、监视器和对象发现)执行所有监视。 这些工作流打包在管理包,并部署到代理。 管理包可用于各种产品和服务,其中包括预定义的规则和监视器。 还可以为应用程序和自定义方案创作自己的管理包。

监视配置

管理包可以包含数百个规则、监视器和对象发现规则。 代理从适用的所有管理包中运行所有这些监视设置,这些设置通过发现规则确定。 每个监视设置的每个实例都独立运行,并立即对其收集的数据执行操作。 这就是 Operations Manager 实现近乎实时的警报以及获取所监视资源的当前运行状况状态的方式。

例如,监视器可能每隔几分钟会对性能计数器进行一次采样。 如果该计数器超出阈值,它会立即设置其目标对象的运行状况状态,这会立即在管理组中触发警报。 计划的规则可能会监视要创建的特定事件,并在该事件在本地事件日志中创建时立即触发警报。

由于这些监视设置彼此隔离,并且与各个数据源一起工作,Operations Manager 在多个源之间对数据存在关联的挑战。 收集数据后,也很难对数据做出反应。 可以运行访问 Operations Manager 数据库的工作流,但这种情况很少见,并且通常用于有限数量的专用工作流。

Diagram of Operations Manager management group

Azure Monitor

数据源

Azure Monitor 从各种源收集数据,包括 Azure 平台日志、Azure 活动日志、资源日志、Azure 来宾操作系统和混合虚拟机上的 Azure Monitor 代理(AMA),以及从 Azure 中的资源诊断数据。 任何 REST 客户端都可以使用 API 将日志数据写入 Azure Monitor,并且可以为 Web 应用程序定义自定义指标。 某些指标数据可以路由到不同的位置,具体取决于使用情况。 例如,可以将数据用于“尽可能快”的警报或长期趋势分析搜索和其他日志数据。

监视见解

见解(例如 Application Insights、Azure 容器见解和 Azure VM 见解)使用 Azure Monitor 的日志和指标平台为Azure 门户中的应用程序或服务提供自定义的监视体验。 它们可能提供运行状况监视和警报条件,以及对收集的数据进行自定义分析。

监视配置

Azure Monitor 将数据收集与针对该数据执行的操作区分开,从而支持在云环境中的分布式微服务。 它将来自多个源的数据合并到通用数据平台中,并根据收集的数据提供分析、可视化和警报功能。

Azure Monitor 收集的数据以日志或指标的形式存储,Azure Monitor 的不同功能依赖于其中的一种形式。 指标包含时序中的数值,这些值非常适用于近乎实时的警报和快速检测问题。 日志包含文本或数字数据,可以使用强大的语言进行查询,以便执行复杂分析。

由于 Azure Monitor 将数据收集与针对该数据执行的操作区分开,因此在许多情况下,它可能无法提供近乎实时的警报。 若要对日志数据发出警报,则需按警报中定义的定期计划运行查询。 此行为允许 Azure Monitor 快速关联所有受监视源的数据,并且可以以各种方式以交互方式分析数据。 这对于根本原因分析和确定问题发生位置特别有用。

运行状况监视

Operations Manager 和 SCOM 托管实例

Operations Manager 中的管理包包含一个服务模型,该模型描述所监视的应用程序的组件及其关系。 监视器根据代理上的数据和脚本来识别每个组件的当前运行状况状态。 运行状况状态汇总,以便快速查看受监视计算机和应用程序的汇总运行状况。

Azure Monitor

Azure Monitor 不会提供用户可定义的方法来实现服务模型,也不提供指示任何服务组件的当前运行状况状态的监视器。 Azure Monitor 的以下功能非常有用:

  • Application Insights 生成 Web 应用程序的复合映射,并为每个应用程序组件或依赖项提供运行状况状态。 这包括警报状态和向下钻取应用程序的更详细诊断信息。

  • Azure VM 见解 监视虚拟机和虚拟机规模集的性能和运行状况。 使用 Azure VM Insights 监视正在运行的进程和依赖项,并提供可预测的性能和可用性趋势。 还可以通过 应用程序更改分析 监视对资源的更改,以了解对虚拟机的任何更改是否影响了其性能。

  • Azure 容器见解监视Azure Kubernetes 服务或Azure 容器实例的性能和运行状况。 它通过指标 API 从 Kubernetes 中提供的控制器、节点和容器收集内存和处理器指标。 它还收集容器日志和有关容器及其映像的库存数据。 基于收集的性能数据的预定义运行状况条件可帮助确定是否存在资源瓶颈或容量问题。 还可以了解特定 Kubernetes 对象类型(Pod、节点、控制器或容器)的总体性能或性能。

分析数据

Operations Manager 和 SCOM 托管实例

Operations Manager 提供了在收集数据后分析数据的以下基本方法:

  • 运行状况资源管理器:帮助你发现哪些监视器正在识别运行状况状态问题,并查看关于监视器及其相关操作的可能原因的知识。

  • 报表:让你可汇总存储在 Operations Manager 数据仓库中的历史数据。 可以自定义视图和报表所基于的数据。 若要了解详细信息,请参阅在 Operations Manager 中使用报表工作区并在 Power BI 上创建报表

  • Operations Manager 命令行界面: 使用另一组 cmdlet 扩展 Windows PowerShell,并且可以查询和可视化收集的数据。 这包括使用 PowerShell 或基于 Operations Manager HTML 的 Web 控制台本机进行图形和其他可视化效果。

Azure Monitor

借助功能强大的 Azure Monitor 分析引擎,你能够以交互方式处理日志数据,并将它们与其他监视数据合并,以便进行趋势分析和其他数据分析。 视图和仪表板可让你从 Azure 门户以各种方式对查询数据进行可视化,并将其导入 Power BI。 Application Insights、Azure VM 见解和 Azure 容器见解等见解包括自定义可视化效果,以支持交互式监视方案。

Azure Monitor 支持多种分析和可视化数据的方法,包括:

  • 指标资源管理器
  • Log Analytics
  • Azure 工作簿
  • Azure 仪表板
  • Grafana
  • Power BI
  • Azure 监视器合作伙伴集成

若要了解详细信息,请参阅 “分析和可视化监视数据”。

警报

Operations Manager 和 SCOM 托管实例

在达到性能阈值时以及受监视组件的运行状况发生变化时,Operations Manager 会创建警报以响应预定义事件。 它包括警报的全面管理,让你可设置解决方法,并将其分配给不同的操作员或系统工程师。 可以设置通知规则,以指定哪些警报将发送主动通知。

管理包包括针对受监视应用程序中不同关键情况的各种预定义警报规则。 你可以根据环境的特定要求调整这些规则或创建自定义规则。

Azure Monitor

使用 Azure Monitor,可以基于超出阈值的指标或基于计划的查询结果创建警报。 使用 Azure Monitor 中的日志查询警报,可以跨存储在多个工作区中的所有数据分析数据。 这些警报还包括使用跨工作区查询的特定 Application Insights 应用程序的数据。

Azure Monitor 支持无状态警报和有状态警报:

  • 每当满足条件时都会触发无状态警报,即使之前已触发。
  • 满足条件时触发有状态警报,然后在解决条件之前不会再次触发或触发。

工作流

Operations Manager 和 SCOM 托管实例

Operations Manager 中的管理包包含数百个单个工作流,并确定要收集和执行哪些操作的数据。 例如,某个规则可能每隔几分钟对性能计数器进行一次采样,并存储其结果以进行分析。 监视器可能会对同一性能计数器进行采用,并将其值与阈值进行比较,以确定受监视对象的运行状况状态。 另一个规则可能会运行脚本来收集和分析代理计算机上的某些数据,然后在返回特定值时触发警报。

Operations Manager 中的工作流彼此独立,这导致很难跨多个受监视对象进行分析。 这些监视方案必须基于收集后的数据,这是可能的,但可能很困难和罕见。

Azure Monitor

Azure Monitor 将数据收集与针对该数据执行的操作和分析区分开。 代理和其他数据源将日志数据写入 Log Analytics 工作区,并将指标数据写入指标数据库,而无需分析该数据或了解其使用方式。 监视器从存储的数据执行警报和其他操作,使你能够分析来自所有源的数据。

扩展基础平台

Operations Manager 和 SCOM 托管实例

Operations Manager 在管理包中实现所有监视逻辑,你自己创建或从合作伙伴或我们那里获取这些逻辑。 安装管理包时,它会在不同代理上自动发现应用程序或服务的组件,并部署相应的规则和监视器。 管理包包含运行状况定义、警报规则、性能和事件收集规则以及视图,以提供支持基础结构服务或应用程序的全面监视。

Operations Manager SDK 使 Operations Manager 能够与第三方监视平台或 IT 服务管理 (ITSM) 软件集成。 某些合作伙伴管理包还使用 SDK 来支持监视网络设备,并提供自定义的演示体验,如 Squared Up HTML5 仪表板或与 Microsoft Office Visio 的集成。

Azure Monitor

Azure Monitor 从 Azure 资源收集指标和日志,几乎没有配置。 Insights(例如 Application Insights 和 Azure VM 见解)使用 Azure Monitor 平台进行数据收集和处理。 它们还提供其他工具来可视化和分析数据。 可以使用核心 Azure Monitor 功能(例如日志查询和警报)将见解收集的数据与其他数据相结合。

监视器支持多种用于从 Azure 或外部资源收集监视数据或管理数据的方法。 然后,你可以从指标或日志存储中提取数据并将其转发到 ITSM 或监视工具。 或者,你可以使用 Azure Monitor REST API 来执行管理任务。

后续步骤