首本深入讲解Linux内核观测技术BPF的书上市!

新书速递

导读:BPF通过一种软件定义的方式,将内核的行为和数据暴露给用户空间,开发者可以通过在用户空间编写BPF程序,加载到内核空间执行,进而实现对内核行为的灵活管理和控制。

在计算机系统中,包过滤器通常有一个特定的用途,那就是提供给应用程序来监控系统的网络与内核运行的相关信息。这些监控程序对于系统的开发者、运维者、或者是安全管理者,都有着重要的意义。

 

有了更加细粒度的网络数据和内核运行数据,对于开发者来说,就可以根据当前系统的运行情况,合理的优化程序,提高程序的性能同时降低资源开销;对于系统运维者来说,能够拿到精确全面的系统运行数据,可以更好的对系统进行监控,保证系统的可靠性与高可用性;对于安全管理者来说,可以从这些网络和内核行为中,发现异常,进而在攻击行为发生的早期,发现攻击并且能够快速的进行响应和修复。

 

BPF(Berkeley Packet Filter)就是这样的一种包过滤器,从其诞生之初,就引起了人们的广泛关注与应用,尤其是近年来,随着微服务和云原生的发展和落地,BPF更是成为了内核开发者最受追捧的技术之一。

 

可观测性是一种新兴的实践,尝试从不同角度来解决问题。可观测性被定义成一种能力,可以对给定系统提出的任意问题,寻求到复杂的答案。可观测性、日志和度量聚合三者的主要区别是收集的数据内容。如果可观测性的实践需要随时随地回答任意问题,那么唯一可行的方式就是收集系统中生成的所有数据,在需要回答问题的时候聚合收集到的数据。

 

Linux容器是Linux内核实现进程隔离和管理进程的一系列特性的抽象。传统上内核负责资源管理,并提供任务隔离和安全。在Linux系统中,容器基于内核的命名空间和cgroups特性。命名空间将任务彼此隔离。在一个命名空间内,你仿佛看不到系统内其他任务在运行。cgroups是提供资源管理的组件。从操作的角度看,cgroups对资源使用提供了细粒度控制,例如,CPU、磁盘I/O、网络等。在过去的十年里,随着Linux容器的普及,软件工程师设计大型分布式系统和计算平台的方式已经发生变化。多租户计算平台已经完全依赖于内核中的这些特性。

 

今天给大家介绍一本讲解Linux内核观测技术BPF的第一本书:《Linux内核观测技术BPF》。本书将详细地介绍BPF架构的每个组件,你可以学习使用BPF的扩展性以及数据共享机制。同时,本书还会提供一些具体示例,涉及栈跟踪分析、网络过滤和运行时隔离等内容。

 

内容简介

本书是一本面向系统工程师的实践指南,皆在帮助他们获得Linux内核中BPF虚拟机的专业知识。

通过本书,你不仅可以深入了解BPF程序的生命周期,熟悉日常工作所需的基本概念,增强有关性能优化、网络和安全方面的知识。

还可以学习如何编写观测和修改内核行为的应用程序,以及通过代码注入的方式对内核事件进行监控、跟踪和安全观测等内容。

同时,本书展示了相关的CGoPython代码示例。

本书将BPD知识系统的汇总在一起,使BPF爱好者能系统地学习这一技术。

 

译者简介

范彬

在容器技术领域工作多年,潜心研究,对Docker、Kubernetes技术有丰富的实践经验,一直保持热情和努力去研究新的内核和网络等方面的技术。现任中国电信天翼云容器组组长,带领团队研发了具有100%自主知识产权的天翼云容器引擎平台,并在金融等多个行业得到成功应用。

 

狄卫华

趣头条资深架构师,拥有近15年的软件研发和架构经验,专注于高并发、微服务架构和云原生技术,具有丰富的大型软件架构设计和实施落地经验;熟悉Linux内核技术和网络、擅长性能调优和问题排查定位;熟悉Kubernetes 和Docker 技术,有丰富的容器化实践经验。 

作者简介

 

大卫·卡拉维拉(David Calavera)

是Netlify的CTO,曾是Docker的维护者以及Runc、Go和BCC工具及其他开源项目的贡献者。他构建和促进了Docker插件生态系统,因Docker项目的工作而闻名。David非常喜欢使用火焰图和进行性能优化。

 

洛伦佐·丰塔纳(Lorenzo Fontana)

是Sysdig开源团队的成员,主要负责CNCF(云本地计算基础)的Falco项目,该项目通过内核模块和eBPF实现了容器运行时安全和异常检测功能。他对分布式系统、软件定义网络、Linux内核和性能分析充满热情。

 

目录

●第1章 引言9

1.1 BPF的历史10

1.2 架构12

1.3 小结13

 

●第2章 运行第一个BPF程序14

2.1 编写BPF程序14

2.2 BPF程序类型17

2.3 BPF验证器24

2.4 BPF类型格式26

2.5 BPF尾部调用27

2.6 小结27

 

●第3章 BPF映射28

3.1 创建BPF映射28

3.2 使用BPF映射30

3.3 BPF映射类型40

3.4 BPF虚拟文件系统52

3.5 小结55

 

●第4章 BPF跟踪56

4.1 探针57

4.2 跟踪数据可视化71

4.3 小结81

 

●第5章 BPF工具82

5.1 BPFTool82

5.2 BPFTrace92

5.3 kubectl-trace97

5.4 eBPF Exporter98

5.5 小结100

 

●第6章 Linux网络和BPF102

6.1 BPF和数据包过滤103

6.2 基于BPF的流量控制分类器115

6.3 小结125

 

●第7章 XDP126

7.1 XDP程序概述127

7.2 XDP和BCC138

7.3 测试XDP程序141

7.4 XDP用户案例147

7.5 小结149

 

●第8章 Linux内核安全、能力和Seccomp150

8.1 能力150

8.2 Seccomp154

8.3 BPF的LSM钩子162

8.4 小结163

 

●第9章 真实的用户案例164

9.1 Sysdig eBPF上帝视角164

9.2 Flowmill167

上下滑动查看

点击链接了解详情并购买

 

更多精彩回顾

书讯 |华章计算机拍了拍你,并送来了8月书单(下)

书讯 | 华章计算机拍了拍你,并送来了8月书单(上)

上新 | 三个男人一台戏,为云原生应用和OpenShift写了一本书
书单 | 《天才引导的历程》| 西安交通大学送给准大一新生的礼物

干货 | 机器人干活,我坐一边喝茶——聊聊最近爆火的RPA

收藏 | 揭秘阿里巴巴的客群画像

点击阅读原文购买

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值