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

Azure Monitor 指标概述

Azure Monitor 指标是 Azure Monitor 的一项功能,它将受监视的资源中的数值数据收集到时序数据库。 指标是定期收集的数值,用于描述系统在某一特定时间的某些情况。

注意

Azure Monitor 指标是支持 Azure Monitor 的数据平台的一半。 另一半是 Azure Monitor 日志,它用于收集和组织日志与性能数据。 可以使用丰富的查询语言分析这些数据。

指标类型

Azure Monitor 指标支持多种类型的指标:

  • 原生指标使用 Azure Monitor 中的工具进行分析和警报。
    • 平台指标是从 Azure 资源收集的。 它们不需要任何配置,也无需付费。
    • 自定义指标是从配置的不同源收集的,包括虚拟机上运行的应用程序和代理。
  • Prometheus 指标(预览版)是从 Kubernetes 群集(包括 Azure Kubernetes 服务 (AKS))收集的,并使用行业标准工具(例如 PromQL 和 Grafana)进行分析和警报。

显示指标的源和用途的图表。

下表汇总了每个指标之间的差异。

类别 原生平台指标 原生自定义指标 Prometheus 指标(预览版)
Azure 资源 Azure Monitor 代理
Application insights
REST API
Azure Kubernetes 服务 (AKS) 群集
任何通过远程写入的 Kubernetes 群集
Configuration 因源而异 启用适用于 Prometheus 的 Azure Monitor 托管服务
已存储 订阅 订阅 Azure Monitor 工作区
成本 是(预览期间免费)
聚合 预先聚合 预先聚合 原始数据
分析 指标资源管理器 指标资源管理器 PromQL
Grafana 仪表板
警报 指标警报规则 指标警报规则 Prometheus 警报规则
可视化 工作簿
Azure 仪表板
Grafana
工作簿
Azure 仪表板
Grafana
Grafana
检索 Azure CLI
Azure PowerShell cmdlet
REST API 或客户端库
.NET
Go
Java
JavaScript
Python
Azure CLI
Azure PowerShell cmdlet
REST API 或客户端库
.NET
Go
Java
JavaScript
Python
Grafana

数据收集

Azure Monitor 收集来自以下源的指标。 在 Azure Monitor 指标数据库中收集这些指标后,就可以一起评估它们,而不管它们的数据源是什么:

  • Azure 资源:平台指标由 Azure 资源创建,让你可以了解其运行状况和性能。 每种资源创建一组非重复性指标,无需进行任何配置。 平台指标每分钟从 Azure 资源中收集一次,除非在指标的定义中另有规定。
  • 应用程序:Application Insights 为受监视的应用程序创建指标,以帮助检测性能问题,以及跟踪应用程序的用途趋势。 值包括服务器响应时间和浏览器异常 。
  • 虚拟机代理:从虚拟机的来宾操作系统收集指标。 可使用 Windows 诊断扩展为 Windows 虚拟机启用来宾 OS 指标,并使用 InfluxData Telegraf 代理为 Linux 虚拟机启用来宾 OS 指标。
  • 自定义指标:除了自动提供的标准指标,你还可以定义指标。 可以在 Application Insights 监视的应用程序中定义自定义指标。 还可以使用自定义指标 API 为 Azure 服务创建自定义指标。
  • Kubernetes 群集:Kubernetes 群集通常会将指标数据发送到必须维护的本地 Prometheus 服务器。 适用于 Prometheus 的 Azure Monitor 托管服务提供了从 Kubernetes 群集收集指标并将其存储在 Azure Monitor 指标中的托管服务。

有关可向 Azure Monitor 指标发送数据的完整数据源列表,请参阅 Azure Monitor 监视哪些内容?

指标资源管理器

使用指标资源管理器以交互方式分析指标数据库中的数据,并绘制随时间变化的多个指标的值图表。 可以将图表固定到仪表板,以便使用其他可视化效果来查看它们。 还可以使用 Azure 监视 REST API 检索指标。

显示指标资源管理器中显示服务器请求、服务器响应时间和失败请求的示例图的屏幕截图。

有关详细信息,请参阅 Azure Monitor 指标资源管理器入门指南

数据结构

Azure Monitor 指标收集的数据存储在为分析带有时间戳的数据而进行优化的时序数据库中。 每组指标值都是具有以下属性的时序:

  • 值的收集时间。
  • 与值关联的资源。
  • 充当指标类别的命名空间。
  • 指标名称。
  • 值本身。
  • 存在多个维度时。 自定义指标限制为 10 个维度。

多维指标

指标数据面临的一大挑战是,通常只有有限的信息来为收集的值提供上下文。 Azure Monitor 通过多维指标解决了这一挑战。

指标维度是携带更多数据来描述指标值的名称/值对。 例如,名为“可用磁盘空间”的指标的维度可能名为“驱动器”,其值为 C: 和 D: 。 该维度将允许查看所有驱动器的可用磁盘空间或单独查看每个驱动器的可用磁盘空间。

有关在指标资源管理器中查看指标维度的详细信息,请参阅应用维度筛选器和拆分

非维度指标

下表显示了来自非维度指标“网络吞吐量”的示例数据。 该指标只能回答类似“在某个给定时间我的网络吞吐量是多少?”的基本问题

时间戳 指标值
8/9/2017 8:14 1,331.8 Kbps
8/9/2017 8:15 1,141.4 Kbps
8/9/2017 8:16 1,110.2 Kbps

网络吞吐量和两个维度(“IP”和“方向”)

下表显示了来自多维度指标“网络吞吐量”(包含 IP 和 Direction 两个维度)的示例数据。 该指标可以回答类似“每个 IP 地址的网络吞吐量是多少?”以及“相对于收到的数据,发送的数据有多少?”的问题

时间戳 “IP”维度 “方向”维度 指标值
8/9/2017 8:14 IP="192.168.5.2" Direction="Send" 646.5 Kbps
8/9/2017 8:14 IP="192.168.5.2" Direction="Receive" 420.1 Kbps
8/9/2017 8:14 IP="10.24.2.15" Direction="Send" 150.0 Kbps
8/9/2017 8:14 IP="10.24.2.15" Direction="Receive" 115.2 Kbps
8/9/2017 8:15 IP="192.168.5.2" Direction="Send" 515.2 Kbps
8/9/2017 8:15 IP="192.168.5.2" Direction="Receive" 371.1 Kbps
8/9/2017 8:15 IP="10.24.2.15" Direction="Send" 155.0 Kbps
8/9/2017 8:15 IP="10.24.2.15" Direction="Receive" 100.1 Kbps

指标保留期

平台和自定义指标

平台和自定义指标存储 93 天,但以下情况除外:

  • 经典来宾 OS 指标:这些性能计数器由 Windows 诊断扩展Linux 诊断扩展收集,将路由到 Azure 存储帐户。 保证这些指标的保留期至少为 14 天,但不会将到期日期写入存储帐户。

    出于性能原因,门户会根据卷限制显示的数据量。 因此,如果写入的数据量不大,则门户检索到的实际天数可能会超过 14 天。

  • 发送到 Azure Monitor 指标的来宾 OS 指标:这些性能计数器由 Windows 诊断扩展收集,并通过数据收集规则发送到 Azure Monitor 数据接收器或 Linux 计算机上的 InfluxData Telegraf 代理或较新的 Azure Monitor 代理。 这些指标的保留期为 93 天。

  • Log Analytics 代理收集的来宾 OS 指标:这些性能计数器由 Log Analytics 代理收集,将发送到 Log Analytics 工作区。 这些指标的保留期为 31 天,最多可延长到 2 年。

  • Application Insights 基于日志的指标:在幕后,基于日志的指标将转换为日志查询。 它们的保留期可变,并与基础日志中的事件保留期一致(31 天到 2 年)。 对于 Application Insights 资源,日志的存储时间为 90 天。

虽然平台和自定义指标存储 93 天,但只能在任意单个图表上查询最多 30 天的数据(在“指标”磁贴中)。 此限制不适用于基于日志的指标。 如果显示空白图表,或图表仅显示部分指标数据,请验证时间选取器中开始日期和结束日期之间的间隔是否不超过 30 天。 选择 30 天间隔后,可以平移图表以查看完整的保留期窗口。

Prometheus 指标

Prometheus 指标存储 18 个月,但 PromQL 查询最多只能跨 32 天。

后续步骤