SRE:Google运维解密
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

度量指标时采用合适的精度

系统的不同部分应该以不同的精度进行度量,例如:

● 观察1分钟内的CPU平均负载可能会错失导致长尾延迟过高的某种较长时间的CPU峰值现象。

● 对于一个每年停机时间小于9小时的Web服务来说(年度可用率99.9%),每分钟检测1次或2次的监控频率可能过于频繁。

● 对目标可用率为99.9% 的某个服务每 1 分钟或者2分钟检查一次硬盘剩余空间可能也是没必要的。

应该仔细设计度量指标的精确度。每秒收集CPU负载信息可能会产生一些有意思的数据,但是这种高频率收集、存储、分析可能成本很高。如果我们的监控目标需要高精度数据,但是却不需要极低的延迟,可以通过一些内部采样机制外部汇总的方式降低成本。

例如:

1.将当前CPU利用率按秒记录。

2.按 5%粒度分组,将对应的CPU利用率计数+1。

3.将这些值每分钟汇总一次。

这种方式使我们可以观测到短暂的CPU热点,但是又不需要为此付出高额成本进行收集和保留高精度数据。