作者: | David Calavera and Lorenzo Fontana |
语言: | 英文 |
出版年份: | 2019 |
操作系统: | Linux |
下载链接: |
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。 |
随着计算系统的复杂性不断增加,理解软件行为变得极具挑战性。传统的日志分析和指标监控方法存在局限性,而新兴的可观测性(Observability)实践旨在通过收集系统产生的所有数据来回答任意问题。Linux 容器的兴起进一步增加了系统的复杂性,因为它们依赖于 Linux 内核的低级功能,如命名空间和 cgroups。为了更好地理解和监控这些复杂的系统,BPF(Berkeley Packet Filter)技术应运而生,它允许在内核中安全地运行程序以收集和分析数据。
BPF 是一种内核子系统,最初用于网络数据包过滤,但随着扩展版 eBPF 的出现,其功能得到了极大增强。eBPF 程序可以在内核触发事件时安全地执行,而无需重新编译内核。BPF 的架构包括虚拟机(VM)、程序类型、执行点、BPF 映射(maps)等关键组件。BPF 映射是内核中的键值存储,用于在内核和用户空间之间共享数据。BPF 程序通过特定的执行点(如 kprobes、tracepoints、XDP 等)与内核交互,并利用 BPF 映射来存储和检索数据。
本书共分为九章,系统地介绍了 BPF 技术及其在 Linux 系统可观测性中的应用。主要内容包括:
《Linux Observability with BPF》是一本全面深入的 BPF 技术指南,适合希望深入了解 Linux 系统性能监控和安全性的开发人员、系统管理员和研究人员。通过阅读本书,读者将掌握如何利用 BPF 技术提升系统的可观测性,从而更好地理解和优化复杂的 Linux 系统。