首页 > 其他分享 >2 分钟,搞懂 SLO 最佳实践

2 分钟,搞懂 SLO 最佳实践

时间:2023-05-26 17:01:34浏览次数:36  
标签:最佳 SLO SLI 监控 搞懂 比如 分位 延迟

本文介绍 SLO,曾经我发过一个短时间讲解我们做监控最应该监控的是什么,短视频讲了上篇,这篇算是下篇。当时的短视频可以在这里查阅:

2 分钟,搞懂 SLO 最佳实践_Google

SLI、SLO、SLA

先拎清楚几个概念:

  • SLI:服务质量指标,比如 99 分位的响应时间、99 分位的响应时间、错误率等
  • SLO:服务质量目标,所谓的几个 9 的目标,比如 99 分位的响应时间小于 200 毫秒,比如错误率小于 0.1%
  • SLA:服务质量协议,是个承诺,是个合同,比如公有云就会提供 SLA,不达标就会有赔付

SRE 在制定 SLx 时的职责

SRE 不参与构建 SLA,因为这通常涉及退款赔付之类的,是个商业行为,但是 SRE 要帮助业务确立 SLI,帮助业务达成 SLO。

SLI 相关的一些实践

首先,千万不要把能监控到的一坨指标都确立为 SLI,SLI 一般也就是四五个,再多就有问题了。不同的服务的 SLI 举例:

  • 用户可见的服务系统:可用性、延迟、吞吐。即:是否能正常处理请求?每个请求花费的时间是多少?多少请求可以被处理?
  • 存储系统:延迟、可用性、数据持久性。即:读写数据需要多少时间?我们是否可以随时访问数据?一段时间之后数据是否还能被读取?
  • 大数据系统:比如数据处理流水线系统,关注吞吐量和端到端延迟。即:处理了多少数据?数据从进来到产出需要多少时间?
  • 所有系统都应该关注:正确性。比如是否返回了正确的结果?当然,正确性更关注系统内部的数据而非系统本身,所以SRE通常不会关注这块。

总结:SLI 应该是一些上层业务或用户关注的体验指标,这些指标如果出问题了,一定是服务出了大问题了。

另外,一般 SLI 都是分钟级的汇总,比如成功率是每分钟产出一个值,延迟也是,延迟尽量不要用平均延迟和50分位,会掩盖一些长尾问题,比如下图:

2 分钟,搞懂 SLO 最佳实践_SRE_02

50th, 85th, 95th, and 99th percentile latencies for a system. Note that the Y-axis has a logarithmic scale.

从 10:30 开始,长尾请求的延迟变得频繁了,尤其是 99 分位和 95 分位,但是 50 分位的值,几乎不变,如果我们只关注 50 分位的值,就没法发现这个问题了!

定义 SLO 的一些建议

实际制定 SLO 的时候,对内对外通常是两个值,对内更严格,对外更宽松。而且,即使有能力达成 SLO,也不要做的过高,适当的搞挂一下非常有必要。比如某个服务当前季度(SLO 一般按季度统计)的 SLO 是 99.95%,季度末了,100% 可用,此时建议做个放火演练之类的,即使搞出纰漏,对 SLO 的影响也不会太大。其次,上层业务也会充分认识到你这个下游服务不是 100% 可靠的,会有针对性的增强冗余设计。

大部分公司都做错了

大部分公司的稳定性体系都是从指标监控开始的,这个没问题,但是完成了机器、中间件的监控就认为基本完活了,就是大错特错。实际还有两个东西必须要做好监控,一个是短视频里提到的业务北极星指标的监控,另一个是本文提到的 SLO 的监控。

扩展阅读

标签:最佳,SLO,SLI,监控,搞懂,比如,分位,延迟
From: https://blog.51cto.com/ulricqin/6357930

相关文章

  • 前端开发:基本技能和最佳实践
    介绍前端开发在创建沉浸式和用户友好的Web体验方面起着至关重要的作用。随着对动态和响应式网站的需求不断增长,前端开发人员需要了解最新的工具、技术和最佳实践。了解前端开发在本节中,我们将概述前端开发及其在创建引人入胜的用户界面方面的重要性。我们将解释HTML、CSS和Jav......
  • Vue3.3 的新功能的体验(下):泛型组件(Generic Component) 与 defineSlots
    上一篇说了DefineOptions、defineModel、Props的响应式解构和从外部导入类型这几个新功能,但是没有说Generic、defineSlots等,这是因为还没有完全搞清楚可以用在什么地方。折腾了几天终于弄清楚了。这还要从TS的泛型说起。泛型的目的和意义泛型仅仅只是表达传啥都行吗?当然......
  • 成功加冕!用友大易获评2023最佳招聘管理软件供应商
    人力资源服务业旗帜性商业奖项2023金帜奖(HRFLAGAWARDS)颁奖典礼于近日隆重举行。经过3个月的评选,用友大易从615家人力资源服务机构中脱颖而出,最终荣获「2023最佳招聘管理软件供应商」奖项。2023金帜奖(HRFLAGAWARDS)是人力资源服务行业旗帜性的商业奖项,遵循「寻找旗帜性人力资源......
  • Entity Framework的最佳实践一
    EntityFramework(EF)Core是轻量化、可扩展、开源和跨平台版的常用EntityFramework数据访问技术。EFCore可用作对象关系映射程序(O/RM) 创建DbContext 对象DbContext的生存期DbContext 的生存期从创建实例时开始,并在释放实例时结束。DbContext生成通过依......
  • 二十三天搞懂设计模式之抽象工厂模式
    文章目录抽象工厂模式1.介绍2.实现3.代码4.总结抽象工厂模式1.介绍意图:提供一个创建一系列相关或者依赖的接口,而无需指定他们具体的类何时使用:系统的产品有多于一个产品族,而系统只消费其中某一族的产品,例子如下当前有个换装游戏,进入不同的游戏场景需要选择不同的游戏套装,比......
  • 二十三天搞懂设计模式之工厂模式
    文章目录1.定义2.工厂模式2.1实现2.2第一种方式代码3.总结1.定义在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。单例也是一种工厂为什么有了new之后,还要有工厂灵活控制生产过程权限、修饰、日志2.工厂模式2.......
  • 把DNS请求日志转发到syslog服务器去
    把DNS请求日志转发到syslog服务器去在vim/etc/named.conf里配置的内容logging{channeldefault_debug{file"data/named.run";severitydynamic;};channelsyslog_channel{syslogDNS-LOG;......
  • Entity Framework的最佳实践一
    EntityFramework(EF)Core是轻量化、可扩展、开源和跨平台版的常用EntityFramework数据访问技术。EFCore可用作对象关系映射程序(O/RM) 创建DbContext 对象DbContext的生存期DbContext 的生存期从创建实例时开始,并在释放实例时结束。DbContext生成通过依......
  • ESM风潮下企业服务的最佳实践探讨
    甄知科技孵化于中国领先的IT咨询服务提供商-上海汉得信息技术股份有限公司,主打产品“燕千云”于2019年正式发布,持续迭代版本至今,燕千云作为企业数字化服务平台,燕千云的愿景和现状是为了帮助企业服务团队快速解决问题、优化服务流程、提高服务效率和服务质量,全面满足企业业务运营......
  • mac软件最佳资源下载站「macw」
    macw是一个专业的Mac苹果电脑软件下载网站。海量Mac软件,Mac教程技巧,壁纸,字体,模板,插件视频等资源集一身。有众多业界所推崇的主流软件,还有许多你不曾了解的小众精品软件。完美破解,人工测试,及时更新。更多详情:https://www.macw.com/?id=ODA2NCZfJjI3LjE4Ni4xMjUuMTE2......