指标类型

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

计数器

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

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

计数器的客户端库用法文档

仪表盘

仪表盘是一种指标,表示可以任意上升和下降的单个数值。

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

仪表盘的客户端库用法文档

直方图

直方图 采样观察结果(通常是请求持续时间或响应大小之类的内容),并在可配置的桶中对其进行计数。它还提供所有观察值的总和。

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

  • 观察桶的累积计数器,暴露为 <basename>_bucket{le="<上限(含)>"}
  • 所有观察值的总和,暴露为 <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 规范数字 的格式。

摘要的客户端库用法文档

此文档是 开源的。请通过提交 issue 或 pull request 来帮助改进它。