返回

度量指标类型:理解 Prometheus 的四种核心指标类型

见解分享

Prometheus 学习系列(九)之度量指标类型

Prometheus 客户端库提供了四个核心的度量指标类型。目前,仅在客户端库和 wire 协议中区分这四种类型,Prometheus 服务尚未充分利用它们,但很快就会有所改变。

  • Counter

Counter 表示单个单调递增计数器的累积度量,其值只能在重启时增加或重置为零。例如,HTTP 请求计数、消息传递总数、错误数等都可以用 Counter 表示。

  • Gauge

Gauge 表示当前状态的度量,其值可以是任何数值,并且可以随时增加或减少。例如,内存使用量、CPU 使用率、线程数等都可以用 Gauge 表示。

  • Histogram

Histogram 表示一段时间内观察值分布的度量,它可以记录观察值的次数、最大值、最小值、平均值、中位数等统计信息。例如,HTTP 请求延迟、响应时间、数据库查询时间等都可以用 Histogram 表示。

  • Summary

Summary 类似于 Histogram,但它提供了更详细的统计信息,包括观察值的总数、和值、平均值、标准差等。例如,HTTP 请求延迟、响应时间、数据库查询时间等都可以用 Summary 表示。

度量指标类型比较

类型 特征 用例
Counter 单调递增计数器 HTTP 请求计数、消息传递总数、错误数等
Gauge 当前状态度量 内存使用量、CPU 使用率、线程数等
Histogram 观察值分布度量 HTTP 请求延迟、响应时间、数据库查询时间等
Summary 观察值分布度量(更详细) HTTP 请求延迟、响应时间、数据库查询时间等

度量指标类型选择

在选择度量指标类型时,需要考虑以下因素:

  • 度量指标的含义: 度量指标的含义决定了其类型。例如,如果要衡量 HTTP 请求的次数,就应该使用 Counter。
  • 度量指标的范围: 度量指标的范围决定了其数据类型。例如,如果要衡量内存使用量,就应该使用 Gauge。
  • 度量指标的精度: 度量指标的精度决定了其统计信息的详细程度。例如,如果要衡量 HTTP 请求延迟,就可以使用 Histogram 或 Summary。

总结

Prometheus 的度量指标类型为监控系统提供了丰富的选择,可以满足各种类型的监控需求。选择合适的度量指标类型可以帮助我们更有效地监控系统并发现问题。