Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)48 mil · #2898

ebpf-observability

Permite observar o sistema em nível de kernel sem alterar o código. Rastreia chamadas de sistema e comportamento de aplicativos.

O que ela faz

Esta ferramenta permite que você veja o que está acontecendo dentro do seu sistema de computador em um nível muito profundo, como quais programas estão se comunicando pela rede ou quais arquivos estão sendo acessados. Ela faz isso sem precisar alterar o código dos seus programas.

Quando usar

  • ✓Quando você quer entender como os programas estão se comunicando na rede.
  • ✓Para ver quais arquivos importantes estão sendo lidos ou escritos.
  • ✓Para monitorar a segurança e detectar atividades suspeitas.

Exemplo do que pedir para a IA

“Mostre-me quais programas estão acessando o arquivo /etc/passwd.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/ebpf-observability/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/ebpf-observability/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ela usa uma tecnologia chamada eBPF, que permite executar pequenos programas dentro do núcleo do sistema operacional (kernel). Esses programas observam eventos importantes, como chamadas de sistema ou tráfego de rede, e reportam essas informações.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill ebpf-observability

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/ebpf-observability/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Observabilidade com eBPF

eBPF (extended Berkeley Packet Filter) permite executar programas em ambiente controlado (sandbox) no kernel do Linux sem modificar o código-fonte do kernel ou carregar módulos de kernel. Esta habilidade abrange o uso de eBPF para observabilidade profunda, monitoramento de rede e aplicação de políticas de segurança em infraestruturas nativas da nuvem.


2. Pré-requisitos

Requisitos de Versão do Kernel

Recurso Kernel Mínimo Kernel Recomendado
Mapas e probes BPF básicos 4.9 5.10+
BPF CO-RE (suporte BTF) 5.2 5.10+
Buffer de anel BPF (ring buffer) 5.8 5.10+
Hooks BPF LSM 5.7 5.15+
Recursos completos do Cilium 4.19 5.10+
Tetragon 4.19 5.13+

Verificar Suporte do Kernel

# Check kernel version
uname -r

# Verify BTF (BPF Type Format) is enabled -- required for CO-RE
ls /sys/kernel/btf/vmlinux

# Check BPF filesystem is mounted
mount | grep bpf

# If not mounted, mount it
sudo mount -t bpf bpf /sys/fs/bpf

# Verify BPF JIT is enabled
cat /proc/sys/net/core/bpf_jit_enable
# Should return 1; if not:
sudo sysctl net.core.bpf_jit_enable=1

Instalar Toolchain

# Ubuntu/Debian -- install bpftrace, bcc tools, and libbpf
sudo apt-get update
sudo apt-get install -y bpftrace bpfcc-tools libbpf-dev linux-headers-$(uname -r)

# Fedora/RHEL
sudo dnf install -y bpftrace bcc-tools libbpf-devel kernel-devel

# Verify bpftrace works
sudo bpftrace -e 'BEGIN { printf("eBPF is working\n"); exit(); }'

3. Configuração do Cilium

O Cilium substitui o kube-proxy por rede baseada em eBPF, oferecendo segurança ciente de identidade e observabilidade de rede profunda através do Hubble.

Instalar Cilium no Kubernetes

# Add the Cilium Helm repo
helm repo add cilium https://helm.cilium.io/
helm repo update

# Install Cilium with Hubble enabled
helm install cilium cilium/cilium --version 1.16.4 \
  --namespace kube-system \
  --set kubeProxyReplacement=true \
  --set k8sServiceHost="${API_SERVER_IP}" \
  --set k8sServicePort="${API_SERVER_PORT}" \
  --set hubble.enabled=true \
  --set hubble.relay.enabled=true \
  --set hubble.ui.enabled=true \
  --set hubble.metrics.enableOpenMetrics=true \
  --set hubble.metrics.enabled="{dns,drop,tcp,flow,port-distribution,icmp,httpV2:exemplars=true;labelsContext=source_ip\,source_namespace\,source_workload\,destination_ip\,destination_namespace\,destination_workload}"

# Wait for Cilium to be ready
cilium status --wait

Instalar Cilium CLI e Hubble CLI

# Cilium CLI
CILIUM_CLI_VERSION=$(curl -s https://raw.githubusercontent.com/cilium/cilium-cli/main/stable.txt)
curl -L --remote-name "https://github.com/cilium/cilium-cli/releases/download/${CILIUM_CLI_VERSION}/cilium-linux-amd64.tar.gz"
sudo tar xzvf cilium-linux-amd64.tar.gz -C /usr/local/bin
rm cilium-linux-amd64.tar.gz

# Hubble CLI
HUBBLE_VERSION=$(curl -s https://raw.githubusercontent.com/cilium/hubble/master/stable.txt)
curl -L --remote-name "https://github.com/cilium/hubble/releases/download/${HUBBLE_VERSION}/hubble-linux-amd64.tar.gz"
sudo tar xzvf hubble-linux-amd64.tar.gz -C /usr/local/bin
rm hubble-linux-amd64.tar.gz

Observabilidade de Rede com Hubble

# Port-forward the Hubble Relay
cilium hubble port-forward &

# Observe all flows in real time
hubble observe --follow

# Filter flows by namespace
hubble observe --namespace production --follow

# Filter by verdict (dropped traffic)
hubble observe --verdict DROPPED --follow

# Filter by DNS queries
hubble observe --protocol DNS --follow

# Filter HTTP traffic to a specific service
hubble observe --to-label "app=api-server" --protocol HTTP --follow

# Export flows as JSON for ingestion into SIEM
hubble observe --output json --last 1000 > flows.json

Acesso à Interface do Hubble (UI)

# Port-forward the Hubble UI
kubectl port-forward -n kube-system svc/hubble-ui 12000:80

# Access at http://localhost:12000 -- provides a real-time service dependency map

4. Tetragon para Segurança

O Tetragon é o motor de aplicação de políticas de segurança em tempo de execução do Cilium. Ele usa eBPF para observar e aplicar políticas de segurança no nível do kernel sem nenhuma alteração nas aplicações.

Instalar Tetragon

helm repo add cilium https://helm.cilium.io/
helm repo update

helm install tetragon cilium/tetragon \

…
Perguntas frequentes

O que é eBPF?

eBPF é uma tecnologia que permite executar código seguro dentro do kernel do Linux para observar e monitorar o sistema sem precisar modificar o código original do kernel.

Preciso ser um programador experiente para usar isso?

Não, esta ferramenta foi feita para ser usada mesmo sem conhecimento prévio de programação. Ela ajuda a entender o que está acontecendo no seu sistema.

Quais ferramentas são usadas?

As principais ferramentas são Cilium (para rede e segurança) e Tetragon (para monitoramento de segurança e eventos do sistema), que utilizam a tecnologia eBPF.

Detalhes

Descrição original do autor

Use eBPF for deep kernel-level observability — trace syscalls, network flows, and application behavior without code changes using Cilium, Tetragon, and bpftrace.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2898
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas