简介
Prometheus中的指标数据共有4种,分别是 Counter
、Gauge
、 Histogram
、 Summary
。
Counter
Counter是一个计数型数据,它的特点是:单调增加的计数器,重启时数值清零,其他情况下只能增加。
使用场景:
- 请求数量
- 任务完成数
- 接口调用次数
- 错误发生次数
- …
由于Counter的数据会在服务重启时清零,因此在进行数据采集时:”选取一个点的数据,定义一个时间窗口(5m),将两点数据作差取平均值,得到增长情况“。这种做法是不严谨的。正确的做法应该是使用
rate
、irate
等函数进行处理
Gauge
Gauge类型表示可以变化的指标,可增可减。
Gauge的初值为0
使用场景:
- 内存使用
- 磁盘使用
- 温度
- …
Histogram
Histogram 在一段时间范围内对数据进行采样(通常是请求持续时间或响应大小等),并将其计入可配置的存储桶(bucket)中,后续可通过指定区间筛选样本,也可以统计样本总数,最后一般将数据展示为直方图。
应用场景:
- 请求延迟
- …
应用程序接入Prometheus的histogram后,会返回3个metrics指标
-
[basename]_count:数据个数(counter类型)
-
[basename]_sum:数据的总和(counter类型)
-
[basename]_bucket{le=“xxx”}
- [basename]_bucket{le=a}: 落在[-inf,a]的个数
- [basename]_bucket{le=b}:落在[a,b]的个数
- [basename]_bucket{le=<+Inf>}:落在[-inf,+