Linux内核观测技术BPF【精排电子版】(DavidCalavera,LorenzoFontana,范彬狄,卫华)

书: https://pan.baidu.com/s/1hMg-9fMkkzntAfHoLymQMA?pwd=2tx9
笔记如下:

  1. BPF 概述:BPF(Berkeley Packet Filter)最初用于网络包过滤,现已扩展为通用的内核观测和性能分析工具。
  2. eBPF 的演进:eBPF(extended BPF)增强了指令集和功能,支持更复杂的分析和内核编程。
  3. BPF 程序类型:包括网络过滤、跟踪、安全监控、性能分析等不同类型。
  4. BPF 工具链bpftoollibbpfBCC(BPF Compiler Collection)等工具简化开发。
  5. BPF 映射(Map):用于用户态和内核态数据交换,支持哈希表、数组、环形缓冲区等结构。
  6. BPF 挂钩点(Hook):可在内核函数、系统调用、网络事件等位置插入 BPF 程序。
  7. BPF 验证器:确保 BPF 程序安全执行,防止崩溃或安全漏洞。
  8. BCC 框架:提供 Python/Lua 接口,简化 BPF 程序的开发和调试。
  9. BPF 性能分析:利用 perf 和 BPF 结合,实现低开销的性能监测。
  10. XDP(eXpress Data Path):基于 BPF 的高性能网络数据处理框架。
  11. kprobes 和 uprobes:动态追踪内核和用户空间函数调用。
  12. tracepoints 和 USDT:静态内核跟踪点和用户级静态定义跟踪点。
  13. BPF 安全监控:可用于检测恶意行为、容器逃逸、异常系统调用等。
  14. 火焰图生成:结合 BPF 和 perf 生成 CPU、内存、I/O 火焰图。
  15. BPF 与容器:在 Kubernetes 和 Docker 环境中观测容器行为。
  16. BPF 网络观测:监控 TCP/UDP 流量、丢包、延迟等网络指标。
  17. BPF 文件系统观测:跟踪文件读写、VFS 调用等存储行为。
  18. BPF 调度器观测:分析进程调度、CPU 负载均衡等内核行为。
  19. BPF 与安全策略:实现 Seccomp、LSM(Linux Security Module)增强安全。
  20. BPF 未来趋势:持续扩展应用场景,如 AI 推理加速、实时内核调试等。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注