Tutorial passo a passo de eBPF com exemplos curtos e executáveis em C, Go e Rust, baseado principalmente em libbpf e CO-RE.
aliyun/coolbpf
Biblioteca C e plataforma que encapsulam o libbpf para compilar e carregar programas eBPF, com suporte à compilação remota e ao backport de recursos para versões antigas do kernel.
- Estrelas
- 292
- Forks
- 44
- Issues abertas
- 5
- Último commit
- há 8 horas
O que é?
coolbpf encapsula as principais funções do libbpf para que desenvolvedores criem programas de rastreamento e manipulação do kernel com menos configuração. O projeto oferece um serviço de compilação local com wrappers para chamadas de funções BPF e um serviço de compilação remota que recebe um arquivo-fonte bpf.c e retorna um objeto bpf.so para a aplicação local carregar, eliminando a necessidade de gerenciar um ambiente de compilação.
O projeto também permite fazer backport de recursos BPF mais recentes para kernels antigos usando um módulo do kernel, como o suporte a BPF em kernels 3.10 e a substituição de perf buffers por ring buffers. Ele gera BTF automaticamente e oferece bindings para Python, Go, C e Rust. Para compilar libcoolbpf, são necessários elfutils-devel e gcc; as ferramentas eBPF também precisam de clang e llvm.
O repositório inclui o AgentSight, uma ferramenta de observabilidade baseada em eBPF para agentes de LLM que captura tráfego SSL/TLS e atividade de processos sem exigir alterações no código, além de um conjunto de módulos do kernel, como o eNetSTL, que fornece kfuncs adicionais para programas XDP.
Recursos principais
- 01Serviço de compilação local com wrappers para chamadas de funções BPF.
- 02Serviço de compilação remota que retorna um bpf.so para carregamento local.
- 03Backports por meio de módulo do kernel, como suporte a BPF em kernels 3.10 e uso de ring buffer no lugar de perf buffer.
- 04Geração automática de BTF.
- 05Bindings para Python, Go, C e Rust.
- 06O AgentSight monitora o tráfego e os processos de agentes de LLM com eBPF, sem alterações no código.
Casos de uso
- Criar ferramentas de rastreamento eBPF sem gerenciar uma toolchain de compilação local.
- Executar programas BPF em kernels antigos por meio de backports em módulos do kernel.
- Monitorar o tráfego de rede e a atividade de subprocessos de agentes de IA no Linux.
Início rápido
- 1
Instale as dependências de build (elfutils-devel, gcc)
- 2
Instale o libcoolbpf a partir da raiz do projeto
./install.sh - 3
Compile o exemplo de syscall a partir da raiz do projeto
mkdir -p build && cd build && cmake -DBUILD_EXAMPLE=on .. && make
Antes de usar
- Para compilar as ferramentas eBPF, são necessários clang e llvm, além de gcc e elfutils.
- Alguns recursos, como o backport de versões do kernel, dependem do carregamento de um módulo do kernel, o que exige acesso root.
- O README não apresenta ressalvas explícitas sobre licença ou estabilidade além das dependências listadas.
Em coleções
Tópicos
Perguntas frequentes
- O que é coolbpf?
- Biblioteca C e plataforma que encapsulam o libbpf para compilar e carregar programas eBPF, com suporte à compilação remota e ao backport de recursos para versões antigas do kernel. coolbpf encapsula as principais funções do libbpf para que desenvolvedores criem programas de rastreamento e manipulação do kernel com menos configuração. O projeto oferece um serviço de compilação local com wrappers para chamadas de funções BPF e um serviço de compilação remota que recebe um arquivo-fonte bpf.c e retorna um objeto bpf.so para a aplicação local carregar, eliminando a necessidade de gerenciar um ambiente de compilação.
- coolbpf é gratuito? Qual é a licença?
- coolbpf é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- coolbpf ainda é mantido?
- Manutenção ativa. O último commit de coolbpf foi em 7 de nov. de 2026.
- Para que posso usar coolbpf?
- Criar ferramentas de rastreamento eBPF sem gerenciar uma toolchain de compilação local. Executar programas BPF em kernels antigos por meio de backports em módulos do kernel. Monitorar o tráfego de rede e a atividade de subprocessos de agentes de IA no Linux.
- Como instalar coolbpf?
- Instale as dependências de build (elfutils-devel, gcc) Instale o libcoolbpf a partir da raiz do projeto: ./install.sh Compile o exemplo de syscall a partir da raiz do projeto: mkdir -p build && cd build && cmake -DBUILD_EXAMPLE=on .. && make
- Onde consigo coolbpf?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/aliyun/coolbpf
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Runtime de eBPF para Windows que permite executar toolchains, APIs e programas eBPF existentes do Linux sobre o kernel do Windows.
Uma interface de terminal para capturar e inspecionar o tráfego de rede no Linux, baseada em eBPF.
Linguagem e ferramenta de tracing de alto nível para Linux que usa eBPF para rastrear eventos do kernel e do espaço de usuário com sobrecarga mínima.
Toolkit que empacota programas eBPF como Gadgets em imagens OCI para coletar e inspecionar dados do sistema em clusters Kubernetes e hosts Linux.
CNI baseado em eBPF e camada de rede, segurança e observabilidade para clusters Kubernetes, com políticas L3-L7 baseadas em identidade e substituição do kube-proxy.