Red Hat Training

A Red Hat training course is available for RHEL 8

第 51 章 使用 BPF 编译器集合进行网络追踪

BPF Compiler Collection(BCC)是一个库,可帮助创建扩展的 Berkeley Packet Filter(eBPF)程序。eBPF 程序的主要工具是在不遇到开销或安全问题的情况下分析操作系统性能和网络性能。

BCC 不再需要用户了解 eBPF 的技术详情,并提供了许多开箱即用的起点,如带有预先创建的 eBPF 程序的 bcc-tools 软件包。

注意

eBPF 程序在事件中触发,如磁盘 I/O、TCP 连接以及进程创建。程序不太可能导致内核崩溃、循环或者变得无响应,因为它们在内核的安全性虚拟机中运行。

51.1. 安装 bcc-tools 软件包

安装 bcc-tools 软件包,该软件包还会将 BPF Compiler Collection (BCC)库作为依赖项安装。

流程

  1. 安装 bcc-tools

    # yum install bcc-tools

    BCC 工具安装在 /usr/share/bcc/tools/ 目录中。

  2. (可选)检查工具:

    # ll /usr/share/bcc/tools/
    ...
    -rwxr-xr-x. 1 root root  4198 Dec 14 17:53 dcsnoop
    -rwxr-xr-x. 1 root root  3931 Dec 14 17:53 dcstat
    -rwxr-xr-x. 1 root root 20040 Dec 14 17:53 deadlock_detector
    -rw-r--r--. 1 root root  7105 Dec 14 17:53 deadlock_detector.c
    drwxr-xr-x. 3 root root  8192 Mar 11 10:28 doc
    -rwxr-xr-x. 1 root root  7588 Dec 14 17:53 execsnoop
    -rwxr-xr-x. 1 root root  6373 Dec 14 17:53 ext4dist
    -rwxr-xr-x. 1 root root 10401 Dec 14 17:53 ext4slower
    ...

    上表中的 doc 目录包含每个工具的文档。