Prometheus

55479
下载
Prometheus 是一个开源的监控和告警系统,专注于时间序列数据的采集与存储。由 SoundCloud 开发,配备高级查询语言PromQL,便于数据挖掘与分析,并无缝对接多种可视化平台。

指标类型


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 官方文档翻译而成。


observability.cn Authors 2024 | Documentation Distributed under CC-BY-4.0
Copyright © 2017-2024, Alibaba. All rights reserved. Alibaba has registered trademarks and uses trademarks.
浙ICP备2021005855号-32