监控方法论

299 阅读2分钟

Google 的四个黄金指标

  • 延迟:服务请求所花费的时间,比如用户获取商品列表页面调用的某个接口,花费 30 毫秒。这个指标需要区分成功请求和失败请求,因为失败的请求可能会立刻返回,延迟很小,会扰乱正常的请求延迟数据。
  • 流量:HTTP 服务的话就是每秒 HTTP 请求数,RPC 服务的话就是每秒 RPCCall 的数量,如果是数据库,可能用数据库系统的事务量来作为流量指标。
  • 错误:请求失败的速率,即每秒有多少请求失败,比如 HTTP 请求返回了 500 错误码,说明这个请求是失败的,或者虽然返回的状态码是 200,但是返回的内容不符合预期,也认为是请求失败。
  • 饱和度:描述应用程序有多“满”,或者描述受限的资源,比如 CPU 密集型应用,CPU 使用率就可以作为饱和度指标。

RED 方法

  • (Request)Rate:请求速率,每秒请求数。
  • (Request)Errors:错误,每秒错误请求数。
  • (Request)Duration:延迟,每个请求的延迟分布情况。

USE方法

  • 使用率:这个我们最熟悉,比如内存使用率、CPU 使用率等,是一个百分比。
  • 饱和度:资源排队工作的指标,无法再处理额外的工作。通常用队列长度表示,比如在 iostat 里看到的 aqu-sz 就是队列长度。
  • 错误:资源错误事件的计数。比如 malloc() 失败次数、通过 ifconfig 看到的 errors、dropped 包量。有很多错误是以系统错误日志的方式暴露的,没法直接拿到某个统计指标,此时可以进行日志关键字监控。

此文章为3月Day06学习笔记,内容来源于极客时间《运维监控实战笔记》,强烈推荐该课程!