Sobre o projeto

Pixie é uma ferramenta de observabilidade open-source para aplicações Kubernetes. Ela permite visualizar o estado de alto nível de um cluster (mapas de serviços, recursos do cluster, tráfego de aplicações) e aprofundar em visualizações detalhadas como estado de pods, flame graphs e requisições individuais de corpo completo de aplicações. Características principais descritas no README: - Auto-telemetria: Pixie usa eBPF para coletar automaticamente dados de telemetria, incluindo requisições de corpo completo, métricas de recursos e rede, e perfis de aplicações. - Computação de borda no cluster: a telemetria é coletada, armazenada e consultada localmente no cluster. O README afirma que o Pixie usa menos de 5% da CPU do cluster e, na maioria dos casos, menos de 2%. - Scriptabilidade: PxL, uma linguagem de consulta Pythonica, pode ser usada na UI, CLI e APIs de cliente. Casos de uso documentados incluem: - Monitoramento de rede: fluxo de tráfego dentro do cluster, fluxo de requisições DNS, requisições e respostas DNS individuais de corpo completo, e um mapa de descartes e retransmissões TCP. - Saúde da infraestrutura: uso de recursos por Pod, Node e Namespace, além de flame graphs de CPU por Pod e Node. - Desempenho de serviços: fluxo de tráfego entre serviços, latência por serviço e endpoint, e amostras das requisições mais lentas. - Perfilamento de consultas de banco de dados: latência, taxas de erro e throughput para pods e consultas normalizadas, além de consultas e respostas individuais de corpo completo. - Rastreamento de requisições: requisições e respostas de corpo completo para protocolos suportados, e taxa de erro por Serviço e Pod. - Perfilamento contínuo de aplicações para identificar problemas de desempenho no código da aplicação. - Implantação distribuída de bpftrace: implantar um programa bpftrace em todos os nós, capturar a saída em uma tabela e consultar/visualizar na UI. - Logging dinâmico em Go: depurar binários Go em produção sem recompilar e reimplantar. Primeiros passos: a instalação está documentada nos guias de instalação do projeto. Após a instalação, os usuários interagem com o Pixie através de uma Live UI baseada na web, uma CLI ou uma API. O projeto é orientado pela comunidade e aceita contribuições. Foi contribuído pela New Relic, Inc. para a Cloud Native Computing Foundation como um projeto Sandbox em junho de 2021, e é licenciado sob a Apache License 2.0. As versões são versionadas separadamente para componentes como CLI, Cloud, Vizier e Operator.