Prometheus 的 Summary 和 Histogram
💡
原文中文,约4300字,阅读约需11分钟。
📝
内容提要
本文介绍了 Prometheus 监控系统中的客户端和服务端,以及 Histogram 和 Summary 两种指标类型。Histogram 是柱状图,可以对每个采样点进行统计,并计算分位数;Summary 直接存储了 quantile 数据,可以精确计算分位数。选择 Histogram 还是 Summary 取决于需要聚合还是需要精确分位数。本文还提供了 Histogram 相关函数的实现。
🎯
关键要点
- Prometheus 的客户端提供监控指标数据,服务端负责拉取、存储和查询指标数据。
- Histogram 是柱状图,用于对每个采样点进行统计,计算分位数。
- Histogram 的度量指标名称包括 _bucket、_sum 和 _count,适合高并发的数据收集。
- Histogram 通过 histogram_quantile 函数执行数据分析,但误差较大。
- Summary 直接存储 quantile 数据,提供更精确的分位数计算。
- Summary 统计每个采样点的分位图,依赖第三方库 perk 实现 quantile 计算。
- 选择 Summary 时需注意其对高并发性能的影响,Histogram 更适合聚合操作。
- Histogram 提供灵活性,允许通过 promql 指定分位数,而 Summary 的分位数在客户端指定,不能进行聚合运算。
- 如果需要聚合,选择 Histogram;如果需要精确分位数,选择 Summary。
- 提供了 Histogram 相关函数的实现示例。
🏷️
标签
➡️