发布时间:2026/7/17 0:24:25
SRE 实战手册(三)|SRE 切入点:选 SLI、定 SLO SRE 实战手册三SRE 切入点选 SLI、定 SLO对应课程「03SRE 切入点选择 SLI设定 SLO」。这是整套方法论里最该先做对的一步。一、SLI / SLO / SLA三个缩写先分清课程一上来就把这三个极易混淆的概念掰开SLIService Level Indicator指标对系统某方面表现的量化测量。比如过去 5 分钟结账接口的成功率。它是事实。SLOService Level Objective目标你给 SLI 定的目标值。比如结账成功率 ≥ 99.9%。它是承诺对自己/对协作方。SLAService Level Agreement协议带违约后果的对外承诺通常写进合同违了要赔钱。它是法律/商务层面的。一句话SLI 是尺子SLO 是红线SLA 是带罚则的红线。SRE 日常主要和 SLI、SLO 打交道SLA 更多是商务动作但它的数值通常要严于SLO给自己留余量。二、怎么选 SLIRED 与 USE 两张王牌SLI 不是越多越好选错指标比没指标更糟。业界有两套成熟方法课程里也重点提及RED面向请求型服务如 Web/APIRate吞吐量QPSErrors错误率Duration时延分布看 p99别只看平均USE面向资源型组件如 CPU/磁盘/缓存Utilization利用率Saturation饱和度队列长度、等待数Errors错误数我们的悦购电商 Demo 是典型的请求型服务所以直接用 RED。看deploy/demo_app.py里/metrics暴露的指标# HELP sre_http_requests_total 各接口请求总数按状态码 sre_http_requests_total{nodeecs-584a-0002,endpointcheckout,status200} 18203 sre_http_requests_total{nodeecs-584a-0002,endpointcheckout,status500} 9 # HELP sre_http_request_duration_seconds 请求耗时直方图 sre_http_request_duration_seconds_bucket{node...,endpointcheckout,le0.2} 17980 sre_http_request_duration_seconds_bucket{node...,endpointcheckout,leInf} 18212这就是一组现成的 SLI 原料。三、怎么定 SLO四个实操原则课程给了很落地的建议结合实验我总结成四条1. SLO 要落在用户真的在乎的指标上不要拿 CPU 利用率定 SLO用户不在乎你 CPU 多少要拿结账成不成功加购快不快定。我们选checkout接口的成功率作为核心 SLO 对象——因为它直接对应收入和用户体验。2. SLO 目标值要够用且可信不是越高越好张口就来我们要 100% 可用是新手最容易犯的错。100% 意味着零容错工程上不可能团队也会被自己定的假目标压垮。我们定为99.9%30 天窗口。为什么不是 99.99%因为 99.99% 对应每月只允许 ~52 分钟错误预算对悦购这种非核心金融的系统来说过于严苛会严重拖慢迭代。SLO 是成本和风险的折中不是 KPI 越高越好看。3. SLO 要配套如何测量的口径SLO 不写口径 没有 SLO。我们的口径SLI 1 - (checkout 返回 5xx 的请求数 / checkout 总请求数) 窗口 滚动 30 天 测量源 Prometheus: sum(rate(checkout 5xx)) / sum(rate(checkout 全部))4. SLO 是共识不是 SRE 单方面宣布这点极其关键也是下一讲错误预算的伏笔SLO 必须研发、产品、SRE 三方认可。否则 SRE 拿着你超 SLO 了去卡发版研发会觉得你在耍官威。四、把 SLO 写进可执行的配置光写文档不够要落到告警规则里。看deploy/slo_rules.yml的一段这是生产级 Prometheus 版配置本实验因机子公网仅 5Mbit、Prometheus 二进制直连 GitHub 下载近乎停滞改为用等价的零依赖sre_monitor.py跑通同一套语义见deploy/README.mdgroups:-name:slo-checkoutrules:-record:job:checkout_errors:rate1hexpr:|sum(rate(sre_http_requests_total{endpointcheckout,status500}[1h])) / sum(rate(sre_http_requests_total{endpointcheckout}[1h]))这条记录规则持续算过去 1 小时结账错误率它就是我们的 SLI 在 Prometheus 里的化身。后面接燃烧速率告警第 04、06 讲展开。五、常见坑坑 1SLI 选了用户不在乎的指标→ 团队为CPU 达标狂欢用户为下单失败骂街。坑 2SLO 定到 100%→ 要么造假要么团队崩溃。坑 3只有 SLO 数字没有测量口径→ 出事互相甩锅你说的成功率算法和我理解的不一样。坑 4SLO 由 SRE 拍脑袋→ 没有共识后面错误预算机制根本推不动。六、小结与思考题SLI 是尺子、SLO 是红线、SLA 是带罚则的红线。请求型服务用 RED资源型组件用 USE。SLO 要落在用户在乎的指标上、目标值够用即可、必须写清测量口径、必须是多方共识。思考题把你负责的系统里最该被 SLO 守护的那一个用户动作写出来再写下它的 SLI 公式和窗口——你会发现光是怎么算成功这一件事团队内部可能就有三种理解。下一篇我们讲让 SLO 真正活起来的机制错误预算。

相关新闻

2026/7/17 0:19:24

CodeBuddy中配置Redis MCP 连接与排错实战

CodeBuddy中配置Redis MCP 连接与排错实战 从零配置 Redis MCP Server&#xff0c;到踩遍所有坑最终打通&#xff0c;列出数据库全部 key 的完整实录。适用于 Redis < 6.0 的本地环境。 一、背景与目标 在 CodeBuddy&#xff08;或其它支持 MCP 协议的客户端&#xff09;中…

2026/7/17 0:19:24

CodeBuddy 中使用 MCP 连接 MySQL 数据库 — 完整指南

CodeBuddy 中使用 MCP 连接 MySQL 数据库 — 完整指南 一、什么是 MySQL MCP MCP&#xff08;Model Context Protocol&#xff09; 是一种开放协议&#xff0c;让 AI 助手&#xff08;如 CodeBuddy&#xff09;通过标准化接口连接外部数据源。 MySQL MCP Server 是一个独立的服…

2026/7/17 5:14:53

deepcode-cli终端AI编程助手:从安装配置到Agent Skills实战指南

在终端环境下直接调用 AI 大模型进行代码编写和问题解答&#xff0c;已经成为提升开发效率的重要方式。deepcode-cli 作为专为 DeepSeek-V4 系列模型优化的开源终端 AI 编程助手&#xff0c;支持深度思考模式和 Agent Skills 机制&#xff0c;让开发者能够在命令行环境中获得智…

2026/7/17 5:14:53

图纸、模型、代码都在员工电脑上,研发数据安全该怎么治理?

研发负责人最怕的不是电脑坏了&#xff0c;而是核心图纸、三维模型、代码、工艺文件长期散落在员工电脑上。项目越多、人员越多、异地协作越频繁&#xff0c;这类数据越难靠人工流程管理。很多企业会先想到加密、权限、水印或备份。这些措施当然重要&#xff0c;但如果研发计算…

2026/7/17 5:14:53

Ubuntu命令行操作与系统管理完全指南

1. Ubuntu命令操作基础认知第一次接触Ubuntu终端时&#xff0c;那个黑底白字的界面确实让我有些发怵。但经过多年使用&#xff0c;我发现命令行才是Linux系统的灵魂所在。与Windows不同&#xff0c;Ubuntu中大约85%的系统管理任务都是通过命令行完成的&#xff0c;这不仅效率更…

2026/7/17 5:14:53

Ubuntu 22.04手动编译Linux内核5.10全流程指南

1. 项目概述&#xff1a;为什么要自己编译Linux内核&#xff1f;在Ubuntu 22.04上编译内核听起来像是系统开发者的专属技能&#xff0c;但实际上任何需要深度定制系统、优化硬件兼容性或研究内核机制的用户都可能需要这项能力。我最近因为需要为特定硬件&#xff08;RK3568芯片…

2026/7/17 5:14:53

QML Label 完整用法与 Text 组件选型

目录什么时候应该用 LabelLabel 基础用法演示代码关键逻辑解析适用场景注意点Label 内边距控制演示代码关键逻辑解析适用场景注意点Label 背景支持演示代码关键逻辑解析适用场景注意点Text vs Label 对比演示代码关键逻辑解析选型建议运行验证扩展复用方向小结QML 里显示文本最…

2026/7/17 5:09:53

小程序商城开发报价多少?订单、会员和营销功能费用对比

小程序商城开发报价多少&#xff1f;订单、会员和营销功能费用对比小程序商城开发报价多少&#xff0c;关键看它只是商品展示&#xff0c;还是要跑通下单、支付、会员、优惠券、拼团、秒杀、分销和售后。商城和普通展示小程序不同&#xff0c;交易链路越完整&#xff0c;预算越…

2026/7/15 17:04:06

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由&#xff1a;ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/17 1:21:45

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统&#xff1a;3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展&#xff0c;充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本&#xff0c;对充电机与电动汽车之间的通信提出了更严格…

2026/7/15 23:18:22

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动&#xff1a;从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗&#xff1f;&#x1f…

2026/7/17 0:04:23

BiSheng JDK-build性能调优:构建速度提升30%的优化策略

BiSheng JDK-build性能调优&#xff1a;构建速度提升30%的优化策略 【免费下载链接】bishengjdk-build BiSheng JDK build and test scripts - common across all releases/versions 项目地址: https://gitcode.com/openeuler/bishengjdk-build 前往项目官网免费下载&am…

2026/7/16 13:58:36

3个高效策略:快速掌握Axure中文界面配置

3个高效策略&#xff1a;快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…