prometheus四种metric类型
作者:互联网
prometheus中存储的数据都是时序型,其数据模型都是如下:
metric_name{label=value,…} value timestamp
下文中说的数据类型只是客户端的封装
prometheus 的4种metric
prometheus的客户端中提供了4种metric,对于服务端来说并没有使用这些metric,服务端只是简单当成是独立的时序数据来使用
Counter:计数器
是一种累加型指标,指可以增加或者重置为0,可以被用来做请求数统计,成功数统一等等。不能用来代表可以下降的指标
Gauge:测量器
一种可以增加或者减少的测量器,可以用来做内存使用、温度测量等指标测量
Histogram:直方图
用于统计指标的分布,例如请求耗时的分布情况,需要注意的是prometheus的直方图是一种累积性的直方图,举例说明:
假设分布的桶位分别是buckets[] = {.005, .01, .025, .05, .075, .1, .25, .5, .75, 1, 2.5, 5, 7.5, 10}, 落在0.01桶内的值包含了落在0.005桶的值,这种累积型的直方图对于更简单
prometheus的客户端采用了三个指标来表示直方图:
metric_name_bucket:不同耗时上限,所采集到的值
metric_name_sum: 统计的值的总和,例如请求耗时总和
metric_name_count:统计的总数,例如请求的总数量
prometheus也提供了histogram_quantile函数来计算分位点,举例说明:
http_request_duration_seconds_bucket直方图http_request_duration_seconds的桶位指标,计算过去10分钟90%的请求的最大耗时:histogram_quantile(0.9, rate(http_request_duration_seconds_bucket[10m]))
注意: 这种计算是一种估算,假设在bucket中,数据的分布式线性的,进行估算
Summary:分位统计器
跟Histogram类似,也用于计算数据分位,但是不同的是,Histogram将三个指标上报到服务端,用promsql提供函数进行计算,Summary直接在客户端计算好之后进行上报,这种比较消耗客户端资源,summary也存储了3个指标:
metric_name_φ-quantiles
metric_name_sum
metric_name_count
标签:name,metric,直方图,指标,prometheus,四种,客户端 来源: https://www.cnblogs.com/c-rex/p/16112317.html