指标类型
Prometheus 客户端库提供了四种核心指标类型。这些类型目前仅在客户端库(以适应特定的使用场景)和网络协议中区分。Prometheus 服务器只将所有数据扁平化为无类型的时间序列,尚未利用这些类型信息。注意:在未来,这一点可能会改变。
Counter
Counter(计数器)是一种累积指标,表示单调递增 Counter,其值只能增加或在重启时重置为零。例如,可以使用 Counter 来表示处理的服务请求数量、完成的任务数量或错误数量。
不要使用 Counter 来暴露可以减少的数值。例如,不要使用 Counter 来表示当前运行进程的数量;而是使用 Gauge。
Counter 的客户端库使用文档:
Gauge
Gauge(测量值)是表示单个数值的指标,可以任意上升和下降。
Gauge 通常用于瞬时测量值,如温度或当前内存使用情况,但也可用于“计数”值,这些值可以上升和下降,如并发请求的数量。
Gauge 的客户端库使用文档:
Histogram
Histogram(直方图)通过配置桶来采样观察值(通常是请求持续时间或响应大小)并对它们进行计数。它还提供所有观察值的总和。
具有基础指标名称为<basename>
的 Histogram 在采集期间暴露多个时间序列:
- 对观察桶(observation buckets)的累积 Counter,暴露为
<basename>_bucket{le="<上界(包含)>"}
- 所有观察值的总和,暴露为
<basename>_sum
- 观察事件的计数,暴露为
<basename>_count
(与上述<basename>_bucket{le="+Inf"}
相同)
你可以使用Histogram_quantile()
函数从 Histogram 或 Histogram 的聚合中计算分位数。Histogram 也适用于计算 Apdex 得分。在操作桶时请记住,Histogram 是累积的。有关 Histogram 使用的详细信息和与 Summary 的差异,请参阅 Histogram 和 Summary。
注意:Prometheus 从 v2.40 开始,支持原生 Histogram(native histogram)实验性功能。原生 Histogram 只需要一个时间序列,其中包含额外的桶、总和和观察次数的计数。原生 Histogram 能够在成本大幅降低的情况下获得更高的解析度。详细的文档将在原生 Histogram 即将成为稳定性功能时发布。
原生 Histogram 的客户端库使用文档:
Summary
类似于 Histogram,Summary(汇总)也进行观察值采样(通常是请求持续时间和响应大小)。它不仅提供观察次数的总数和所有观察值的总和,还会在滑动时间窗口内计算可配置的分位数。
具有基础指标名称为<basename>
的 Summary 在采集期间暴露多个时间序列:
- 流式φ-分位数(0 ≤ φ ≤ 1),暴露为
<basename>{quantile="<φ>"}
- 所有观察值的总和,暴露为
<basename>_sum
- 观察事件的计数,暴露为
<basename>_count
有关详细φ-分位数的详细解释、Summary 的使用方法和与 Histogram 的差异,请参阅 Histogram 和 Summary。
Summary 的客户端库使用文档:
该文档基于 Prometheus 官方文档翻译而成。