导航

分布式系统监控的四类黄金指标

Posted on 2022-12-02 20:11  蝈蝈俊  阅读(734)  评论(0编辑  收藏  举报

按照《SRE:Google运维解密》中描述的, 分布式系统监控的四类黄金指标是:延迟(Latency)、流量(Traffic)、错误(Errors)、饱和度(Saturation)。

从下图可以看到,对每一个系统来说,这四类监控指标覆盖了:输入、输出、和系统自身。

指标监控项

在不同场景下,每类指标都有不同的监控项:

监控关注点和策略

这些监控项都需要时序指标异常检测技术,除此之外,它们还有自己的特征:

1、 流量类

流量类主要关注点在:

  • 异常流量:突增或突降、同比环比不一致。
  • 历史峰值,以及基于历史流量预测未来流量。

主要的技术难点在异常点的干扰,相关解决策略可以参看: 百度是如何做智能流量异常检测

  • 基于鲁棒回归的预测算法,可以不受异常点的影响,精准地预测流量水位值;
  • 基于泊松分布的检测算法,可以从概率的角度对流量建模,能够使用简单的恒定阈值来精准地检测流量异常;

2、 错误类

常态错误是不可取的,这部分要么应该归入某种业务状态,要么就要分析解决。

  • 可归入业务状态的,需要看某种状态的走势,就回到流量类的异常走势分析了。
  • 错误类的,要分析发生的原因,并看如何避免问题发生。

错误率突升或者成功率突降代表系统自身的处理逻辑可能存在问题,这类指标的异常检测利用了二项式分布,以解决正常和异常的边界区分问题。参看:《还记得概率课本中的二项分布吗?在我们的网络判障中发挥了大作用!》

3、 延迟类

  • 服务接口有超时等待、超时重试相关设置,这部分的时间是底线时间。
  • 由于 吞吐量 = 流量 * 平均耗时 ,一旦耗时增大,服务的处理能力会下降,如果正好是高峰期,有扛不住的隐患。

基于上面两条认知,延迟类我们要看:

  • 平均耗时,用于吞吐量的评估。
  • 基于业务特征,关注用户体验,看 TP95,TP99,TP999 ... 耗时。

对于耗时大于一定阈值的(尤其是高峰期时),要做分析和解决,比如典型的数据库慢查询。

4、 饱和度类

负荷程度如何?由最短板所决定。比如:在内存受限的系统中,即为内存;在I/O受限的系统中,即为I/O。

很多系统在达到100% 利用率之前性能会严重下降,所以合理的利用率目标也是很重要的。