- 文集信息
- 目录大纲
- 最新文档
- 知识宇宙
文集详情
文集导读
教程导读
一句话定位:eBPF 是一套可验证、可加载、可卸载的内核沙箱程序机制。本教程从“内核看不见、一碰就崩”的生产痛点出发,讲清它如何在不写内核模块的前提下做观测、网络与安全。
这个教程解决什么问题
线上延迟突然从 2 毫秒跳到 80 毫秒。你打开抓包,看到的是已经离开协议栈的成品;你挂上系统调用追踪,整机吞吐掉了三成;你想写个内核模块插一眼调度器,变更窗口要排两周,还要赌一次可能的内核崩溃。痛点不是“工具不够多”,而是观测点太靠外、控制点太危险、策略更新太慢。
eBPF 把这段矛盾拆开:程序以字节码进内核,先过验证器,再按需挂到系统调用、网卡收包、cgroup、安全钩子上。失败就拒绝加载,成功则热更新,不必重启机器。它不是“更快的抓包”,而是把“看一眼内核”从高危手术改成可回滚的门诊检查。
本教程按问题链组织:先问传统手段为什么总是迟到,再问一段程序如何活过验证器,再落到挂载点、Map、工具链和生产排错。读完你应能判断:这个故障该不该用 eBPF、挂在哪、代价是什么、验证失败该怎么拆。
适合谁读
- 被延迟、丢包、mysterious CPU 折磨过的后端与 SRE,需要内核级线索却不敢碰模块
- 做云原生网络、服务网格、运行时安全的工程师,要理解 Cilium、bpftrace 一类工具底下真正在跑什么
- 平台与安全团队,要评估“把策略下沉到内核”的收益和爆炸半径
- 有 Linux 使用经验、知道进程/socket/系统调用是什么的学习者;不要求写过内核代码
学完你能做什么
- 用自己的话讲清:传统观测、内核模块、Sidecar 各自卡在哪,eBPF 补的是哪一块
- 画出“编译 → 验证 → JIT → 挂载 → Map 回传”这条路径,并指出每一步会在哪失败
- 按问题选挂载点:追踪用 kprobe 还是 tracepoint,网络用 XDP 还是 TC
- 看懂验证器拒绝日志的常见类型,能把“逻辑正确但加载失败”和“真的写错了”分开
- 在 bcc、libbpf、bpftrace、Cilium 之间做取舍,而不是把所有工具叠上去
- 评估一段探针的生产开销,设计灰度、签名与回滚,而不是直接在高峰期全量挂载
学习路线
| 章 | 你要回答的问题 | 读完的标志 |
|---|---|---|
| 第1章 | 为什么现有观测总是迟到或把机器拖垮 | 能举出至少三种传统手段的致命缺陷 |
| 第2章 | 字节码如何被内核接纳 | 能口述验证与 JIT 的先后关系 |
| 第3章 | 程序如何保存状态、如何调用内核 | 能按场景选出 Map 类型与 Helper |
| 第4章 | 挂在哪个钩子上 | 能画 XDP 与 TC 的前后位置 |
| 第5章 | 为什么验证器总跟你作对 | 能读拒绝原因并改到能加载 |
| 第6章 | 该用哪套工具 | 能在实验、交付、平台三者间选型 |
| 第7章 | 换内核会不会全军覆没 | 能解释 BTF 与 CO-RE 解决什么、解决不了什么 |
| 第8章 | 上生产会不会把自己打挂 | 能说出开销来源、排错顺序、灰度步骤 |
图:从痛点到内核钩子的下沉路径

怎么用这个教程
预计耗时:第 1 章可在一小时内读完并填一张缺口表;第 2–5 章建议连续读,大约一个下午;第 6–8 章按任务抽读,每节半小时到一小时。不必准备内核编译环境才能读懂概念;若要动手,用可控虚拟机,不要用别人的生产节点练卸载。
读的时候带一个真实问题。没有真实问题,机制会变成名词表。有真实问题,第 4 章的挂载点选择会自然变成“我该站在哪一拍”。附录放在最后,是给故障夜扫一眼用的,不是替代正文推理。
若你已经在用 Cilium 或 bpftrace,建议仍从第 1 章读起。工具会让人误以为自己理解了钩子。第 1 章的缺口表能检验:你现在的工具到底覆盖了哪一拍,哪一拍其实仍是盲的。
按章顺序读。第 1 章是动机,跳过它后面会觉得 eBPF “好像什么都能干”。第 2–5 章是内核契约,建议连着读;第 6–8 章可以按你手头的任务抽读——要写程序看第 6 章,要上生产看第 8 章。
每节有一张流程图或对比表,代码是概念性简化片段,用来说明寄存器、Map、挂载点怎么配合,不是一份可以扔进生产的工程仓库。文中交叉引用写成“详见第 N 章”,不放网址、不放本地路径。
⚠️ 本教程默认你在较新的 Linux 上理解概念。发行版内核偏旧时,CO-RE 与部分程序类型会缺,不要拿实验机结论直接套生产内核。
本教程也可以当排障手册倒着读:先翻附录最短链,再跳到对应章。倒着读时不要跳过第 1 章的缺口表,否则容易把工具当目的。
💡 判断题优先:遇到一个观测需求,先问“我必须看到内核里的哪一个瞬间”,再问“这个瞬间有没有稳定钩子”。钩子选错,后面写得再漂亮也是在错误的时间点采样。
目录大纲
最新文档
知识宇宙
正在加载知识图谱...