Repolode
aliyun

aliyun/coolbpf

libbpf를 감싸 eBPF 프로그램을 컴파일하고 로드하는 C 라이브러리 및 플랫폼으로, 원격 컴파일과 커널 버전별 백포트를 지원합니다.

스타
292
포크
44
열린 이슈
5
마지막 커밋
7시간 전

어떤 프로젝트인가요?

coolbpf는 libbpf의 주요 기능을 래핑해 개발자가 적은 설정만으로 커널 추적 및 조작 프로그램을 만들 수 있도록 합니다. BPF 함수 호출을 위한 래퍼가 포함된 로컬 컴파일 서비스와, bpf.c 소스 파일을 받아 로컬 애플리케이션에서 로드할 수 있는 bpf.so 객체를 반환하는 원격 컴파일 서비스를 제공합니다. 따라서 사용자가 컴파일 환경을 직접 관리할 필요가 없습니다.

또한 커널 모듈을 사용해 최신 커널의 BPF 기능을 구형 커널로 백포트합니다. 예를 들어 3.10 커널에서 BPF를 지원하고 perf buffer를 ring buffer로 대체할 수 있습니다. BTF를 자동 생성하며 Python, Go, C, Rust 바인딩을 제공합니다. libcoolbpf를 빌드하려면 elfutils-devel과 gcc가 필요하고, eBPF 도구를 사용하려면 clang과 llvm도 필요합니다.

저장소에는 코드 변경 없이 SSL/TLS 트래픽과 프로세스 활동을 캡처하는 eBPF 기반 LLM 에이전트 관측 도구인 AgentSight와, XDP 프로그램에 추가 kfunc를 제공하는 eNetSTL 등의 커널 모듈도 포함되어 있습니다.

핵심 기능

  • 01BPF 함수 호출 래퍼를 제공하는 로컬 컴파일 서비스.
  • 02로컬에서 로드할 수 있는 bpf.so를 반환하는 원격 컴파일 서비스.
  • 033.10 커널에서의 BPF 지원, perf buffer 대신 ring buffer 사용 등을 제공하는 커널 모듈 백포트.
  • 04BTF 자동 생성.
  • 05Python, Go, C, Rust용 언어 바인딩.
  • 06AgentSight는 코드 변경 없이 eBPF로 LLM 에이전트의 트래픽과 프로세스를 관측합니다.

활용 사례

  • 로컬 컴파일 도구 체인을 관리하지 않고 eBPF 추적 도구를 빌드할 수 있습니다.
  • 커널 모듈 백포트를 통해 구형 커널에서 BPF 프로그램을 실행할 수 있습니다.
  • Linux에서 AI 에이전트의 네트워크 트래픽과 하위 프로세스 활동을 관측할 수 있습니다.

빠른 시작

  1. 1

    빌드 종속성(elfutils-devel, gcc)을 설치합니다

  2. 2

    프로젝트 루트에서 libcoolbpf를 설치합니다

    ./install.sh
  3. 3

    프로젝트 루트에서 syscall 예제를 빌드합니다

    mkdir -p build && cd build && cmake -DBUILD_EXAMPLE=on .. && make

사용 전 알아둘 점

  • eBPF 도구를 빌드하려면 gcc와 elfutils 외에도 clang과 llvm이 필요합니다.
  • 커널 버전 백포트와 같은 일부 기능은 커널 모듈을 로드해야 하므로 root 권한이 필요합니다.
  • README에는 나열된 종속성 외에 라이선스나 안정성에 관한 명시적인 주의사항이 없습니다.

포함된 컬렉션

토픽

자주 묻는 질문

coolbpf은(는) 무엇인가요?
libbpf를 감싸 eBPF 프로그램을 컴파일하고 로드하는 C 라이브러리 및 플랫폼으로, 원격 컴파일과 커널 버전별 백포트를 지원합니다. coolbpf는 libbpf의 주요 기능을 래핑해 개발자가 적은 설정만으로 커널 추적 및 조작 프로그램을 만들 수 있도록 합니다. BPF 함수 호출을 위한 래퍼가 포함된 로컬 컴파일 서비스와, bpf.c 소스 파일을 받아 로컬 애플리케이션에서 로드할 수 있는 bpf.so 객체를 반환하는 원격 컴파일 서비스를 제공합니다. 따라서 사용자가 컴파일 환경을 직접 관리할 필요가 없습니다.
coolbpf은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
coolbpf은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
coolbpf은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. coolbpf의 마지막 커밋은 2026년 11월 7일입니다.
coolbpf은(는) 어디에 사용할 수 있나요?
로컬 컴파일 도구 체인을 관리하지 않고 eBPF 추적 도구를 빌드할 수 있습니다. 커널 모듈 백포트를 통해 구형 커널에서 BPF 프로그램을 실행할 수 있습니다. Linux에서 AI 에이전트의 네트워크 트래픽과 하위 프로세스 활동을 관측할 수 있습니다.
coolbpf는 어떻게 설치하나요?
빌드 종속성(elfutils-devel, gcc)을 설치합니다 프로젝트 루트에서 libcoolbpf를 설치합니다: ./install.sh 프로젝트 루트에서 syscall 예제를 빌드합니다: mkdir -p build && cd build && cmake -DBUILD_EXAMPLE=on .. && make
coolbpf은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/aliyun/coolbpf

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트