Azure Monitor 概述
Azure Monitor 是一个全面的监视解决方案,可用于收集、分析和响应来自云和本地环境的遥测数据。 可使用 Azure Monitor 来帮助最大程度地提高应用程序和服务的可用性和性能。
Azure Monitor 从系统的每个层和组件收集数据并将其聚合到通用数据平台中。 除了托管其他服务的数据,它还可关联多个 Azure 订阅和租户中的数据。 由于这些数据存储在一起,因此可以使用一组常见的工具对其进行关联和分析。 然后,可以使用这些数据进行分析和可视化,以帮助了解应用程序如何执行和自动响应系统事件。
Azure Monitor 还包括 Azure Monitor SCOM 托管实例,使你能够将本地 System Center Operations Manager (Operations Manager) 安装移动到 Azure 的云中。
使用 Azure Monitor 监视 Azure、其他云或本地的以下资源类型:
- 应用程序
- 虚拟机
- 来宾操作系统
- 容器
- 数据库
- 网络事件和运行状况(结合使用网络观察程序)
- 使用 API 将数据导入 Azure Monitor 的自定义源
还可以将监视数据从 Azure Monitor 导出到其他系统,以便:
- 与其他第三方和开源监视及可视化工具集成
- 与票证系统集成
监视和可观测性
可观测性是根据内部系统生成的数据评估内部系统状态的能力。 可观测性解决方案分析输出数据,提供系统运行状况评估,还提供可操作的见解来解决整个 IT 基础结构中的问题。
没有监视,就不可能实现可观测性。 监视是指对 IT 系统提取的数据进行收集和分析。
可观测性的支柱是不同类型的数据,监视工具必须收集并分析这些数据才能对监视的系统进行充分的观测。 指标、日志和分布式跟踪通常称为“可观测性的支柱”。 Azure Monitor 为这些支柱添加了“更改”。
当系统可观测时,用户可通过查看系统生成的数据来识别性能问题的根本原因,而无需进行其他测试或编码。 Azure Monitor 通过关联多个支柱提供的数据并聚合整个受监视资源集中的数据来实现可观测性。 Azure Monitor 提供了一组通用工具来关联和分析来自多个 Azure 订阅和租户的数据,以及为其他服务托管的数据。
概要体系结构
下图提供了 Azure Monitor 的概要视图。
此图描绘了 Azure Monitor 系统组件:
- 数据类型是从每项受监视资源收集的数据的类型。 数据被收集并路由到数据平台。
- 数据平台由所收集数据的数据存储组成。 Azure Monitor 的数据平台具有针对指标、日志、跟踪和更改的存储。
- 使用数据的函数和组件包括分析、可视化效果、见解和响应。
- 与 Azure Monitor 集成以提供附加功能并整合在整个系统中的服务。
数据源
Azure Monitor 可以从应用程序、操作系统、它们所依赖的服务以及平台本身等多个源收集数据。
可以使用应用程序、基础结构和自定义数据源集成来自 Azure 外部的源(包括本地和其他非 Azure 云)的监视数据。
Azure Monitor 收集以下类型的数据:
数据类型 | 说明 |
---|---|
应用程序 | 有关应用程序代码在任何平台上的性能和功能的数据。 |
基础结构 | - 容器。 容器数据,例如 Azure Kubernetes 服务以及在容器内运行的应用程序的数据。 - 操作系统。 有关运行应用程序的来宾操作系统的数据。 |
Azure 平台 | - Azure 资源。 Azure 资源的操作。 - Azure 订阅。 有关 Azure 订阅的操作和管理,以及有关 Azure 本身的运行状况和操作的数据。 - Azure 租户。 有关租户级 Azure 服务(例如 Azure Active Directory)操作的数据。 - Azure 资源更改。 有关 Azure 资源中的更改以及如何处理和会审事件和问题的数据。 |
自定义源 | 使用 Azure Monitor REST API 将客户指标或日志数据发送到 Azure Monitor,并合并对不通过其他方法公开监视数据的资源的监视。 |
有关每个数据源的详细信息,请参阅数据源。
数据收集和路由
Azure Monitor 使用多种机制收集和路由监视数据,具体取决于要路由的数据和目标数据平台存储。
收集方法 | 说明 |
---|---|
直接数据路由 | 默认情况下,平台指标会自动发送到 Azure Monitor 指标,无需配置。 |
诊断设置 | 使用诊断设置确定在数据平台上发送资源和活动日志数据的位置。 |
数据收集规则 | 使用数据收集规则指定应收集哪些数据、如何转换该数据以及将该数据发送到哪里。 |
应用程序 SDK | 将 Application Insights SDK 添加到应用程序代码,以接收、存储和浏览监视数据。 SDK 在将数据发送到 Azure 之前会预处理遥测数据和指标,这些内容在引入到 Azure 并在其中进一步处理后,将存储在 Azure Monitor 日志中。 |
Azure 监视器 REST API | 利用 Azure Monitor 中的日志引入 API,可以从任何 REST API 客户端将数据发送到 Log Analytics 工作区。 |
Azure Monitor 代理 | Azure Monitor 代理 (AMA) 从 Azure 和混合虚拟机的来宾操作系统收集监视数据,并将其传送到 Azure Monitor,供不同的功能、见解和其他服务(如 Microsoft Defender for Cloud)使用。 |
有关数据收集的详细信息,请参阅数据收集。
数据平台
Azure Monitor 在数据存储中为可观测性的每个支柱(指标、日志、分布式跟踪和更改)存储数据。 每个存储都针对特定类型的数据和监视场景进行了优化。
可观测性的支柱/ 数据存储 |
说明 |
---|---|
Azure Monitor 指标 | 指标是数字值,用于描述系统某个方面在特定时间点的情况。 Azure Monitor 指标是经过优化的时序数据库,可用于分析带有时间戳的数据。 Azure Monitor 定期收集指标。 指标是通过时间戳、名称、值以及一个或多个定义标签进行标识的。 可以使用算法来聚合指标、将其与其他指标进行比较,以及通过分析指标来了解一段时间内的趋势。 它支持本机 Azure Monitor 指标。 |
Azure Monitor 日志 | 日志是记录的系统事件。 日志可包含不同类型的数据,可以结构化或采用自由文本格式,它们包含时间戳。 Azure Monitor 在 Azure Monitor 日志中存储所有类型的结构化和非结构化日志数据。 可以将数据路由到 Log Analytics 工作区进行查询和分析。 |
跟踪 | 分布式跟踪可识别通过分布式系统跟进用户请求的一系列相关事件。 跟踪可度量应用程序在系统的整套组件中的运行状况和性能。 跟踪可用于确定应用程序代码的行为,以及不同事务的性能。 Azure Monitor 通过 Application Insights SDK 获取分布式跟踪数据。 跟踪数据存储在 Azure Monitor 日志中的单独工作区中。 |
Azure 门户
Azure 门户是基于 Web 的统一控制台,提供可替代命令行工具的方法。 通过 Azure 门户,可以使用图形用户界面管理 Azure 订阅。 可以在门户中生成、管理和监视一切内容,范围从简单的 Web 应用到复杂的云部署不等。 Azure 门户的“监视”部分提供了一个可视化界面,使你能够访问为 Azure 资源收集的数据并轻松访问 Azure Monitor 中的工具、见解和可视化效果。
见解和可视化效果
见解和可视化效果可帮助你更深入地了解计算环境操作。 某些 Azure 资源提供程序具有精选的可视化效果,它们提供自定义的监视体验,需要的配置极少。
洞察力
见解是可缩放的大型精选可视化效果。 有关详细信息,请参阅使用 Azure Monitor 的见解和特选可视化效果的列表。 下表介绍了三种主要见解:
见解 | 说明 |
---|---|
Application Insights | Application Insights 利用 Azure Monitor 中的强大数据分析平台来提供应用程序操作的深入见解。 无论 Web 应用程序托管在云中还是本地,Application Insights 都可以监视其可用性、性能和使用情况。 你可将其用于诊断错误,无需等到用户报告错误。 Application Insights 包含各种开发工具的连接点,并与 Visual Studio 集成以支持 DevOps 过程。 |
容器见解 | 容器见解可让你了解部署到 Azure Kubernetes 服务上托管的托管 Kubernetes 群集的容器工作负载的性能。 容器见解通过指标 API 从 Kubernetes 中提供的控制器、节点和容器收集容器日志和指标。 从 Kubernetes 群集启用监视后,将通过适用于 Linux 的 Log Analytics 代理的容器化版本自动收集这些指标和日志。 |
可视化
图表和表等可视化效果是用于汇总监视数据并向不同受众呈现这些数据的有效工具。 Azure Monitor 自带可视化监视数据的功能,并且可以使用其他 Azure 服务将这些数据发布给不同的受众。
可视化效果 | 说明 |
---|---|
仪表板 | 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。 |
响应
有效的监视解决方案可主动响应关键事件,而无需个人或团队注意该问题。 响应可以是发送给管理员的文本或电子邮件,也可以是尝试更正错误状态的自动化过程。
- 警报会向你发送有关关键情况的通知并采取纠正措施。 警报规则可以基于指标或日志数据。 指标警报规则根据收集的指标提供准实时警报。 基于日志的日志警报规则支持使用跨多个来源中的数据的复杂逻辑。 警报规则使用操作组,这些操作组可以执行发送电子邮件或短信通知等操作。 操作组可使用 Webhook 发送通知,以触发外部进程或与 IT 服务管理工具集成。 操作组、操作和收件人集可跨多个规则共享。
- 自动缩放使你可以在处理应用程序上的负载时动态控制运行的资源数量。 可以创建使用 Azure Monitor 指标的规则,以确定负载增加后何时自动添加资源,或何时移除处于空闲状态的资源。 可以指定最小和最大实例数,以及控制何时增加或减少资源以节省资金并提高性能的逻辑。
集成
可能需要将 Azure Monitor 与其他系统集成,或生成使用监视数据的自定义解决方案。 这些 Azure 服务使用 Azure Monitor 来提供集成功能。
Azure 服务 | 描述 |
---|---|
事件中心 | Azure 事件中心是流式处理平台和事件引入服务。 它可以使用任何实时分析提供程序或批处理/存储适配器来转换和存储数据。 使用事件中心可将 Azure Monitor 数据流式传输到合作伙伴 SIEM 和监视工具。 |
逻辑应用 | 可使用 Azure 逻辑应用服务通过与不同系统和服务集成的工作流将任务和业务流程自动化。 可以使用可在 Azure Monitor 中读取和写入指标和日志的活动。 |
API | 可以使用多个 API 从/向 Azure Monitor 读取和写入指标与日志,以及访问生成的警报。 还可以配置和检索警报。 借助 API,可以不受限制地生成可与 Azure Monitor 集成的自定义解决方案。 |