이 가이드는 기존 ClickHouse Cloud 사용자를 대상으로 합니다. ClickHouse Cloud를 처음 사용하는 경우 Managed ClickStack용 시작하기 가이드를 권장합니다.
이 배포 패턴에서는 ClickHouse와 ClickStack UI(HyperDX)를 모두 ClickHouse Cloud에서 호스팅하므로, 자체 호스팅해야 하는 구성 요소를 최소화할 수 있습니다.
이 배포 패턴은 인프라 관리 부담을 줄여줄 뿐만 아니라 인증을 ClickHouse Cloud SSO/SAML과 통합합니다. 자체 호스팅 배포와 달리 대시보드, 저장된 검색, 사용자 설정, 알림 등 애플리케이션 상태를 저장하기 위한 MongoDB 인스턴스를 프로비저닝할 필요도 없습니다. 또한 다음과 같은 이점이 있습니다.
- 스토리지와 독립적인 컴퓨트 자동 스케일링
- 객체 스토리지 기반의 저비용, 사실상 무제한 보존
- Warehouses를 사용해 읽기 및 쓰기 워크로드를 독립적으로 격리할 수 있는 기능
- 통합 인증
- 자동 백업
- 보안 및 컴플라이언스 기능
- 원활한 업그레이드
이 모드에서는 데이터 수집을 전적으로 사용자가 담당합니다. 자체 호스팅 OpenTelemetry collector, 클라이언트 라이브러리의 직접 수집, ClickHouse 네이티브 테이블 엔진(Kafka 또는 S3 등), ETL 파이프라인 또는 ClickHouse Cloud의 관리형 수집 서비스인 ClickPipes를 사용해 Managed ClickStack로 데이터를 수집할 수 있습니다. 이 방식은 ClickStack를 운영하는 가장 단순하면서도 성능이 뛰어난 방법입니다.
적합한 경우
이 배포 패턴은 다음과 같은 시나리오에 적합합니다.
- 이미 ClickHouse Cloud에 관측성 데이터가 있고, 이를 ClickStack으로 시각화하려는 경우
- 대규모 관측성 배포를 운영하고 있으며, ClickHouse Cloud에서 실행되는 ClickStack의 전용 성능과 확장성이 필요한 경우
- 이미 분석용으로 ClickHouse Cloud를 사용하고 있으며, ClickStack instrumentation 라이브러리를 사용해 애플리케이션에 계측을 추가하고 동일한 클러스터로 데이터를 전송하려는 경우. 이 경우 관측성 워크로드용 컴퓨트를 격리하기 위해 warehouses를 사용하는 것을 권장합니다.
설정 단계
다음 가이드는 ClickHouse Cloud 서비스를 이미 생성한 상태를 가정합니다. 아직 서비스를 생성하지 않았다면 Managed ClickStack의 시작하기 가이드를 따르십시오. 그러면 이 가이드와 동일한 상태, 즉 ClickStack이 활성화되어 관측성 데이터를 사용할 준비가 된 서비스가 생성됩니다.
새 서비스 생성
ClickHouse Cloud 랜딩 페이지에서 New service를 선택해 새 서비스를 생성합니다.

provider, region 및 리소스 지정
Cloud provider와 리전을 선택하십시오.
선택할 CPU와 메모리를 지정할 때는 예상되는 ClickStack 수집 처리량을 기준으로 산정하십시오. 아래 표는 이러한 리소스 크기를 정하는 데 참고할 수 있는 지침을 제공합니다.
| Monthly ingest volume | Recommended compute |
|---|---|
| 월 10 TB 미만 | 2 vCPU × 3 레플리카 |
| 월 10–50 TB | 4 vCPU × 3 레플리카 |
| 월 50–100 TB | 8 vCPU × 3 레플리카 |
| 월 100–500 TB | 30 vCPU × 3 레플리카 |
| 월 1 PB 이상 | 59 vCPU × 3 레플리카 |
이 권장값은 다음 가정을 바탕으로 합니다:
- 데이터 볼륨은 월별 비압축 수집량을 의미하며, 로그와 트레이스 모두에 적용됩니다.
- 쿼리 패턴은 일반적인 관측성 사용 사례를 기준으로 하며, 대부분의 쿼리는 보통 지난 24시간과 같은 최근 데이터를 대상으로 합니다.
- 수집은 한 달 동안 비교적 균일하게 이루어진다고 가정합니다. 트래픽 급증이나 스파이크가 예상된다면 추가 여유 용량을 프로비저닝해야 합니다.
- 스토리지는 ClickHouse Cloud 객체 스토리지를 통해 별도로 처리되며, 보존 기간의 제한 요인이 되지 않습니다. 장기간 보존된 데이터는 자주 액세스되지 않는다고 가정합니다.
더 긴 시간 범위를 정기적으로 쿼리하거나, 무거운 집계를 수행하거나, 많은 수의 동시 사용자를 지원하는 액세스 패턴에서는 더 많은 컴퓨트가 필요할 수 있습니다.
주어진 수집 처리량에 대해 CPU와 메모리 요구 사항은 2개의 레플리카로도 충족할 수 있지만, 가능한 경우 동일한 총 용량을 확보하고 서비스 이중화를 개선하기 위해 3개의 레플리카 사용을 권장합니다.
요구 사항을 지정하면 Managed ClickStack 서비스가 프로비저닝되는 데 몇 분 정도 걸립니다. 프로비저닝이 완료될 때까지 기다리는 동안 ClickHouse Cloud 콘솔의 다른 기능도 살펴보십시오.
프로비저닝이 완료되면 왼쪽 메뉴의 'ClickStack' 옵션이 활성화됩니다.
수집 설정
서비스 프로비저닝이 완료되면 해당 서비스가 선택되어 있는지 확인한 후, 왼쪽 메뉴에서 "ClickStack"을 클릭하십시오.
"Start Ingestion"을 선택하면 수집 소스를 선택하라는 안내가 표시됩니다. Managed ClickStack는 주요 수집 소스로 OpenTelemetry와 Vector를 지원합니다. 또한 사용자는 ClickHouse Cloud support integrations을 사용해 자체 스키마로 데이터를 ClickHouse에 직접 전송할 수도 있습니다.
Managed ClickStack로 OpenTelemetry 데이터를 보내려면 OpenTelemetry Collector를 사용하는 것이 좋습니다. collector는 애플리케이션(및 다른 collector)으로부터 OpenTelemetry 데이터를 수신하는 게이트웨이 역할을 하며, 이를 ClickHouse Cloud로 전달합니다.
아직 실행 중인 collector가 없다면 아래 단계에 따라 시작하세요. 기존 collector가 있다면 구성 예시도 함께 제공됩니다.
collector 시작
다음 내용은 ClickStack 배포판의 OpenTelemetry Collector를 사용하는 권장 방식을 기준으로 합니다. 이 배포판에는 추가 처리 기능이 포함되어 있으며 ClickHouse Cloud에 맞게 특별히 최적화되어 있습니다. 자체 OpenTelemetry Collector를 사용하려면 "기존 collector 구성"을 참조하세요.
빠르게 시작하려면 아래에 표시된 Docker 명령을 복사해 실행하세요.

이 명령에는 연결 자격 증명이 미리 채워져 있습니다.
이 명령 하나로 4317(gRPC) 및 4318(HTTP) 포트에서 OTLP 엔드포인트가 노출된 ClickStack collector가 시작됩니다. 이미 OpenTelemetry 계측과 agent를 사용하고 있다면 즉시 이 엔드포인트로 텔레메트리 데이터를 보내기 시작할 수 있습니다.
기존 collector 구성
기존 OpenTelemetry Collector를 직접 구성하거나 자체 collector 배포판을 사용하는 것도 가능합니다.
이를 위해 적절한 설정으로 ClickHouse exporter를 사용하고 OTLP 수신기를 노출하는 OpenTelemetry Collector 구성 예시가 제공됩니다. 이 구성은 ClickStack 배포판이 기대하는 인터페이스와 동작에 맞춰져 있습니다.
엔드포인트 및 password 자리 표시자를 ClickStack에서 생성한 자격 증명으로 대체하십시오:
receivers:
otlp/hyperdx:
protocols:
grpc:
include_metadata: true
endpoint: "0.0.0.0:4317"
http:
cors:
allowed_origins: ["*"]
allowed_headers: ["*"]
include_metadata: true
endpoint: "0.0.0.0:4318"
processors:
batch:
memory_limiter:
# 80% of maximum memory up to 2G, adjust for low memory environments
limit_mib: 1500
# 25% of limit up to 2G, adjust for low memory environments
spike_limit_mib: 512
check_interval: 5s
connectors:
routing/logs:
default_pipelines: [logs/out-default]
error_mode: ignore
table:
- context: log
statement: route() where IsMatch(attributes["rr-web.event"], ".*")
pipelines: [logs/out-rrweb]
exporters:
clickhouse/rrweb:
database: default
endpoint: <clickhouse_cloud_endpoint>
password: <your_password_here>
username: default
ttl: 720h
logs_table_name: hyperdx_sessions
timeout: 5s
retry_on_failure:
enabled: true
initial_interval: 5s
max_interval: 30s
max_elapsed_time: 300s
clickhouse:
database: default
endpoint: <clickhouse_cloud_endpoint>
password: <your_password_here>
username: default
ttl: 720h
timeout: 5s
retry_on_failure:
enabled: true
initial_interval: 5s
max_interval: 30s
max_elapsed_time: 300s
service:
pipelines:
traces:
receivers: [otlp/hyperdx]
processors: [memory_limiter, batch]
exporters: [clickhouse]
metrics:
receivers: [otlp/hyperdx]
processors: [memory_limiter, batch]
exporters: [clickhouse]
logs/in:
receivers: [otlp/hyperdx]
exporters: [routing/logs]
logs/out-default:
receivers: [routing/logs]
processors: [memory_limiter, batch]
exporters: [clickhouse]
logs/out-rrweb:
receivers: [routing/logs]
processors: [memory_limiter, batch]
exporters: [clickhouse/rrweb]
OpenTelemetry collector 구성에 대한 자세한 내용은 "OpenTelemetry로 수집하기"를 참조하세요.
수집 시작(선택 사항)
OpenTelemetry로 계측할 기존 애플리케이션이나 인프라가 있다면 UI에서 연결된 관련 가이드로 이동하세요.
애플리케이션을 계측해 trace와 로그를 수집하려면 지원되는 언어 SDK를 사용하세요. 이 SDK는 Managed ClickStack으로 수집하기 위한 게이트웨이 역할을 하는 OpenTelemetry Collector로 데이터를 전송합니다.
로그는 agent 모드로 실행되는 OpenTelemetry Collector를 사용해 수집할 수 있으며, 동일한 collector로 데이터를 전달합니다. Kubernetes 모니터링은 전용 가이드를 따르세요. 다른 통합은 quickstart 가이드를 참조하세요.
데모 데이터
또는 기존 데이터가 없다면 샘플 데이터셋 중 하나를 사용해 보세요.
- 예시 데이터셋 - 공개 데모의 예시 데이터셋을 로드합니다. 간단한 문제를 진단해 보세요.
- 로컬 파일 및 메트릭 - 로컬 OTel collector를 사용해 로컬 파일을 로드하고 OSX 또는 Linux에서 시스템을 모니터링합니다.
Vector는 고성능의 벤더 중립적 관측성 데이터 파이프라인으로, 특히 유연성과 적은 리소스 사용량 덕분에 로그 수집에 널리 사용됩니다.
ClickStack와 함께 Vector를 사용할 때는 사용자가 직접 스키마를 정의해야 합니다. 이러한 스키마는 OpenTelemetry 규약을 따를 수도 있지만, 사용자 정의 이벤트 구조를 나타내는 완전히 맞춤형 스키마일 수도 있습니다.
다음 내용은 수집 파이프라인이 미리 구성되어 데이터를 전달하도록 설정된 Vector 인스턴스가 이미 실행 중이라고 가정합니다.
데이터베이스와 테이블 생성
Vector는 데이터 수집 전에 테이블과 스키마가 미리 정의되어 있어야 합니다.
먼저 데이터베이스를 생성합니다. 이는 ClickHouse Cloud 콘솔에서 수행할 수 있습니다.
예를 들어, 로그용 데이터베이스를 생성합니다:
CREATE DATABASE IF NOT EXISTS logs그런 다음 로그 데이터 구조에 맞는 스키마(schema)의 테이블을 생성하세요. 아래 예시는 전형적인 Nginx 액세스 로그 포맷을 가정합니다:
CREATE TABLE logs.nginx_logs
(
`time_local` DateTime,
`remote_addr` IPv4,
`remote_user` LowCardinality(String),
`request` String,
`status` UInt16,
`body_bytes_sent` UInt64,
`http_referer` String,
`http_user_agent` String,
`http_x_forwarded_for` LowCardinality(String),
`request_time` Float32,
`upstream_response_time` Float32,
`http_host` String
)
ENGINE = MergeTree
ORDER BY (toStartOfMinute(time_local), status, remote_addr);테이블은 Vector가 생성하는 출력 스키마와 일치해야 합니다. 데이터에 맞게 필요에 따라 스키마를 조정하되, 권장되는 스키마 모범 사례를 따르십시오.
ClickHouse에서 기본 키가 어떻게 작동하는지 이해하고, 액세스 패턴에 따라 정렬 키를 선택할 것을 강력히 권장합니다. 기본 키 선택에 대해서는 ClickStack 관련 지침도 참조하십시오.
테이블을 생성한 후에는 표시된 구성 스니펫을 복사하십시오. 필요에 따라 기존 파이프라인을 사용하도록 입력 구성을 조정하고, 대상 테이블과 데이터베이스도 수정하십시오. 자격 증명은 미리 입력되어 있습니다.

Vector를 사용해 데이터를 수집하는 추가 예시는 "Vector로 수집하기"를 참조하고, 고급 옵션은 Vector ClickHouse 싱크 문서를 확인하십시오.
서비스 선택
ClickHouse Cloud 랜딩 페이지에서 관리형 ClickStack을 활성화할 ClickHouse 서비스를 선택합니다.

수집 설정
자동 감지에 실패하거나 기존 테이블이 없는 경우, 수집 설정을 완료하라는 안내 메시지가 표시됩니다.

"Start Ingestion"을 선택하면 수집 소스를 선택하는 화면이 표시됩니다. Managed ClickStack은 OpenTelemetry와 Vector를 주요 수집 소스로 지원합니다. 또한 사용자는 ClickHouse Cloud 지원 통합 중 하나를 사용하여 자체 스키마로 ClickHouse에 직접 데이터를 전송할 수도 있습니다.

Managed ClickStack로 OpenTelemetry 데이터를 보내려면 OpenTelemetry Collector를 사용하는 것이 권장됩니다. collector는 게이트웨이 역할을 하며 애플리케이션(및 다른 collector)에서 OpenTelemetry 데이터를 받아 ClickHouse Cloud로 전달합니다.
아직 실행 중인 collector가 없다면 아래 단계에 따라 시작하세요. 기존 collector가 있다면 구성 예시도 제공됩니다.
collector 시작
다음 내용은 권장 방식인 ClickStack distribution of the OpenTelemetry Collector 사용을 전제로 합니다. 이 배포판에는 추가 처리 기능이 포함되어 있으며 ClickHouse Cloud에 맞게 특별히 최적화되어 있습니다. 자체 OpenTelemetry Collector를 사용하려면 "기존 collector 구성"을 참조하세요.
빠르게 시작하려면 아래에 표시된 Docker 명령을 복사해 실행하세요.

서비스를 생성할 때 기록한 서비스 자격 증명에 맞게 이 명령을 수정하세요.
이 명령 하나로 4317(gRPC) 및 4318(HTTP) 포트에 OTLP endpoint를 노출하는 ClickStack collector가 시작됩니다. 이미 OpenTelemetry instrumentation과 agent가 있다면 이 endpoint로 즉시 텔레메트리 데이터를 보내기 시작할 수 있습니다.
기존 collector 구성
기존 OpenTelemetry Collectors를 직접 구성하거나 자체 배포판의 collector를 사용할 수도 있습니다.
이를 위해 적절한 설정으로 ClickHouse exporter를 사용하고 OTLP 수신기를 노출하는 OpenTelemetry Collector 구성 예시가 제공됩니다. 이 구성은 ClickStack distribution에서 기대하는 인터페이스와 동작에 맞춰져 있습니다.
엔드포인트 및 password 자리 표시자를 ClickStack에서 생성한 자격 증명으로 대체하십시오:
receivers:
otlp/hyperdx:
protocols:
grpc:
include_metadata: true
endpoint: "0.0.0.0:4317"
http:
cors:
allowed_origins: ["*"]
allowed_headers: ["*"]
include_metadata: true
endpoint: "0.0.0.0:4318"
processors:
batch:
memory_limiter:
# 80% of maximum memory up to 2G, adjust for low memory environments
limit_mib: 1500
# 25% of limit up to 2G, adjust for low memory environments
spike_limit_mib: 512
check_interval: 5s
connectors:
routing/logs:
default_pipelines: [logs/out-default]
error_mode: ignore
table:
- context: log
statement: route() where IsMatch(attributes["rr-web.event"], ".*")
pipelines: [logs/out-rrweb]
exporters:
clickhouse/rrweb:
database: default
endpoint: <clickhouse_cloud_endpoint>
password: <your_password_here>
username: default
ttl: 720h
logs_table_name: hyperdx_sessions
timeout: 5s
retry_on_failure:
enabled: true
initial_interval: 5s
max_interval: 30s
max_elapsed_time: 300s
clickhouse:
database: default
endpoint: <clickhouse_cloud_endpoint>
password: <your_password_here>
username: default
ttl: 720h
timeout: 5s
retry_on_failure:
enabled: true
initial_interval: 5s
max_interval: 30s
max_elapsed_time: 300s
service:
pipelines:
traces:
receivers: [otlp/hyperdx]
processors: [memory_limiter, batch]
exporters: [clickhouse]
metrics:
receivers: [otlp/hyperdx]
processors: [memory_limiter, batch]
exporters: [clickhouse]
logs/in:
receivers: [otlp/hyperdx]
exporters: [routing/logs]
logs/out-default:
receivers: [routing/logs]
processors: [memory_limiter, batch]
exporters: [clickhouse]
logs/out-rrweb:
receivers: [routing/logs]
processors: [memory_limiter, batch]
exporters: [clickhouse/rrweb]
OpenTelemetry collector 구성에 대한 자세한 내용은 "OpenTelemetry로 수집하기"를 참조하세요.
수집 시작(선택 사항)
기존 애플리케이션이나 OpenTelemetry로 instrument할 infrastructure가 있다면 "애플리케이션 연결"에 링크된 관련 가이드로 이동하세요.
애플리케이션을 instrument하여 traces와 logs를 수집하려면 지원되는 language SDKs를 사용하세요. 이 SDK는 Managed ClickStack으로 수집하기 위한 gateway 역할을 하는 OpenTelemetry Collector로 데이터를 보냅니다.
logs는 agent 모드로 실행되는 OpenTelemetry Collectors를 사용해 수집할 수 있으며, 데이터는 동일한 collector로 전달됩니다. Kubernetes 모니터링의 경우 전용 가이드를 따르세요. 다른 통합은 quickstart 가이드를 참조하세요.
Vector는 고성능의 벤더 중립적 관측성 데이터 파이프라인으로, 유연성과 낮은 리소스 사용량 덕분에 특히 로그 수집에 널리 사용됩니다.
Vector를 ClickStack과 함께 사용할 때는 사용자가 스키마를 직접 정의해야 합니다. 이러한 스키마는 OpenTelemetry 규약을 따를 수도 있지만, 사용자가 정의한 이벤트 구조를 나타내는 완전히 사용자 지정된 스키마일 수도 있습니다.
다음 내용에서는 수집 파이프라인이 미리 구성되어 데이터를 전달하는 Vector 인스턴스가 이미 실행 중이라고 가정합니다.
데이터베이스와 테이블 생성
Vector는 데이터를 수집하기 전에 테이블과 스키마가 정의되어 있어야 합니다.
먼저 데이터베이스를 생성합니다. 이는 ClickHouse Cloud 콘솔에서 수행할 수 있습니다.
예를 들어, 로그용 데이터베이스를 생성합니다:
CREATE DATABASE IF NOT EXISTS logs그런 다음 로그 데이터 구조와 일치하는 스키마의 테이블을 생성합니다. 아래 예시에서는 전형적인 Nginx 액세스 로그 포맷을 가정합니다:
CREATE TABLE logs.nginx_logs
(
`time_local` DateTime,
`remote_addr` IPv4,
`remote_user` LowCardinality(String),
`request` String,
`status` UInt16,
`body_bytes_sent` UInt64,
`http_referer` String,
`http_user_agent` String,
`http_x_forwarded_for` LowCardinality(String),
`request_time` Float32,
`upstream_response_time` Float32,
`http_host` String
)
ENGINE = MergeTree
ORDER BY (toStartOfMinute(time_local), status, remote_addr);테이블은 Vector가 생성하는 출력 스키마와 일치해야 합니다. 데이터에 맞게 필요에 따라 스키마를 조정하고, 권장되는 스키마 모범 사례를 따르십시오.
ClickHouse에서 프라이머리 키가 어떻게 동작하는지 이해하고, 액세스 패턴에 따라 정렬 키를 선택할 것을 강력히 권장합니다. 프라이머리 키 선택에 관한 ClickStack 전용 지침도 참조하십시오.
테이블이 생성되면 표시된 구성 스니펫을 복사하십시오. 기존 파이프라인을 사용하도록 입력을 조정하고, 필요한 경우 대상 테이블과 데이터베이스도 수정하십시오. 자격 증명은 미리 채워져 있어야 합니다.

Vector로 데이터를 수집하는 추가 예시는 "Vector로 수집하기"를 참조하십시오. 고급 옵션은 Vector ClickHouse sink documentation에서 확인할 수 있습니다.
추가 작업
Managed ClickStack에 대한 액세스 권한 부여
- ClickHouse Cloud 콘솔에서 해당 서비스로 이동합니다
- 설정 → SQL 콘솔 액세스로 이동합니다
- 각 사용자에게 적절한 권한 수준을 설정합니다.
- 서비스 관리자 → 전체 액세스 - 알림을 활성화하려면 필요합니다
- 서비스 읽기 전용 → 읽기 전용 - 관측성 데이터를 확인하고 대시보드를 생성할 수 있습니다
- 액세스 없음 - HyperDX에 액세스할 수 없습니다

읽기 전용 컴퓨트에서 ClickStack 사용하기
ClickStack UI는 읽기 전용 ClickHouse Cloud 서비스만으로도 완전히 실행할 수 있습니다. 수집 워크로드와 쿼리 워크로드를 분리하려는 경우 권장되는 구성입니다.
ClickStack에서 컴퓨트를 선택하는 방식
ClickStack UI는 항상 ClickHouse Cloud 콘솔에서 실행한 ClickHouse 서비스에 연결됩니다.
즉, 다음과 같습니다.
- 읽기 전용 서비스에서 ClickStack를 열면 ClickStack UI가 실행하는 모든 쿼리는 해당 읽기 전용 컴퓨트에서 실행됩니다.
- 읽기-쓰기 서비스에서 ClickStack를 열면 ClickStack는 대신 해당 컴퓨트를 사용합니다.
읽기 전용 동작을 강제하기 위해 ClickStack 내부에서 추가로 구성할 필요는 없습니다.
권장 설정
읽기 전용 컴퓨트에서 ClickStack을 실행하려면 다음과 같이 하십시오.
- warehouse에서 읽기 전용으로 구성된 ClickHouse Cloud 서비스를 생성하거나 식별합니다.
- ClickHouse Cloud 콘솔에서 읽기 전용 서비스를 선택합니다.
- 왼쪽 탐색 메뉴에서 ClickStack을 실행합니다.
실행되면 ClickStack UI가 이 읽기 전용 서비스에 자동으로 바인딩됩니다.
데이터 소스 추가하기
ClickStack은 OpenTelemetry 네이티브이지만 OpenTelemetry에만 국한되지는 않으므로, 필요하면 자체 테이블 스키마를 사용할 수 있습니다.
다음에서는 자동으로 구성되는 데이터 소스 외에 데이터 소스를 추가하는 방법을 설명합니다.
OpenTelemetry 스키마 사용
OTel collector를 사용해 ClickHouse 내에 데이터베이스와 테이블을 생성하는 경우, 소스 생성 모델에서는 기본값을 모두 그대로 유지하고 Table 필드에 otel_logs를 입력하여 로그 소스를 생성하십시오. 다른 모든 설정은 자동으로 감지되므로 Save New Source를 클릭하면 됩니다.

트레이스 및 OTel 메트릭용 소스를 생성하려면 상단 메뉴에서 Create New Source를 선택하면 됩니다.

여기에서 필요한 소스 유형을 선택한 다음 해당 테이블을 선택하십시오. 예를 들어 트레이스의 경우 otel_traces 테이블을 선택합니다. 모든 설정은 자동으로 감지됩니다.

사용자 지정 스키마 사용
기존 서비스의 데이터를 ClickStack에 연결하려는 사용자는 필요에 따라 데이터베이스 및 테이블 설정을 입력하면 됩니다. 테이블이 ClickHouse용 OpenTelemetry 스키마를 따르면 설정은 자동으로 감지됩니다.
자체 스키마를 사용하는 경우에는 필수 필드가 지정되도록 로그 소스를 생성하는 것이 좋습니다. 자세한 내용은 "로그 소스 설정"을 참조하십시오.
스키마 선택: Map vs JSON
ClickStack는 기본적으로 속성을 Map(LowCardinality(String), String) 컬럼에 저장합니다. 이는 관측성 워크로드에 권장되는 스키마입니다. 버킷 기반 맵 직렬화와 맵 키 및 값에 대한 텍스트 인덱스를 함께 사용하면, 동적 JSON 서브컬럼에서 발생하는 키별 수집 오버헤드 없이 필요한 항목만 선택적으로 조회할 수 있습니다.
JSON 타입 스키마는 속성 키 집합이 작고 안정적인 워크로드에서 평가할 수 있도록 베타로 제공됩니다. 기본값으로는 권장되지 않습니다. 전체 비교 내용과 JSON 지원을 활성화하는 데 필요한 환경 변수는 Map vs JSON type에서 확인하십시오.

