CnOps 智能运维与可观测社区
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题

CnOps 智能运维与可观测社区

愿景

CnOps 智能运维与可观测社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页/开源项目/Prometheus/数据模型
文档目录
数据模型指标类型作业和实例

Prometheus

数据模型

Prometheus 从根本上将所有数据存储为时间序列:属于同一指标和同一组标签维度的带时间戳值的流。除了存储的时间序列外,Prometheus 还可以生成临时的派生时间序列作为查询的结果。 每个时间序列由其指标名称和可选的键值对(称为标签)唯一标识。 指标名称: 指标名称应该(SHOULD)描述被测量的系统的通用特征(例如 httprequeststotal - 接收到的 HTTP...

Prometheus 从根本上将所有数据存储为时间序列:属于同一指标和同一组标签维度的带时间戳值的流。除了存储的时间序列外,Prometheus 还可以生成临时的派生时间序列作为查询的结果。

指标名称和标签

每个时间序列由其指标名称和可选的键值对(称为标签)唯一标识。

指标名称:

  • 指标名称应该(SHOULD)描述被测量的系统的通用特征(例如 http_requests_total - 接收到的 HTTP 请求总数)。
  • 指标名称可以(MAY)使用任何 UTF-8 字符。
  • 为了获得最佳体验和兼容性,指标名称应该(SHOULD)匹配正则表达式 [a-zA-Z_:][a-zA-Z0-9_:]*(请参阅下面的警告)。不在该集合中的指标名称在使用时需要加引号,例如在 PromQL 中使用时(参见 UTF-8 指南)。

注意:冒号(':')保留给用户定义的记录规则。导出器或直接插桩不应该(SHOULD NOT)使用冒号。

指标标签:

标签允许你捕获同一指标名称的不同实例。例如:使用方法 POST 到 /api/tracks 处理器的所有 HTTP 请求。我们将此称为 Prometheus 的"维度数据模型"。查询语言允许基于这些维度进行过滤和聚合。任何标签值的更改(包括添加或删除标签)都会创建一个新的时间序列。

  • 标签名称可以(MAY)使用任何 UTF-8 字符。
  • 以 __(两个下划线)开头的标签名称必须(MUST)保留给 Prometheus 内部使用。
  • 为了获得最佳体验和兼容性,标签名称应该(SHOULD)匹配正则表达式 [a-zA-Z_][a-zA-Z0-9_]*(请参阅下面的警告)。不在该正则表达式中的标签名称在使用时需要加引号,例如在 PromQL 中使用时(参见 UTF-8 指南)。
  • 标签值可以(MAY)包含任何 UTF-8 字符。
  • 标签值为空的标签被视为等同于不存在的标签。

警告:指标和标签名称的 UTF-8 支持是在 Prometheus v3.0.0 中相对较近才添加的。更广泛的生态系统(下游兼容 PromQL 的项目和供应商、工具、第三方插桩、收集器等)可能需要时间来采用新的引号机制、放宽的验证等。为了获得最佳兼容性,建议使用推荐的("SHOULD")字符集。

提示:另请参阅指标和标签命名的最佳实践。

样本

样本构成实际的时间序列数据。每个样本包含:

  • 一个 float64 或原生直方图值
  • 一个毫秒精度的时间戳

表示法

给定指标名称和一组标签,时间序列通常使用以下表示法标识:

<metric name>{<label name>="<label value>", ...}

例如,指标名称为 api_http_requests_total、标签为 method="POST" 和 handler="/messages" 的时间序列可以这样表示:

api_http_requests_total{method="POST", handler="/messages"}

这与 OpenTSDB 使用的表示法相同。

包含推荐字符集之外的 UTF-8 字符的名称必须加引号,使用以下表示法:

{"<metric name>", <label name>="<label value>", ...}

由于指标名称在内部表示为具有特殊标签名称的标签对(__name__="<metric name>"),也可以使用以下表示法:

{__name__="<metric name>", <label name>="<label value>", ...}

文章大纲