Filed under오픈소스 도구 리뷰on•3 분 분량

오픈소스 옵저버빌리티 플랫폼 HyperDX 실전 도입 가이드

비싼 상용 툴 대신 ClickHouse와 OpenTelemetry 기반의 오픈소스 HyperDX를 이용해 프로덕션 이슈를 통합 관리하는 방법을 알아본다.

인디 해커를 위한 현실적인 대안, 오픈소스 통합 플랫폼 HyperDX

프로덕션 환경에서 버그나 성능 저하가 발생했을 때 원인을 빠르게 찾는 것은 서비스 생존과 직결된다. Datadog이나 New Relic 같은 상용 옵저버빌리티 툴은 강력하지만, 트래픽이 늘어날수록 급증하는 비용은 1인 개발자나 소규모 팀에게 큰 부담으로 다가온다. 이럴 때 HoldFast와 같은 오픈소스 기반의 모니터링 스택을 대안으로 고려해 볼 수 있다.

HyperDX는 로그, 메트릭, 트레이스, 에러 추적뿐만 아니라 PostHog처럼 세션 리플레이까지 하나의 인터페이스로 통합해 주는 오픈소스 옵저버빌리티 플랫폼이다.

핵심 기능과 작동 기반

이 도구는 벤더 중립적인 텔레메트리 표준인 OpenTelemetry를 기본 지원하며, 대용량 데이터 처리에 강한 ClickHouse를 백엔드로 사용한다. 단순히 로그만 모아보는 것을 넘어, 사용자 프론트엔드의 세션 리플레이와 백엔드의 트레이스 데이터를 한곳에서 대조하며 디버깅할 수 있다.

지원하는 언어와 플랫폼 범위도 넓다. Kubernetes를 비롯해 Javascript, Python, Java, Go, Ruby, PHP, .NET, Elixir, Rust 등 다양한 환경의 OpenTelemetry SDK를 그대로 연결할 수 있다.

로컬 및 서버 환경 구축 방법

로컬 및 서버 환경 구축 절차
  1. 1

    Docker 컨테이너 구동

    단일 명령어로 ClickHouse, UI, OTel Collector, MongoDB가 포함된 ClickStack 실행

  2. 2

    HyperDX 웹 UI 접속

    웹 브라우저를 통해 8080 포트로 접속하여 UI 정상 동작 확인

  3. 3

    OpenTelemetry SDK 연동

    애플리케이션에 SDK 적용 후 OTel Collector 포트(4317 또는 4318)로 엔드포인트 지정

HyperDX는 ClickHouse, HyperDX 자체 UI, OpenTelemetry Collector, MongoDB를 묶은 ClickStack 형태로 배포된다. 인프라 구축 과정이 복잡하지 않도록 Docker 기반의 원라이너 실행 환경을 제공한다.

터미널에서 아래 명령어를 실행하면 필요한 모든 컴포넌트가 로컬 또는 서버에 한 번에 구동된다.

docker run -p 8080:8080 -p 4317:4317 -p 4318:4318 docker.hyperdx.io/hyperdx/hyperdx-all-in-one

컨테이너가 정상적으로 실행되면 웹 브라우저를 통해 포트 8080으로 접속하여 HyperDX UI를 확인할 수 있다. 이후 애플리케이션 코드에 OpenTelemetry SDK를 적용하고, 엔드포인트를 HyperDX가 구동된 OTel Collector 포트(4317 또는 4318)로 지정해주면 데이터 수집이 시작된다.

실사용 시나리오와 적합한 대상

이 도구는 사내 인프라를 직접 관리할 여력이 조금이라도 있으면서, 상용 SaaS의 구독료 압박에서 벗어나고 싶은 인디 해커나 1인 기업가에게 유용하다. 여러 서비스에 흩어져 있는 로그와 트레이스를 한 화면에서 대조해야 하는 마이크로서비스 아키텍처나 모놀리식 서버 모두에 적용할 수 있다.

다만, 클라우드 관리형 서비스처럼 완벽한 무중단 자동 운영을 기대하기는 어렵다. ClickHouse와 MongoDB를 포함한 전체 스택을 직접 호스팅하고 관리해야 하므로, 서버 디스크 용량 관리나 백업 등 인프라 유지보수에 최소한의 신경을 써야 한다.

장단점과 시작하는 법

HyperDX
장점
  • 로그, 메트릭, 트레이스, 에러, 세션 리플레이의 유기적인 통합 지원
  • 상용 SaaS 구독료 부담 없이 비용 효율적인 모니터링 환경 구축 가능
단점
  • 데이터 증가에 따른 백엔드 스토리지(ClickHouse) 용량 직접 관리 필요
  • 서버 디스크 관리 및 백업 등 자체 호스팅에 따른 인프라 유지보수 부담

HyperDX의 장점은 명확하다. 오픈소스이면서도 상용 툴 못지않게 로그, 메트릭, 트레이스, 에러, 세션 리플레이를 유기적으로 연결해 준다. 반면, 데이터가 쌓일수록 백엔드 스토리지인 ClickHouse의 용량 관리와 인프라 모니터링을 개발자가 직접 챙겨야 한다는 진입 장벽이 존재한다.

비용 효율적으로 강력한 풀스택 모니터링 환경을 구축하고 싶다면, 우선 로컬 환경에서 Docker를 통해 ClickStack을 띄워보고 기존 프로젝트의 OpenTelemetry 로그가 원활하게 수집되는지 테스트해 보는 것으로 시작하는 것이 좋다.

참고 자료

자주 묻는 질문 (FAQ)

Q. HyperDX를 실행하려면 어떤 환경이 필요한가?

Docker가 설치된 환경이라면 docker run 명령어 한 줄로 ClickHouse, HyperDX, OpenTelemetry Collector, MongoDB가 포함된 ClickStack 전체를 쉽게 띄울 수 있다.

Q. 어떤 프로그래밍 언어와 연동할 수 있는가?

CNCF 표준인 OpenTelemetry를 지원하므로 Javascript, Python, Java, Go, Ruby, PHP, .NET, Elixir, Rust, Kubernetes 등 다양한 언어와 플랫폼의 SDK와 호환된다.

Q. 상용 옵저버빌리티 툴과 비교했을 때의 장단점은 무엇인가?

로그, 메트릭, 트레이스, 에러, 세션 리플레이를 오픈소스 스택으로 통합 관리할 수 있어 비용 효율적이지만, 인프라를 직접 운영하고 관리해야 하는 리소스가 소모될 수 있다.

모든 아티클로 돌아가기홈