Linux內(nèi)核觀測技術(shù)BPF
范彬, 狄衛(wèi)華 譯
出版時間:2020年08月
頁數(shù):178
“20年前,如果有人問我怎么排查棘手的系統(tǒng)問題,我的回答是使用tcpdump和strace這類工具,但今天我會推薦這本書?!?br />
——Jérome Petazzoni
Tiny Shell Script有限責(zé)任公司的創(chuàng)始人
本書是一本面向系統(tǒng)工程師的實(shí)踐指南,旨在幫助他們獲得Linux內(nèi)核中BPF虛擬機(jī)的專業(yè)知識。通過本書,你不僅可以深入了解BPF程序的生命周期,還可以學(xué)習(xí)編寫觀測和修改內(nèi)核行為的應(yīng)用程序,以及通過代碼注入的方式對內(nèi)核事件進(jìn)行監(jiān)控、跟蹤和安全觀測等內(nèi)容。
作者David Calavera和Lorenzo Fontana希望幫助讀者利用BPF技術(shù)提升計算機(jī)系統(tǒng)的可觀測性。通過本書,你可以熟悉日常工作所需的基本概念,并增強(qiáng)有關(guān)性能優(yōu)化、網(wǎng)絡(luò)和安全方面的知識。同時,本書展示了相關(guān)的C、Go和Python代碼示例。
● 根據(jù)需求編寫使用BPF觀測和修改Linux內(nèi)核行為的應(yīng)用程序。
● 在無須重新編譯內(nèi)核或重啟系統(tǒng)的情況下,安全地注入代碼對內(nèi)核事件進(jìn)行監(jiān)控、跟蹤和觀測。
● 對C、Go和Python代碼示例進(jìn)行探索。
● 全面深入地了解BPF程序的生命周期。
- 序言
- 前言
- 第1章 引言
- 1.1 BPF的歷史
- 1.2 架構(gòu)
- 1.3 小結(jié)
- 第2章 運(yùn)行一個BPF程序
- 2.1 編寫B(tài)PF程序
- 2.2 BPF程序類型
- 2.3 BPF驗(yàn)證器
- 2.4 BPF類型格式
- 2.5 BPF尾部調(diào)用
- 2.6 小結(jié)
- 第3章 BPF映射
- 3.1 創(chuàng)建BPF映射
- 3.2 使用BPF映射
- 3.3 BPF映射類型
- 3.4 BPF虛擬文件系統(tǒng)
- 3.5 小結(jié)
- 第4章 BPF跟蹤
- 4.1 探針
- 4.2 跟蹤數(shù)據(jù)可視化
- 4.3 小結(jié)
- 第5章 BPF工具
- 5.1 BPFTool
- 5.2 BPFTrace
- 5.3 kubectl-trace
- 5.4 eBPF Exporter
- 5.5 小結(jié)
- 第6章 Linux網(wǎng)絡(luò)和BPF
- 6.1 BPF和數(shù)據(jù)包過濾
- 6.2 基于BPF的流量控制分類器
- 6.3 小結(jié)
- 第7章 XDP
- 7.1 XDP程序概述
- 7.2 XDP和BCC
- 7.3 測試XDP程序
- 7.4 XDP用戶案例
- 7.5 小結(jié)
- 第8章 Linux內(nèi)核安全、能力和Seccomp
- 8.1 能力
- 8.2 Seccomp
- 8.3 BPF的LSM鉤子
- 8.4 小結(jié)
- 第9章 真實(shí)的用戶案例
- 9.1 Sysdig eBPF上帝視角
- 9.2 Flowmill
書名:Linux內(nèi)核觀測技術(shù)BPF
譯者:范彬, 狄衛(wèi)華 譯
國內(nèi)出版社:機(jī)械工業(yè)出版社
出版時間:2020年08月
頁數(shù):178
書號:978-7-111-66054-5
原版書書名:Linux Observability with BPF
原版書出版商:O'Reilly Media
David Calavera
David Calavera是Netlify的CTO,曾是Docker的維護(hù)者以及Runc、Go和BCC工具及其他開源項目的貢獻(xiàn)者。他構(gòu)建和促進(jìn)了Docker插件生態(tài)系統(tǒng),因Docker項目的工作而聞名。David非常喜歡使用火焰圖和進(jìn)行性能優(yōu)化。
Lorenzo Fontana
Lorenzo Fontana是Sysdig開源團(tuán)隊的成員,主要負(fù)責(zé)CNCF(云本地計算基礎(chǔ))的Falco項目,該項目通過內(nèi)核模塊和eBPF實(shí)現(xiàn)了容器運(yùn)行時安全和異常檢測功能。他對分布式系統(tǒng)、軟件定義網(wǎng)絡(luò)、Linux內(nèi)核和性能分析充滿熱情。