copy from https://zhuanlan.zhihu.com/p/75875469
Google的Google SRE Books一书中提出了系统监控的四个黄金指标

  • Latency:延时
  • Utilization:使用率
  • Saturation:饱和度
  • Errors:错误数或错误率

这个四个黄金指标在在任何系统中都是很好的性能状态指标,他们之所以被称为”黄金“指标,很大一个因素是因为他们反映了终端用户的感知,因此任何监控系统都会提供被监控对象的这些指标或其变形,并在此基础上辅助

  • 问题定位 - 方便用户发现系统问题并最终修复或绕开系统问题
  • 告警 - 提前对系统的不正常状况进行提示,避免系统进一步恶化
  • 系统调优或容量预测 - 让用户针对性的对系统做出调整或增强,让其能更好的满足业务的需求。

这四个指标并不是唯一的系统性能或状况的衡量标准,系统可以简单分为两类

  • 资源提供系统 - 对外提供简单的资源,比如CPU(计算资源),存储,网络带宽
  • 服务提供系统 - 对外提供更高层次与业务相关的任务处理能力,比如订票,购物等等

    资源提供型系统

    针对资源提供型系统,有一个更简单直观的USE标准

  • Utilization - 往往体现为资源使用的百分比

  • Saturation - 资源使用的饱和度或过载程度,过载的系统往往意味着系统需要辅助的排队系统完成相关任务。这个和上面的Utilization指标有一定的关系但衡量的是不同的状况,以CPU为例,Utilization往往是CPU的使用百分比而Saturation则是当前等待调度CPU的县城或进程队列长度
  • Errors - 这个可能是使用资源的出错率或出错数量,比如网络的丢包率或误码率等等

    服务型系统

    针对服务型系统,则往往用RED方式进行衡量

  • Rate - 单位时间内完成服务请求的能力

  • Errors - 错误率或错误数量:单位时间内服务出错的比列或数量
  • Duration - 平均单次服务的持续时长(或用户得到服务响应的时延)

值得注意的是,我们在区分系统时应该意识到一个复杂系统里面往往包含不同类型的子系统,比如一个订票系统中,它既包含对外提供业务调用服务的API层和内部使用的消息系统(此时用RED方式进行衡量),也包括为了满足业务调用时需要使用到的各种资源(如CPU,存储,网络等等);在这些相互影响和合作的各个子系统之间如何对相关指标进行关联和呈现往往更能体现一个监控系统给用户带来的价值