Prometheus 指标数据类型:Counter/Gauge/Histogram 辨析

胖伟大大_9911

胖伟大大_9911

2026-07-17

344人浏览

原创

选对指标类型是监控准确的前提:counter用于单调递增的累计计数,须配rate()使用;gauge记录瞬时状态值,可直接查询比较;histogram按桶统计分布,用于延迟等分位数分析。

prometheus 指标数据类型:counter/gauge/histogram 辨析

选对指标类型,监控才不会出错。Counter、Gauge、Histogram 不是随便挑的标签,而是对应不同数学逻辑和采集语义的数据建模方式——用错一个,rate() 就算歪,告警就可能误报。

Counter:只增不减的累计计数器

它记录的是从服务启动(或上次重置)以来某个事件发生的总次数,数值单调递增,正常情况下不会下降。Prometheus 能自动识别重启导致的归零,并在计算时做断点续接。

BrandCrowd
BrandCrowd

BrandCrowd是一款面向品牌创建的在线 Logo 设计和营销素材生成工具。

下载
  • 适用场景:HTTP 请求总数、错误发生次数、任务完成数、网络收包总数
  • 关键操作:必须配合 rate() 或 increase() 使用,直接查原始值意义有限
  • 典型错误:拿 Counter 记录“当前活跃连接数”——这个值会增会减,不是累计量,会导致 rate() 输出负值或跳变异常

Gauge:反映当下状态的瞬时快照

它代表某一时刻的测量值,可升可降,没有累积含义。Prometheus 存储的是带时间戳的点值,适合直接绘图或做阈值判断。

  • 适用场景:内存使用量、CPU 使用率、队列长度、温度读数、在线用户数
  • 关键操作:可直接查询、比较、做四则运算,比如 (1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100
  • 典型错误:用 Gauge 存“累计失败次数”,再套 rate() 算失败率——本质是把瞬时值当增量用,结果完全失真

Histogram:按桶分组的分布统计器

它不存单个样本,而是把每次观测值(如请求耗时)落入预设区间(le="0.1"、le="0.5"…),并分别统计各桶内样本数。最终生成三个配套序列:_bucket、_count、_sum。

  • 适用场景:接口响应延迟、请求体大小、处理耗时等需要看分布的指标
  • 关键操作:用 histogram_quantile(0.99, ...) 算 P99 延迟;用 rate(..._bucket[5m]) 配合 quantile 函数推算分位数变化趋势
  • 注意点:分位数计算依赖客户端打点精度(桶边界设置)和 PromQL 聚合方式,不能直接用 raw _bucket 值做简单除法

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
数据类型有哪几种
数据类型有哪几种

数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.31

2691

5

php数据类型
php数据类型

本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

2025.10.31

534

9

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

2026.02.12

462

19

counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.20

2788

5

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

2026.10.08

0

20

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

120

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

100

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

80

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

80

26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习