Docker Compose
모든 ClickStack 오픈 소스 컴포넌트는 개별 Docker 이미지로 각각 배포됩니다:
- ClickHouse
- HyperDX
- OpenTelemetry (OTel) collector
- MongoDB
이 이미지들은 Docker Compose를 사용해 조합하여 로컬에 배포할 수 있습니다.
Docker Compose는 기본 otel-collector 설정을 기준으로 관측성과 수집을 위한 추가 포트를 노출합니다:
13133:health_check확장 기능용 상태 확인 엔드포인트24225: 로그 수집을 위한 Fluentd 수신기4317: OTLP gRPC 수신기(트레이스, 로그, 메트릭용 표준)4318: OTLP HTTP 수신기(gRPC 대안)8888: 콜렉터 자체를 모니터링하기 위한 Prometheus 메트릭 엔드포인트
이 포트들은 다양한 텔레메트리 소스와의 연동을 가능하게 하며, OpenTelemetry collector를 다양한 수집 요구사항에 대응 가능한 프로덕션 준비 상태로 만듭니다.
적합한 경우
- 로컬 환경 테스트
- 개념 증명(Proof of Concept)
- 장애 허용이 필요 없고 단일 서버로 모든 ClickHouse 데이터를 호스팅할 수 있는 프로덕션 배포
- ClickStack은 배포하지만 ClickHouse는 별도로 호스팅하는 경우(예: ClickHouse Cloud 사용)
배포 단계
HyperDX UI로 이동
http://localhost:8080에 접속해 HyperDX UI를 엽니다.
요구사항을 충족하는 사용자 이름과 비밀번호를 입력해 사용자를 생성합니다.
Create를 클릭하면 Docker Compose로 배포된 ClickHouse 인스턴스에 대한 데이터 소스가 생성됩니다.
통합된 ClickHouse 인스턴스에 대한 기본 연결을 재정의할 수 있습니다. 자세한 내용은 "Using ClickHouse Cloud"를 참고하십시오.

대체 ClickHouse 인스턴스를 사용하는 예시는 "Create a ClickHouse Cloud connection"을 참고하십시오.
연결 정보 입력 완료
배포된 ClickHouse 인스턴스에 연결하려면 Create를 클릭하고 기본 설정을 그대로 사용하면 됩니다.
외부 ClickHouse 클러스터(예: ClickHouse Cloud)에 연결하려는 경우, 연결 자격 증명을 수동으로 입력할 수 있습니다.
소스를 생성하라는 메시지가 표시되면 기본값은 모두 유지하고 Table 필드를 otel_logs 값으로 채우십시오. 나머지 설정은 자동으로 감지되므로 Save New Source를 클릭해 저장하면 됩니다.

Compose 설정 수정
환경 변수 파일을 통해 사용 버전 등 스택 설정을 수정할 수 있습니다.
OpenTelemetry collector 구성
필요한 경우 OTel collector 구성을 변경할 수 있습니다. 자세한 내용은 "구성 수정하기"를 참조하십시오.
ClickHouse Cloud 사용
이 배포판은 ClickHouse Cloud와 함께 사용할 수 있지만, Managed ClickStack과는 다릅니다. 이 구성에서는 ClickStack UI는 직접 관리하면서 ClickHouse Cloud는 컴퓨트와 스토리지용으로만 사용합니다. UI를 독립적으로 운영해야 하는 특별한 이유가 없다면, 통합 인증과 추가 엔터프라이즈 기능을 제공하고 ClickStack UI를 직접 관리할 필요를 제거해 주는 Managed ClickStack 사용을 권장합니다.
다음 작업을 수행해야 합니다:
-
docker-compose.yml파일에서 ClickHouse 서비스를 제거합니다. 테스트 목적이라면 선택 사항이며, 배포된 ClickHouse 인스턴스는 단순히 무시되지만 로컬 리소스를 불필요하게 사용하게 됩니다. 서비스를 제거하는 경우,depends_on과 같은 해당 서비스에 대한 모든 참조가 삭제되었는지 확인합니다. -
OTel collector가 ClickHouse Cloud 인스턴스를 사용하도록
CLICKHOUSE_ENDPOINT,CLICKHOUSE_USER,CLICKHOUSE_PASSWORD환경 변수를 compose 파일에 설정합니다. 구체적으로, OTel collector 서비스에 다음 환경 변수를 추가합니다:CLICKHOUSE_ENDPOINT는 포트8443을 포함한 ClickHouse Cloud HTTPS 엔드포인트여야 합니다. 예를 들어https://mxl4k3ul6a.us-east-2.aws.clickhouse.com:8443와 같습니다. -
HyperDX UI에 연결하여 ClickHouse 연결을 생성할 때 Cloud 자격 증명을 사용합니다.
JSON 타입 지원
ClickStack의 JSON 타입 지원은 베타 기능입니다. JSON 타입 자체는 ClickHouse 25.3+에서 프로덕션 환경에서 사용할 준비가 되어 있지만, ClickStack 내 통합은 아직 활발히 개발 중이며 제한 사항이 있거나, 향후 변경되거나, 버그를 포함할 수 있습니다.
ClickStack은 2.0.4 버전부터 JSON type에 대한 베타 지원을 제공합니다.
이 타입의 이점은 Benefits of the JSON type를 참고하십시오.
JSON 타입 지원을 활성화하려면 다음 환경 변수를 설정해야 합니다.
OTEL_AGENT_FEATURE_GATE_ARG='--feature-gates=clickhouse.json'- OTel collector에서 지원을 활성화하여 스키마가 JSON 타입을 사용해 생성되도록 합니다.BETA_CH_OTEL_JSON_SCHEMA_ENABLED=true(ClickStack 오픈 소스 배포판에서만 해당) - ClickStack UI 애플리케이션에서 지원을 활성화하여 JSON 데이터를 조회할 수 있도록 합니다.
이를 설정하려면 docker-compose.yml에서 관련 서비스를 수정하십시오: