Linux内核观测技术BPF
范彬, 狄卫华 译
出版时间:2020年08月
页数:178
“20年前,如果有人问我怎么排查棘手的系统问题,我的回答是使用tcpdump和strace这类工具,但今天我会推荐这本书。”
——Jérome Petazzoni
Tiny Shell Script有限责任公司的创始人
本书是一本面向系统工程师的实践指南,旨在帮助他们获得Linux内核中BPF虚拟机的专业知识。通过本书,你不仅可以深入了解BPF程序的生命周期,还可以学习编写观测和修改内核行为的应用程序,以及通过代码注入的方式对内核事件进行监控、跟踪和安全观测等内容。
作者David Calavera和Lorenzo Fontana希望帮助读者利用BPF技术提升计算机系统的可观测性。通过本书,你可以熟悉日常工作所需的基本概念,并增强有关性能优化、网络和安全方面的知识。同时,本书展示了相关的C、Go和Python代码示例。
● 根据需求编写使用BPF观测和修改Linux内核行为的应用程序。
● 在无须重新编译内核或重启系统的情况下,安全地注入代码对内核事件进行监控、跟踪和观测。
● 对C、Go和Python代码示例进行探索。
● 全面深入地了解BPF程序的生命周期。
- 序言
- 前言
- 第1章 引言
- 1.1 BPF的历史
- 1.2 架构
- 1.3 小结
- 第2章 运行一个BPF程序
- 2.1 编写BPF程序
- 2.2 BPF程序类型
- 2.3 BPF验证器
- 2.4 BPF类型格式
- 2.5 BPF尾部调用
- 2.6 小结
- 第3章 BPF映射
- 3.1 创建BPF映射
- 3.2 使用BPF映射
- 3.3 BPF映射类型
- 3.4 BPF虚拟文件系统
- 3.5 小结
- 第4章 BPF跟踪
- 4.1 探针
- 4.2 跟踪数据可视化
- 4.3 小结
- 第5章 BPF工具
- 5.1 BPFTool
- 5.2 BPFTrace
- 5.3 kubectl-trace
- 5.4 eBPF Exporter
- 5.5 小结
- 第6章 Linux网络和BPF
- 6.1 BPF和数据包过滤
- 6.2 基于BPF的流量控制分类器
- 6.3 小结
- 第7章 XDP
- 7.1 XDP程序概述
- 7.2 XDP和BCC
- 7.3 测试XDP程序
- 7.4 XDP用户案例
- 7.5 小结
- 第8章 Linux内核安全、能力和Seccomp
- 8.1 能力
- 8.2 Seccomp
- 8.3 BPF的LSM钩子
- 8.4 小结
- 第9章 真实的用户案例
- 9.1 Sysdig eBPF上帝视角
- 9.2 Flowmill
书名:Linux内核观测技术BPF
译者:范彬, 狄卫华 译
国内出版社:机械工业出版社
出版时间:2020年08月
页数:178
书号:978-7-111-66054-5
原版书书名:Linux Observability with BPF
原版书出版商:O'Reilly Media
David Calavera
David Calavera是Netlify的CTO,曾是Docker的维护者以及Runc、Go和BCC工具及其他开源项目的贡献者。他构建和促进了Docker插件生态系统,因Docker项目的工作而闻名。David非常喜欢使用火焰图和进行性能优化。
Lorenzo Fontana
Lorenzo Fontana是Sysdig开源团队的成员,主要负责CNCF(云本地计算基础)的Falco项目,该项目通过内核模块和eBPF实现了容器运行时安全和异常检测功能。他对分布式系统、软件定义网络、Linux内核和性能分析充满热情。