42장. BPF 컴파일러 컬렉션을 사용한 네트워크 추적

BCC(BPF Compiler Collection)는 eBPF(extended Berkeley Packet Filter) 프로그램을 쉽게 생성할 수 있는 라이브러리입니다. eBPF 프로그램의 주요 유틸리티는 오버헤드 또는 보안 문제가 발생하지 않고 운영 체제 성능 및 네트워크 성능을 분석하는 것입니다.

BCC는 사용자가 eBPF의 심층적인 기술적 세부 사항을 알 필요가 없으며 eBPF 프로그램이 미리 생성된 bcc-tools 패키지와 같은 많은 아웃-인드 시작점을 제공합니다.

참고

eBPF 프로그램은 디스크 I/O, TCP 연결 및 프로세스 생성과 같은 이벤트에서 트리거됩니다. 커널에서 안전한 가상 시스템에서 실행되기 때문에 프로그램이 커널을 충돌, 루프 또는 응답하지 않아야 하는 경우가 거의 없습니다.

42.1. bcc-tools 패키지 설치

bcc-tools 패키지를 설치합니다. 이 패키지는 BPF Compiler Collection(BCC) 라이브러리를 종속성으로 설치합니다.

절차

  1. bcc-tools 를 설치합니다.

    # dnf 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 디렉터리에는 각 툴에 대한 문서가 포함되어 있습니다.