Show HN: ClickHouse를 위한 로그 및 트레이스용 오픈 소스 Kibana 대안
요약
HyperDX는 ClickHouse를 기반으로 로그, 트레이스, 메트릭 및 세션 리플레이를 통합하여 시각화하고 검색할 수 있는 오픈 소스 관측성(Observability) 도구입니다. OpenTelemetry를 지원하며, 스키마에 구애받지 않고 ClickHouse 위에서 매우 빠른 검색과 직관적인 대시보드 구성을 제공합니다.
핵심 포인트
- ClickHouse에 최적화된 로그 및 트레이스 검색과 시각화 기능 제공
- OpenTelemetry 표준을 지원하여 다양한 언어 및 플랫폼과 호환
- 스키마 불가지론적(Schema agnostic) 방식으로 기존 ClickHouse 스키마 활용 가능
- 실시간 테일링, 이상 징후 분석, 알림 설정 및 APM 기능 포함
- Docker를 통한 간편한 설치 및 다양한 SDK 지원
ClickStack의 핵심 구성 요소인 HyperDX는 어떤 ClickHouse 클러스터 위에서도 로그(logs)와 트레이스(traces)를 쉽게 검색하고 시각화할 수 있게 하여, 엔지니어가 운영 환경(production)의 장애 원인을 빠르게 파악할 수 있도록 돕습니다 (ClickHouse를 위한 Kibana를 상상해 보세요).
문서(Documentation) • Discord 채팅(Chat on Discord) • 라이브 데모(Live Demo) • 버그 보고(Bug Reports) • 기여하기(Contributing) • 웹사이트(Website)
- 🕵️ 로그(logs), 메트릭(metrics), 세션 리플레이(session replays), 트레이스(traces)를 한 곳에서 상관 분석 및 검색
- 📝 스키마 불가지론적(Schema agnostic) 방식, 기존 ClickHouse 스키마 위에서 작동
- 🔥 ClickHouse에 최적화된 매우 빠른 검색 및 시각화
- 🔍 직관적인 전체 텍스트 검색(full-text search) 및 속성 검색 구문 (예:
level:err), SQL 선택 사항! - 📊 이벤트 델타(event deltas)를 통한 이상 징후(anomalies) 트렌드 분석
- 🔔 몇 번의 클릭만으로 알림(alerts) 설정
- 📈 복잡한 쿼리 언어 없이도 고카디널리티(high cardinality) 이벤트 대시보드 구성
- 네이티브 JSON 문자열 쿼리 지원
- ⚡ 항상 최신 이벤트를 확인할 수 있도록 로그와 트레이스를 실시간 테일링(Live tail)
- 🔭 OpenTelemetry 즉시 지원
- ⏱️ HTTP 요청부터 DB 쿼리까지 상태 및 성능 모니터링 (APM)
HyperDX는 ClickHouse, HyperDX, OpenTelemetry Collector, MongoDB를 포함하는 ClickStack의 일부로 배포할 수 있습니다.
docker run -p 8080:8080 -p 4317:4317 -p 4318:4318 docker.hyperdx.io/hyperdx/hyperdx-all-in-one
그 후, http://localhost:8080 을 방문하여 HyperDX UI에 접속할 수 있습니다.
이미 기존 ClickHouse 인스턴스를 보유하고 있거나, 로컬에서 단일 컨테이너를 사용하고 싶거나, 운영 환경 배포 지침을 찾고 있다면 배포 문서(deployment docs)에서 다양한 배포 옵션을 확인할 수 있습니다.
서버가 방화벽 뒤에 있는 경우, UI, API 및 OTel collector를 위해 각각 8080, 8000, 4318 포트를 방화벽에서 열거나 포워딩해야 합니다.
테스트를 위해 최소 4GB의 RAM과 2개의 코어를 권장합니다.
로그, 메트릭, 트레이스, 세션 리플레이 등을 HyperDX로 가져오려면, 앱에 계측(instrument)을 수행하여 텔레메트리(telemetry) 데이터를 수집하고 HyperDX 인스턴스로 전송해야 합니다.
저희는 Browser, Node.js, Python과 같이 HyperDX를 더 쉽게 시작할 수 있도록 일련의 SDK 및 통합 옵션을 제공합니다.
전체 목록은 문서(docs)에서 확인하실 수 있습니다.
OpenTelemetry
또한, HyperDX는 CNCF가 지원하는 애플리케이션 계측(instrumenting)을 위한 벤더 중립 표준인 OpenTelemetry와 호환됩니다. 지원되는 언어/플랫폼은 다음과 같습니다:
- Kubernetes
- Javascript
- Python
- Java
- Go
- Ruby
- PHP
- .NET
- Elixir
- Rust
(전체 목록은 여기에서 확인 가능)
HyperDX가 실행되면, OpenTelemetry SDK가 http://localhost:4318에서 실행 중인 OpenTelemetry collector를 가리키도록 설정할 수 있습니다.
저희는 모든 기여를 환영합니다! 프로젝트에 기여하는 방법은 다음과 같으며, 이에 국한되지 않습니다:
- PR(Pull Request) 생성 (기여 가이드)
- 기능 요청 또는 버그 제출
- 제품 또는 기여 문서 개선
- 공개된 이슈에 투표하거나 기능 요청에 사용 사례(use cases) 기여
저희의 미션은 엔지니어가 신뢰할 수 있는 소프트웨어를 출시하도록 돕는 것입니다. 이를 실현하기 위해, 모든 엔지니어가 운영 환경의 텔레메트리(telemetry)를 쉽게 활용하여 긴급한 운영 문제를 빠르게 해결할 수 있어야 한다고 믿습니다.
하지만 저희의 경험상, 기존에 사용해 온 도구들은 몇 가지 측면에서 부족한 경향이 있었습니다:
- 비용이 많이 들며, 테라바이트(TB) 단위의 텔레메트리가 표준이 되어가는 상황에서 가격 책정이 이를 따라가지 못해, 팀들이 수집할 수 있는 데이터 양을 공격적으로 줄이게 만듭니다.
- 사용하기 어렵습니다. 설정에는 전담 SRE(Site Reliability Engineer)가 필요하고, 자신 있게 사용하려면 도메인 전문가가 필요합니다.
- 단서들을 직접 연결하기 위해 도구(로그, 세션 리플레이, APM, 예외 등) 사이를 계속 옮겨 다녀야 합니다.
ClickStack의 HyperDX를 한 번 사용해 보시고 저희가 잘하고 있는지 알려주세요!
HyperDX는 오픈 소스 배포를 위해 익명화된 사용 데이터 (usage data)를 수집합니다. 이 데이터는 관측성 (observability)이 모든 팀에게 제공되어야 한다는 저희의 미션을 지원하며, 저희의 오픈 소스 제품이 다양한 환경에서 실행될 수 있도록 돕습니다. 여러분이 이러한 방식으로 저희의 미션을 계속 지원해 주시기를 바라지만, USAGE_STATS_ENABLED 환경 변수 (environment variable)를 false로 설정하여 사용 데이터 수집을 거부 (opt out)할 수 있습니다. HyperDX의 발전을 지원해 주셔서 감사합니다!
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Code Generation의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기