指标类型
Prometheus 客户端库提供四种核心指标类型。这些类型目前仅在客户端库(以便实现针对特定类型用法定制的 API)和网络协议中有所区分。Prometheus 服务器尚未利用类型信息,而是将所有数据扁平化为无类型的时序数据。未来这可能会发生改变。
Counter(计数器)
计数器(counter)是一种累积指标,表示一个单一的单调递增的计数器 ,其值只能增加,或在重启时重置为零。例如,你可以使用计数器来表示已处理的请求数、已完成的任务数或错误数。
不要使用计数器来暴露一个可以减少的值。例如,不要将计数器用于表示当前运行的进程数;而应使用仪表盘(gauge)。
计数器客户端库使用文档
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)对观测值(通常是请求持续时间和响应大小等)进行采样。它也提供观测值的总计数和所有观测值的总和,但它会在滑动时间窗口内计算可配置的分位数。
一个以 <basename> 作为基本指标名称的摘要在抓取期间会暴露多个时间序列
- 观测事件的流式 φ 分位数 (0 ≤ φ ≤ 1),暴露为
<basename>{quantile="<φ>"} - 所有观测值的总和,暴露为
<basename>_sum - 已观测事件的数量,暴露为
<basename>_count
有关 φ 分位数、摘要使用以及与直方图之间差异的详细解释,请参阅直方图和摘要。
注意从 Prometheus v3.0 开始,quantile 标签的值在摄取期间会进行规范化,以遵循 OpenMetrics 标准数字 的格式。
摘要客户端库使用文档