이 글은 Go와 eBPF를 사용하여 커널 수준의 관측성을 달성하는 방법을 소개하며, AI 생성 서비스의 프로덕션 문제를 디버깅할 때 부족하기 쉬운 가시성 문제를 다룹니다.
- 기존 로깅 및 프로파일링 도구는 과도한 파일 I/O 호출 등 커널 수준에서 발생하는 문제를 감지하지 못합니다.
- eBPF는 커널 수정이나 서비스 재시작 없이 시스템 콜, 파일 I/O, 네트워크 이벤트, CPU/메모리 사용량 및 사용자 정의 애플리케이션 이벤트를 추적할 수 있습니다.
- 저자는 Go와 Cilium 라이브러리를 사용하여 syscalls를 추적하는 방법을 시연하며, 여기에는 eBPF 프로그램 로드 및 kprobes 연결이 포함됩니다.
- 주요 단계에는 Cilium eBPF 명령줄 도구 설치, clang으로 컴파일된 C로 eBPF 프로그램 작성, 그리고 Go에서 로드하기가 포함됩니다.
이 접근 방식은 개발자가 애플리케이션 로그에서는 볼 수 없는 과도한 I/O와 같은 숨겨진 커널 수준의 동작을 식별하여 AI 생성 서비스를 효과적으로 최적화할 수 있게 합니다.