프로젝트 소개

Pixie는 Kubernetes 애플리케이션을 위한 오픈소스 관측 도구입니다. 클러스터의 상위 수준 상태(서비스 맵, 클러스터 리소스, 애플리케이션 트래픽)를 확인하고, 파드 상태, 플레임 그래프, 개별 전체 요청 본문과 같은 세부 보기로 드릴다운할 수 있습니다. README에 설명된 주요 특징: - 자동 텔레메트리: Pixie는 eBPF를 사용하여 전체 요청 본문, 리소스 및 네트워크 메트릭, 애플리케이션 프로파일을 포함한 텔레메트리 데이터를 자동으로 수집합니다. - 클러스터 내 에지 컴퓨팅: 텔레메트리는 클러스터 내에서 로컬로 수집, 저장 및 조회됩니다. README에 따르면 Pixie는 클러스터 CPU의 5% 미만을 사용하며 대부분의 경우 2% 미만입니다. - 스크립트 가능성: Pythonic 쿼리 언어인 PxL을 UI, CLI 및 클라이언트 API 전반에서 사용할 수 있습니다. 문서화된 사용 사례는 다음과 같습니다: - 네트워크 모니터링: 클러스터 내 트래픽 흐름, DNS 요청 흐름, 개별 전체 DNS 요청 및 응답, TCP 드롭 및 재전송 맵. - 인프라 상태: 파드, 노드, 네임스페이스별 리소스 사용량과 파드 및 노드별 CPU 플레임 그래프. - 서비스 성능: 서비스 간 트래픽 흐름, 서비스 및 엔드포인트별 지연 시간, 가장 느린 요청 샘플. - 데이터베이스 쿼리 프로파일링: 파드 및 정규화된 쿼리에 대한 지연 시간, 오류 및 처리량 비율과 개별 전체 쿼리 및 응답. - 요청 추적: 지원되는 프로토콜에 대한 전체 요청 및 응답 본문과 서비스 및 파드별 오류율. - 애플리케이션 코드의 성능 문제를 식별하기 위한 지속적인 애플리케이션 프로파일링. - 분산 bpftrace 배포: bpftrace 프로그램을 모든 노드에 배포하고 출력을 테이블로 캡처한 후 UI에서 조회하고 시각화합니다. - 동적 Go 로깅: 재컴파일 및 재배포 없이 프로덕션 환경에서 Go 바이너리를 디버깅합니다. 시작하기: 설치는 프로젝트의 설치 가이드에 문서화되어 있습니다. 설치 후 사용자는 웹 기반 Live UI, CLI 또는 API를 통해 Pixie와 상호 작용합니다. 이 프로젝트는 커뮤니티 주도로 운영되며 기여를 환영합니다. New Relic, Inc.가 2021년 6월 Cloud Native Computing Foundation에 Sandbox 프로젝트로 기증했으며 Apache License 2.0에 따라 라이선스가 부여됩니다. 릴리스는 CLI, Cloud, Vizier, Operator와 같은 구성 요소별로 별도로 버전이 지정됩니다.