本节重点介绍 : prometheus 四种数据类型

  • 四种数据类型
  • gauge 当前值
  • counter 计数器
  • histogram 直方图样本观测
  • summary 摘要

四种数据类型

gauge 当前值

  • 举例 go_info{instance=“localhost:9090”, job=“prometheus”, version=“go1.16.7”}
  • 类似的info信息,看时序的结果值=1 意义不大
  • 主要是看标签的key和value go.1.16.7 ,关注一下
  • 举例 go_memstats_heap_alloc_bytes

4.4 四种数据类型_数据类型

counter 计数器

  • 代表一个累积指标单调递增计数器
  • 使用rate 查看qps rate(prometheus_http_requests_total[1m])
  • 使用increase 查看增量 increase(prometheus_http_requests_total[10s])

histogram 直方图样本观测

  • 通常之类的东西请求持续时间或响应大小和计数它们配置的桶中
  • 它还提供所有观察值的总和
# http所有接口 总的95分位值
# sum/count 可以算平均值
prometheus_http_request_duration_seconds_sum/ prometheus_http_request_duration_seconds_count

# histogram_quantile(0.95, sum(rate(prometheus_http_request_duration_seconds_bucket[5m])) by (le,handler))

histogram_quantile(0.95, sum(rate(prometheus_http_request_duration_seconds_bucket[1m])) by (le))

# range_query接口的95分位值
histogram_quantile(0.95, sum(rate(prometheus_http_request_duration_seconds_bucket{handler="/api/v1/query_range"}[5m])) by (le))
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

summary 摘要会采样观察值

  • 通常是请求持续时间和响应大小之类的东西
  • 尽管它还提供了观测值的总数和所有观测值的总和
# gc耗时

# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 0.000135743
go_gc_duration_seconds{quantile="0.25"} 0.000872805
go_gc_duration_seconds{quantile="0.5"} 0.000965516
go_gc_duration_seconds{quantile="0.75"} 0.001055636
go_gc_duration_seconds{quantile="1"} 0.006464756

# summary 平均值
go_gc_duration_seconds_sum /go_gc_duration_seconds_count
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

利用 sum/count 算平均值 :histogram 和summary 都适用

  • go_gc_duration_seconds_sum/go_gc_duration_seconds_count 算平均值

本节重点介绍 : prometheus 四种数据类型

  • 四种数据类型
  • gauge 当前值 最简单,看标签
  • counter 计数器 多用在请求计数,cpu统计
  • histogram 直方图样本观测 :服务端算分位值
  • summary 摘要:客户端算分位值
  • 利用 sum/count 算平均值 :histogram 和summary 都适用