メインコンテンツへスキップ
この包括的な Docker image には、ClickStack Open Source のすべてのコンポーネントが含まれています:
  • ClickHouse
  • HyperDX
  • OpenTelemetry (OTel) collector (ポート 4317 および 4318 で 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 インスタンスを使用する例については、“Using 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

Using ClickHouse Cloud

このディストリビューションは ClickHouse Cloud と併用できます。ローカルの ClickHouse インスタンスも引き続きデプロイされますが (使用はされません) 、環境変数 CLICKHOUSE_ENDPOINTCLICKHOUSE_USERCLICKHOUSE_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 と JSON

ClickStack は、デフォルトで属性を Map(LowCardinality(String), String) カラムとして保存します。これは、オブザーバビリティのワークロードに推奨されるスキーマです。bucketed map serialization と、Map のキーおよび値に対するテキスト索引を組み合わせることで、動的な JSON サブカラムのようにキーごとの取り込みオーバーヘッドを発生させることなく、必要なルックアップだけを効率的に実行できます。 JSON 型のスキーマは、属性キーの集合が小さく安定しているワークロードで評価するためのベータ機能として利用できます。これはデフォルトとしては推奨されません。詳しい比較と、JSON サポートを有効にするために必要な環境変数については、Map と JSON 型の比較 を参照してください。
最終更新日 2026年6月10日