메인 콘텐츠로 건너뛰기
이 포괄적인 Docker image에는 모든 ClickStack 오픈 소스 구성 요소가 포함되어 있습니다:
  • ClickHouse
  • HyperDX
  • OpenTelemetry (OTel) collector (43174318 포트에서 OTLP 노출)
  • MongoDB (애플리케이션 상태를 영구적으로 저장하기 위한 용도)
이 옵션에는 인증이 포함되어 있어 세션과 사용자 전반에서 대시보드, 알림, 저장된 검색을 유지할 수 있습니다.

적합한 용도

  • 데모
  • 전체 스택 로컬 테스트

배포 단계


1

Docker로 배포

다음 명령을 실행하면 OpenTelemetry collector(포트 4317 및 4318)와 HyperDX UI(포트 8080)가 실행됩니다.
docker run -p 8080:8080 -p 4317:4317 -p 4318:4318 clickhouse/clickstack-all-in-one:latest
이미지 이름 업데이트이제 ClickStack 이미지는 clickhouse/clickstack-*로 제공됩니다(이전: docker.hyperdx.io/hyperdx/*).
2

HyperDX UI로 이동

HyperDX UI에 접속하려면 http://localhost:8080로 이동하십시오.요구 사항을 충족하는 사용자 이름과 비밀번호를 입력해 사용자를 생성하십시오.Create를 클릭하면 통합된 ClickHouse 인스턴스에 대한 데이터 소스가 생성됩니다.다른 ClickHouse 인스턴스를 사용하는 예시는 “ClickHouse Cloud 사용”을 참조하십시오.
3

데이터 수집

데이터를 수집하려면 “데이터 수집”을 참조하십시오.

데이터 및 설정 유지

컨테이너를 다시 시작한 후에도 데이터와 설정을 유지하려면 위의 docker 명령을 수정해 /data/db, /var/lib/clickhouse, /var/log/clickhouse-server 경로를 마운트할 수 있습니다. 예시는 다음과 같습니다:
# 디렉터리가 존재하는지 확인
mkdir -p .volumes/db .volumes/ch_data .volumes/ch_logs
# 경로를 마운트하도록 명령 수정
docker run \
  -p 8080:8080 \
  -p 4317:4317 \
  -p 4318:4318 \
  -v "$(pwd)/.volumes/db:/data/db" \
  -v "$(pwd)/.volumes/ch_data:/var/lib/clickhouse" \
  -v "$(pwd)/.volumes/ch_logs:/var/log/clickhouse-server" \
  clickhouse/clickstack-all-in-one:latest

프로덕션 배포

다음과 같은 이유로 이 옵션은 프로덕션 환경에 배포해서는 안 됩니다.
  • 비영구 스토리지: 모든 데이터는 Docker의 네이티브 오버레이 파일 시스템을 사용해 저장됩니다. 이 구성은 대규모 환경에서 필요한 성능을 지원하지 않으며, 사용자가 필수 파일 경로를 마운트하지 않으면 컨테이너가 제거되거나 재시작될 때 데이터가 손실됩니다.
  • 컴포넌트 격리 부족: 모든 컴포넌트가 단일 Docker 컨테이너에서 실행됩니다. 이로 인해 각 컴포넌트를 독립적으로 스케일링하거나 모니터링할 수 없고, cgroup 제한도 모든 프로세스에 일괄 적용됩니다. 그 결과 컴포넌트들이 CPU와 메모리 자원을 두고 서로 경합할 수 있습니다.

포트 사용자 지정

HyperDX Local이 사용하는 애플리케이션(8080) 또는 API(8000) 포트를 사용자 지정해야 한다면, 해당 포트가 전달되도록 docker run 명령을 수정하고 몇 가지 환경 변수를 설정해야 합니다. OpenTelemetry 포트는 포트 포워딩 플래그를 수정하는 것만으로 간단히 변경할 수 있습니다. 예를 들어 OpenTelemetry HTTP 포트를 4999로 변경하려면 -p 4318:4318-p 4999:4318로 바꾸십시오.
docker run -p 8080:8080 -p 4317:4317 -p 4999:4318 clickhouse/clickstack-all-in-one:latest

ClickHouse Cloud 사용

이 배포판은 ClickHouse Cloud와 함께 사용할 수 있습니다. 로컬 ClickHouse 인스턴스도 계속 배포되지만 사용되지는 않으며, 환경 변수 CLICKHOUSE_ENDPOINT, CLICKHOUSE_USER, CLICKHOUSE_PASSWORD를 설정하면 OTel collector가 ClickHouse Cloud 인스턴스를 사용하도록 구성할 수 있습니다. 예시:
export CLICKHOUSE_ENDPOINT=<HTTPS ENDPOINT>
export CLICKHOUSE_USER=<CLICKHOUSE_USER>
export CLICKHOUSE_PASSWORD=<CLICKHOUSE_PASSWORD>

docker run -e CLICKHOUSE_ENDPOINT=${CLICKHOUSE_ENDPOINT} -e CLICKHOUSE_USER=default -e CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD} -p 8080:8080 -p 4317:4317 -p 4318:4318 clickhouse/clickstack-all-in-one:latest
CLICKHOUSE_ENDPOINT는 포트 8443이 포함된 ClickHouse Cloud HTTPS 엔드포인트여야 합니다. 예: https://mxl4k3ul6a.us-east-2.aws.clickhouse.com:8443 HyperDX UI에 연결한 후 Team Settings로 이동하여 ClickHouse Cloud 서비스에 대한 연결을 생성하고, 이어서 필요한 소스를 생성하십시오.

OpenTelemetry collector 구성하기

필요하면 OTel collector 구성을 수정할 수 있습니다. “구성 수정”을 참조하십시오.

스키마 선택: Map vs JSON

ClickStack는 기본적으로 속성을 Map(LowCardinality(String), String) 컬럼에 저장합니다. 이는 관측성 워크로드에 권장되는 스키마입니다. 버킷 기반 맵 직렬화와 맵 키 및 값에 대한 텍스트 인덱스를 함께 사용하면, 동적 JSON 서브컬럼에서 발생하는 키별 수집 오버헤드 없이 필요한 항목만 선택적으로 조회할 수 있습니다. JSON 타입 스키마는 속성 키 집합이 작고 안정적인 워크로드에서 평가할 수 있도록 베타로 제공됩니다. 기본값으로는 권장되지 않습니다. 전체 비교 내용과 JSON 지원을 활성화하는 데 필요한 환경 변수는 Map vs JSON type에서 확인하십시오.
마지막 수정일 2026년 6월 10일