클라우드 네이티브 환경에서 분산 시스템을 모니터링하는 데 필수적인 메트릭(Metrics), 로그(Logs), 트레이스(Traces) 데이터를 통합 관리할 수 있는 새로운 오픈소스 프로젝트 세르베루스(Cerberus)가 발표되었습니다. 세르베루스는 이 세 가지 관측성(Observability) 데이터를 단일 고성능 데이터베이스인 클릭하우스(ClickHouse)에 저장하고, 기존 프로메테우스(Prometheus), 로키(Loki), 템포(Tempo)에서 사용하던 쿼리 언어(PromQL, LogQL, TraceQL)를 그대로 사용할 수 있도록 지원하는 HTTP 게이트웨이 역할을 합니다.
세르베루스는 기존 모니터링 시스템의 HTTP API를 그대로 구현하여, 그라파나(Grafana)와 같은 대시보드 도구에서 별도의 플러그인 없이 세 가지 데이터 소스로 인식하게 합니다. 이는 사용자가 익숙한 PromQL, LogQL, TraceQL 쿼리를 그대로 유지하면서 백엔드 저장소만 클릭하우스로 교체할 수 있음을 의미합니다. 특히, 세르베루스는 CNCF 프로메테우스 컴플라이언스 테스터(CNCF Prometheus Compliance Tester)에서 PromQL 호환성 574/574 케이스를 통과하는 등 높은 호환성을 자랑하며, 오픈텔레메트리(OpenTelemetry) 스키마를 기반으로 데이터를 처리합니다. 이를 통해 여러 저장소를 관리하는 복잡성과 비용을 크게 줄일 수 있습니다.
이 프로젝트의 등장은 분산 시스템 관측성 아키텍처에 중요한 변화를 가져올 수 있습니다. 일반적으로 메트릭, 로그, 트레이스 데이터는 각각 프로메테우스, 로키, 템포와 같은 별도의 저장소에 분리되어 관리됩니다. 이는 데이터 보존 정책, 스토리지 비용, 운영 복잡성 측면에서 비효율을 초래합니다. 세르베루스는 클릭하우스라는 단일 저장소로 이 모든 데이터를 통합함으로써, 인프라 관리의 효율성을 높이고 비용을 절감하며, 데이터 간의 상관관계를 분석하는 데 용이하게 합니다. 특히, 대규모 데이터를 빠르게 처리하는 클릭하우스의 강점을 활용하여, 복잡한 쿼리도 신속하게 수행할 수 있어 개발자와 운영자에게 큰 이점을 제공할 것입니다.