指标类型

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 规范数字 的格式。

直方图的客户端库使用文档

总结

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

一个基本指标名称为 `<basename>` 的摘要在一次抓取中会暴露多个时间序列:

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

有关 φ-分位数、摘要用法及其与直方图的区别的详细解释,请参阅直方图和摘要

注意从 Prometheus v3.0 开始,在摄取期间,`quantile` 标签的值会被规范化,以遵循 OpenMetrics 规范数字 的格式。

摘要的客户端库使用文档

本页内容