这种类型是上下增减的数字,本质上是特定度量的快照。常见的有CPU,内存,磁盘使用率等。对于业务上来说,指标可能是网站上的客户数量。
这种类型是随着时间增加而不会减少的数字。虽然它们永远不会减少,但有时可以将其重置为零并再次开始递增。应用程序和基础设施的计数型示例包括系统正常运行时间、设备收发包的字节数或登录次数。业务方便的示例可能是一个月内的销售数量或应用程序收到的订单数量。
计数型指标的一个优势在于它们可以让你计算变化率。每个观察到的数值都是在一个时刻:t,你
可以使用t+1处的值减去t处的值,以获得两个值之间的变化率。通过了解两个值之间的变化率,可以
理解许多有用的信息。例如登录次数指标,你可以通过计算变化率来查看每秒的登录次数,这有助于
确定网站这段时间的受欢迎程度。
是对观察点进行采样的指标类型,可以展现数据集的频率分布。将数据分组在一起并以这样的方式显示,这个被称为“分箱”(binning)的过程可以直观地查看数值的相对大小。 统计每个观察点并将其放入不同的桶中,这样可以产生多个指标:每个桶一个,加上所有值的总和以及计数
示例是身高频率分布的样本直方图。x轴是身高的分布,y轴是对应的频率值,例如可以看到身高160~165cm对应的值是2
直方图有三个指标:
累积计数<basename>_bucket{le="
指标值的总和:
指标的个数:
(identical to
可以使用 histogram_quantile()
函数计算分位数
histograms和summaries都是抽样指标,典型的有请求耗时,响应体的大小。他们记录指标的数量,和指标值的和,允许你计算平均值。
计算过去的5min的平均耗时,从histograms或者summaries
rate(http_request_duration_seconds_sum[5m]) / rate(http_request_duration_seconds_count[5m])
计算最近5分钟内在0.3seconds内的请求占比
sum(rate(http_request_duration_seconds_bucket{le="0.3"}[5m])) by (job) / sum(rate(http_request_duration_seconds_count[5m])) by (job)
计算最近5分钟内在0.3和1.2 seconds内的请求占比
( sum(rate(http_request_duration_seconds_bucket{le="0.3"}[5m])) by (job) + sum(rate(http_request_duration_seconds_bucket{le="1.2"}[5m])) by (job) ) / 2 / sum(rate(http_request_duration_seconds_count[5m])) by (job)
95分位
histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket[5m])) by (le)) // GOOD.
类似于直方图,但它还会计算百分位数。
直方图可以很好地展现时间序列数据,尤其适用于数据的可视化(如应用程序延迟等)。
通常来说,单个指标对我们价值很小,往往需要联合并可视化多个指标,这其中需要应用一些数
学变换。例如,我们可能会将统计函数应用于指标或指标组,一些可能应用的常见函数包括:
·计数:计算特定时间间隔内的观