4.2 制定SLO

SRE最核心的职责是保障SLA, SLA的全称是Service Level Agreement,也就是服务质量保证。但是我们内部还需要SLO,也就是服务质量目标,这个目标很多人拍脑袋就是100%,那这个只要是机器存在,必然不可能是100%的。

下面就是我们之前定义的一些SLO指标供参考,我们的时间窗口都是1分钟。

指标名称基准值P4P3P2P1
在1000ms内登陆成功率99%,0~20个98%,21~30个,持续1分钟95%,31~50个,持续3分钟90%,51~80个,持续5分钟x
在500ms内消息发送成功率99%,0~50个98%,51~80个,持续1分钟95%,81~100个,持续3分钟90%,101~150个,持续5分钟x
在800ms内打开“发现”标签99%,0~20个98%,21~30个,持续1分钟95%,31~50个,持续3分钟90%,51~80个,持续5分钟x

上面就是一些参考,这里有百分比,也有绝对值,还有一个是持续时长,超过3个中的任一一个就算对应的故障级别。

然后这些指标就要设置对应的报警项,然后这些报警项每个都需要有一个处理流程,这个流程要满足RTO(恢复时间目标)。

注意

注意,这个数据不是从服务端的数据来获取的,实际是从客户端上来获取的。这样才是完整的时间,服务端获取会少了用户第一次请求过来的时间,也少了用户最后确认的收到的时间。

提示

上面的x是表示其他自定义,不代表没有。但是确实有些指标是没有P1的。

这里的指标也可以把百分比,个数,持续时间都分开来计算的。

当然这些指标是从哪里来的,是从用户实际需求来的。如果还是不确定,那就从客服和产品那边多聊聊,看看用户吐槽的都是哪些点。毕竟提高SLA是为了客户满意度,如果客户不满意,我们的SLA再高也没有任何意义。