指标类型

Prometheus 客户端库提供四种核心指标类型。这些类型目前仅在客户端库中(为了提供针对特定类型用法定制的 API)和线缆协议中进行区分。Prometheus 服务器尚未使用类型信息,并将所有数据扁平化为无类型时间序列。这在未来可能会改变。

计数器 (Counter)

*计数器 (Counter)* 是一种累积指标,表示一个单调递增计数器,其值只能增加或在重启时重置为零。例如,您可以使用计数器来表示已处理的请求数、已完成的任务数或错误数。

不要使用计数器来暴露可能减少的值。例如,不要将计数器用于当前运行的进程数;而是应该使用仪表盘。

计数器客户端库使用文档

仪表盘 (Gauge)

*仪表盘 (Gauge)* 是一种指标,表示一个可以任意增减的单一数值。

仪表盘通常用于测量值,如温度或当前内存使用量,但也可以用于可以增减的“计数”,如并发请求数。

仪表盘客户端库使用文档

直方图 (Histogram)

*直方图 (Histogram)* 对观测值(通常是请求持续时间或响应大小等)进行采样,并将其计数到可配置的桶中。它还提供所有观测值的总和。

基准指标名称为 <basename> 的直方图在抓取时会暴露多个时间序列

  • 观测桶的累积计数器,暴露为 <basename>_bucket{le="<upper inclusive bound>"}
  • 所有观测值的**总和**,暴露为 <basename>_sum
  • 已观测事件的**计数**,暴露为 <basename>_count(与上述 <basename>_bucket{le="+Inf"} 相同)

使用 histogram_quantile() 函数可以从直方图或直方图聚合中计算分位数。直方图也适用于计算 Apdex 分数。在对桶进行操作时,请记住直方图是累积的。有关直方图使用和与摘要之间差异的详细信息,请参阅直方图和摘要

注意从 Prometheus v2.40 开始,实验性地支持原生直方图。原生直方图只需要一个时间序列,其中除了观测值的总和与计数外,还包含动态数量的桶。原生直方图能以极低的成本提供更高的分辨率。一旦原生直方图接近稳定功能,将提供详细文档。
注意从 Prometheus v3.0 开始,经典直方图的 le 标签值在摄入时会进行规范化,以遵循 OpenMetrics 标准数字格式

直方图客户端库使用文档

摘要 (Summary)

与 *直方图* 类似,*摘要 (Summary)* 对观测值(通常是请求持续时间或响应大小等)进行采样。虽然它也提供观测值的总计数和所有观测值的总和,但它会在滑动时间窗口上计算可配置的分位数。

基准指标名称为 <basename> 的摘要在抓取时会暴露多个时间序列

  • 观测事件的流式 **φ-分位数** (0 ≤ φ ≤ 1),暴露为 <basename>{quantile="<φ>"}
  • 所有观测值的**总和**,暴露为 <basename>_sum
  • 已观测事件的**计数**,暴露为 <basename>_count

有关 φ-分位数、摘要用法以及与直方图之间差异的详细解释,请参阅直方图和摘要

注意从 Prometheus v3.0 开始,quantile 标签的值在摄入时会进行规范化,以遵循 OpenMetrics 标准数字格式

摘要客户端库使用文档

本页内容