Prometheus 客户端库提供了四种核心指标类型。目前,这些类型只在客户端库(用于提供针对特定类型使用场景定制的 API)和网络传输协议中进行区分。Prometheus 服务端尚未使用类型信息,而是将所有数据扁平化为无类型的时间序列。未来可能会有所改变。
计数器 (Counter) 是一种累积型指标,表示一个单条单调递增的计数器,其值只能增加或在重启时重置为零。例如,您可以使用计数器来表示服务的请求数、完成的任务数或错误数。
不要使用计数器来暴露一个可能会减少的值。例如,不要用计数器来表示当前运行的进程数;相反,请使用仪表盘 (gauge)。
计数器客户端库使用文档
仪表盘 (Gauge) 是一种指标,表示一个可以任意上下变化的数值。
仪表盘通常用于测量值,如温度或当前内存使用量,但也可以用于上下变化的“计数”,例如并发请求数。
仪表盘客户端库使用文档
直方图 (Histogram) 对观测值(通常是请求持续时间或响应大小之类的值)进行采样,并将其计数到可配置的桶中。它还提供了所有观测值的总和。
一个基础指标名为 <basename>
的直方图在抓取时会暴露多个时间序列
<basename>_bucket{le="<upper inclusive bound>"}
<basename>_sum
<basename>_count
(与上面的 <basename>_bucket{le="+Inf"}
相同)使用 histogram_quantile()
函数可以计算直方图,甚至是直方图聚合的 Quantile (分位数)。直方图也适用于计算 Apdex 分数。操作桶时,请记住直方图是 累积的。有关直方图的使用细节以及与 摘要 (Summary) 的区别,请参阅直方图和摘要。
le
标签值在摄入过程中会根据 OpenMetrics 规范数字 的格式进行标准化。直方图客户端库使用文档
与直方图类似,摘要 (Summary) 对观测值(通常是请求持续时间或响应大小之类的值)进行采样。虽然它也提供观测值的总计数和所有观测值的总和,但它会在滑动时间窗口上计算可配置的 Quantile (分位数)。
一个基础指标名为 <basename>
的摘要在抓取时会暴露多个时间序列
<basename>{quantile="<φ>"}
<basename>_sum
<basename>_count
有关 φ-分位数、摘要使用以及与直方图的区别的详细说明,请参阅直方图和摘要。
quantile
标签的值在摄入过程中会根据 OpenMetrics 规范数字 的格式进行标准化。摘要客户端库使用文档
本文档是开源的。请通过提交 issue 或 pull request 帮助改进它。