- 内核黑盒:帮助系统工程师打开Linux内核这个黑盒子,通过BPF技术动态观测内核中的运行行为与事件。
- 性能排查:提供火焰图与BPF工具结合的实践方法,解决生产系统中棘手的性能分析与瓶颈定位问题。
- 开发入门:系统讲解BPF程序的生命周期与基本概念,让读者学会编写观测和修改内核行为的应用程序。
- 安全监控:展示如何通过代码注入方式对内核事件进行监控、跟踪与安全观测,提升容器运行时安全检测能力。
- 知识碎片化:将分散的BPF知识系统汇总,配有C、Go和Python代码示例,使BPF爱好者能体系化学习。
- Linux开发工程师:希望深入了解内核机制并掌握BPF开发技术的系统开发者。
- 运维与SRE人员:需要快速定位生产系统性能问题并进行安全观测的运维工程师。
- 云原生开发者:从事容器、Kubernetes相关开发,需要掌握内核级观测与安全技术的人员。
- 性能优化专家:希望借助BPF与火焰图深入分析系统性能瓶颈的技术人员。
- 先读前四章:掌握BPF虚拟机、程序生命周期与映射等基础概念,为后续实践打下理论基础。
- 结合代码动手:书中配有C、Go和Python示例,建议边读边编译运行,加深对BPF程序开发的理解。
- 重点研读性能与安全章节:性能分析和容器安全是BPF的核心应用场景,值得反复阅读与实践。
- 配合官方文档:遇到BCC、bpftrace等工具细节时,可结合官方文档和社区资源同步学习。
- 内核观测能力:掌握使用BPF动态跟踪内核事件的方法,能够深入观测系统运行行为。
- 性能分析技能:学会结合火焰图与BPF工具进行系统性能分析与瓶颈定位。
- 开发实践:能够使用C、Go和Python编写观测和修改内核行为的BPF应用程序。
- 安全检测:理解如何通过BPF实现容器运行时安全监控与异常检测。
- 体系化知识:建立完整的BPF知识体系,为深入研究eBPF生态与云原生技术奠定基础。
📖 书籍简介
产品特色
编辑推荐
BPF首著,本书帮助系统工程师获得Linux内核中BPF虚拟机的专业知识。
帮你深入了解BPF程序的生命周期,熟悉日常工作所需的基本概念,增强有关性能优化、网络和安全方面的知识,学习如何编写观测和修改内核行为的应用程序,以及通过代码注入的方式对内核事件进行监控、跟踪和安全观测等内容。
内容简介
本书是一本面向系统工程师的实践指南,皆在帮助他们获得Linux内核中BPF虚拟机的专业知识。
通过本书,你不仅可以深入了解BPF程序的生命周期,熟悉日常工作所需的基本概念,增强有关性能优化、网络和安全方面的知识。还可以学习如何编写观测和修改内核行为的应用程序,以及通过代码注入的方式对内核事件进行监控、跟踪和安全观测等内容。同时,本书展示了相关的C、Go和Python代码示例。
本书将BPD知识系统的汇总在一起,使BPF爱好者能系统地学习这一技术。
作者简介
【作者简介】
★大卫·卡拉维拉(David Calavera)
是Netlify的CTO,曾是Docker的维护者以及Runc、Go和BCC工具及其他开源项目的贡献者。他构建和促进了Docker插件生态系统,因Docker项目的工作而闻名。David非常喜欢使用火焰图和进行性能优化。
★洛伦佐·丰塔纳(Lorenzo Fontana)
是Sysdig开源团队的成员,主要负责CNCF(云本地计算基础)的Falco项目,该项目通过内核模块和eBPF实现了容器运行时安全和异常检测功能。他对分布式系统、软件定义网络、Linux内核和性能分析充满热情。
【译者简介】
★范彬
在容器技术领域工作多年,潜心研究,对Docker、Kubernetes技术有丰富的实践经验,一直保持热情和努力去研究新的内核和网络等方面的技术。现任中国电信天翼云容器组组长,带领团队研发了具有100%自主知识产权的天翼云容器引擎平台,并在金融等多个行业得到成功应用。
★狄卫华
趣头条资深架构师,拥有近 15 年的软件研发和架构经验,专注于高并发、微服务架构和云原生技术,具有丰富的大型软件架构设计和实施落地经验;熟悉Linux内核技术和网络、擅长性能调优和问题排查定位;熟悉 Kubernetes 和 Docker 技术,有丰富的容器化实践经验。
精彩书评
★网络是互联网的基础,更是每个开发者都需要掌握的核心技术之一。但是网络对大多数开发者来说通常只是一个黑盒子,可以看到输入和输出,却很难了解内部的工作原理。这就带来了一个很多人都会碰到的难题,即网络问题的排查和性能优化。Linux内核中的BPF(Berkeley Packet Filter)为这个问题提供了一种神奇的解决方法,即通过内核事件来动态跟踪内核中的网络行为。特别令人兴奋的是,eBPF在BPF的基础上引入了一系列的优化,使得用户可以动态地向内核中注入代码,从而不仅可以观测内核网络行为,更可以对网络数据包进行处理。eBPF特别适合于微服务等复杂网络场景的网络观测和安全策略控制,诸如 Cilium、Sysdig、Calico等项目都得益于eBPF提供了更好的性能和动态观测能力。本书的内容将为你提供BPF的工作原理、开发方法、应用实例以及动态跟踪案例,相信读者朋友们定能从中受益。
——倪朋飞,微软Azure资深工程师,Kubernetes项目维护者,极客时间专栏作者。一直从事云计算和云原生领域,在云计算、SDN网络和容器编排调度等领域具有多年实践经验
★“ 20年前,如果有人问我怎么排查棘手的系统问题,我的回答是使用tcpdump和strace这类工具,但今天我会推荐这本书。”
——Jérôme Petazzoni,Tiny Shell Script有限责任公司创始人
目录
📑 章节目录
- BPF技术概述与发展历程
- BPF虚拟机架构与指令集基础
- BPF程序的生命周期与加载机制
- BPF映射与数据结构详解
- 使用BCC和bpftrace进行快速开发
- 基于BPF的性能分析与火焰图实践
- 网络观测:数据包过滤与流量分析
- 内核跟踪与事件监控技术
- 容器安全与运行时异常检测
- 使用Go和Python编写BPF应用程序
- 生产环境中的BPF部署与调优
- BPF生态工具与未来发展趋势


