-
ClickStack은 ClickHouse 와 HyperDX 기반의 오픈소스 관측 플랫폼(Observability) 으로, 로그, 메트릭, 트레이스, 세션 리플레이를 한 곳에서 통합적으로 처리함
-
로그 및 트레이스 검색과 시각화를 ClickHouse 클러스터 상에서 쉽고 빠르게 지원하며, 어떤 스키마든 추가 작업 없이 적용 가능
-
직관적인 검색과 이벤트 기반 알림, 대시보드 기능을 제공해 엔지니어가 신속하게 문제를 파악하고 대응할 수 있음
- OpenTelemetry 표준을 기본 지원하며 다양한 언어 및 플랫폼 SDK 통합을 제공함
- 기존 상용 솔루션 대비 저렴하고 설정이 간단하며, 여러 관측 도구를 번거롭게 오가지 않아도 한 플랫폼에서 전체 절차를 처리함
주요 기능
- 로그, 메트릭, 세션 리플레이, 트레이스의 상관관계 분석과 검색을 한 곳에서 처리 가능함
- ClickHouse의 기존 스키마를 그대로 활용하며 스키마에 구애받지 않는 구조
-
빠른 검색 속도와 시각화 최적화 덕분에 대용량 데이터에도 적합
-
풀텍스트, 속성 검색이 모두 지원되고 SQL 사용은 선택
- 이벤트 변화 추이 분석 및 간편한 알림 설정, 대시보드 생성이 가능함
-
Native JSON 문자열 쿼리 지원
- 실시간 로그, 트레이스 tail 기능으로 최신 이벤트 확인이 가능함
- OpenTelemetry 통합 및 APM(성능 모니터링) 환경 지원
배포 및 시작 방법
- ClickStack 패키지는 ClickHouse, HyperDX, OpenTelemetry Collector, MongoDB를 포함하여 통합 배포 가능함
- HyperDX UI는 브라우저에서 접근 가능함
- ClickHouse Cloud 환경과도 연동할 수 있고, 다양한 환경에 손쉽게 배포가 용이함
어플리케이션 계측 및 통합
HyperDX로 로그, 메트릭, 트레이스, 세션 리플레이 데이터를 수집하려면, 어플리케이션에서 테레메트리 데이터를 HyperDX로 전송해야 함
-
SDK 및 통합 옵션 제공: 브라우저, Node.js, Python 등 다양한 언어/환경용 SDK가 있어 쉽게 연동 가능함
-
OpenTelemetry 표준 지원: Kubernetes, JavaScript, Python, Java, Go, Ruby, PHP, .NET, Elixir, Rust 등 다양한 언어 및 런타임 호환 가능함
- OpenTelemetry 수집기는 기본적으로 http://localhost:4318 주소에서 연결 가능함
기여 방법
- PR 제출, 이슈 등록, 문서 개선, 오픈 이슈 투표, 새로운 사용 사례 제공 등 다양한 방식의 커뮤니티 기여를 환영함
개발 동기 및 철학
HyperDX 개발진의 목표는 모든 엔지니어가 운영 환경의 테레메트리를 활용해 빠르게 문제를 해결할 수 있도록 하는 것임
기존 주요 문제점:
- 운영 관측 도구가 비싸고 데이터 확장에 따라 비용 증가 현상 문제가 큼
-
설정과 사용 난이도가 높아 SRE 및 전문가가 필요함
- 로그, 세션 리플레이, APM 등 각 기능이 분리되어 있어 정보 연계가 번거로움
이러한 한계를 극복하기 위해 ClickStack과 HyperDX를 오픈소스로 제공함
- HyperDX 는 ClickHouse가 인수했음