主流的监控方法论有谷歌的四个黄金指标、RED和USE。
谷歌的四个黄金指标有:
延迟:服务请求所花的时间,比如用户获取商品列表页面调用的某个接口,花费 30 毫秒。这个指标需要区分成功请求和失败请求,因为失败的请求可能会立刻返回,延迟很小,会扰乱正常的请求延迟数据。
饱和度:描述应用程序有多“满”或者描述受限资源,比如CPU密集型应用,那么CPU使用率就可以作为饱和度。
错误:请求失败的速率,即每秒请求失败的个数。比如 HTTP 请求返回了 500 错误码,说明这个请求是失败的,或者虽然返回的状态码是 200,但是返回的内容不符合预期,也认为是请求失败。
流量: HTTP 服务的话就是每秒 HTTP 请求数,RPC 服务的话就是每秒 RPCCall 的数量,如果是数据库,可能用数据库系统的事务量来作为流量指标。
RED有以下内容:
(request) rate:请求速率,每秒请求数。
(request) error:错误,每秒错误请求数。
(request) duration:延迟,每个请求的延迟分布情况。
USE包括:
使用率(Utilization):比如内存使用率、CPU 使用率等,是一个百分比。
饱和度(Saturation):资源排队工作的指标,无法再处理额外的工作。通常用队列长度表示,比如在 iostat 里看到的 aqu-sz 就是队列长度。
错误(Error): 资源错误的计数。
此文章为9月Day 19学习笔记,内容来源于极客时间《运维监控系统实战笔记》。