Prometheus 的四种指标类型是什么?

Prometheus 四种指标类型:Counter(只增计数)、Gauge(可增可减瞬时值)、Histogram(分布直方图)、Summary(分位数摘要)。本文讲清每种类型的语义、适用场景与查询方式。

最佳实践
Prometheus 的四种指标类型是什么?封面

四种类型:Counter 记只增总量、Gauge 记瞬时水位、Histogram 统计分布(服务端算分位)、Summary 可在客户端按配置估算分位数。日常用得最多的是前两种 + Histogram。

1. Counter(计数器)

只增不减(重启归零),记录累计量:请求总数、错误总数、完成订单数。分析速率或时间段内增量时用 rate()/increase();原始累计值也可直接查询:

rate(http_requests_total[5m])

2. Gauge(仪表盘)

可增可减的瞬时值:当前内存、队列深度、在线连接数、温度。直接查值即可:

node_memory_MemAvailable_bytes

3. Histogram(直方图)

经典 Histogram 把观测值分桶统计,暴露 xxx_bucket{le="..."} 序列。服务端可估算分位数,并在桶边界兼容时跨实例聚合;精度受桶划分限制:

histogram_quantile(0.95, sum(rate(request_duration_seconds_bucket[5m])) by (le))

原生 Histogram 的存储和查询形式不同,不应直接套用上述 _bucket 查询。

4. Summary(摘要)

Summary 上报计数与总和,部分客户端还支持预先配置的分位数(如 {quantile="0.95"})。这些客户端分位数不能直接合并成多副本服务的 P95;_sum 和 _count 则可聚合计算总体均值。需要跨实例分位数时通常选 Histogram。

选型速查

场景 类型
计数(请求/错误) Counter
水位(内存/队列) Gauge
延迟/大小分布 Histogram(优先)/ Summary

常见问题(FAQ)

Q:Histogram 桶边界怎么定? 围绕 SLO 设:如延迟 SLO 500ms,桶可对应 50/100/250/500/1000ms 等;若指标单位为秒,应填写 0.05/0.1/0.25/0.5/1。

Q:类型用错了能改吗? 客户端库一般禁止同名不同类型;生产中通常用新指标名迁移,避免同名历史样本与查询语义混淆;这不是说所有实现都强制更名。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台