メインコンテンツまでスキップ
メインコンテンツまでスキップ

一体型

この包括的なDockerイメージは、すべてのClickStackコンポーネントをバンドルしています:

  • ClickHouse
  • HyperDX
  • OpenTelemetry (OTel) コレクター(ポート 43174318 でOTLPを公開)
  • MongoDB(永続的なアプリケーションステート用)

このオプションには認証が含まれており、ダッシュボード、アラート、およびユーザーおよびセッション間で保存された検索の永続性を可能にします。

適用対象

  • デモ
  • フルスタックのローカルテスト

デプロイ手順


Dockerでデプロイ

以下のコマンドは、OpenTelemetryコレクター(ポート4317および4318)とHyperDX UI(ポート8080)を実行します。

docker run -p 8080:8080 -p 4317:4317 -p 4318:4318 docker.hyperdx.io/hyperdx/hyperdx-all-in-one

http://localhost:8080 にアクセスしてHyperDX UIを使用します。

ユーザー名とパスワードを提供し、要件を満たすユーザーを作成します。

Create をクリックすると、統合されたClickHouseインスタンス用のデータソースが作成されます。

HyperDX UI

別のClickHouseインスタンスを使用する例については、"ClickHouse Cloud接続を作成する"を参照してください。

データを取り込む

データを取り込むには、"データの取り込み"を参照してください。

データと設定の永続化

コンテナの再起動間でデータと設定を永続化するために、ユーザーは上記のdockerコマンドを修正して、/data/db/var/lib/clickhouse および /var/log/clickhouse-serverのパスをマウントすることができます。例えば:


# ensure directories exist
mkdir -p .volumes/db .volumes/ch_data .volumes/ch_logs

# modify command to mount paths
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" \
  docker.hyperdx.io/hyperdx/hyperdx-all-in-one

本番環境へのデプロイ

このオプションは、以下の理由から本番にデプロイすべきではありません:

  • 非永続ストレージ: すべてのデータはDockerネイティブのオーバーレイファイルシステムを使用して保存されます。この設定はスケールでのパフォーマンスをサポートせず、コンテナが削除または再起動されるとデータは失われます - ユーザーが必要なファイルパスをマウントしない限り。
  • コンポーネントのアイソレーションが不足: すべてのコンポーネントが単一のDockerコンテナ内で実行されます。これにより、独立したスケーリングやモニタリングが妨げられ、cgroup制限がすべてのプロセスに対してグローバルに適用されます。その結果、コンポーネントがCPUやメモリを競い合う可能性があります。

ポートのカスタマイズ

HyperDX Localが実行されるアプリケーション(8080)やAPI(8000)のポートをカスタマイズする必要がある場合、docker run コマンドを修正して適切なポートを転送し、いくつかの環境変数を設定する必要があります。

OpenTelemetryのポートは、ポートフォワーディングフラグを修正することで簡単に変更できます。例えば、-p 4318:4318-p 4999:4318に置き換えることで、OpenTelemetryのHTTPポートを4999に変更できます。

docker run -p 8080:8080 -p 4317:4317 -p 4999:4318 docker.hyperdx.io/hyperdx/hyperdx-all-in-one

ClickHouse Cloudの使用

このディストリビューションはClickHouse Cloudと一緒に使用できます。ローカルのClickHouseインスタンスはデプロイされ(無視されます)、OTelコレクターは環境変数 CLICKHOUSE_ENDPOINTCLICKHOUSE_USERCLICKHOUSE_PASSWORDを設定することで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 docker.hyperdx.io/hyperdx/hyperdx-all-in-one

CLICKHOUSE_ENDPOINTは、ポート 8443を含むClickHouse CloudのHTTPSエンドポイントである必要があります。例:https://mxl4k3ul6a.us-east-2.aws.clickhouse.com:8443

HyperDX UIに接続した後、チーム設定に移動し、ClickHouse Cloudサービスに接続を作成します - その後、必要なソースを追加します。フローの例については、こちらを参照してください

OpenTelemetryコレクターの設定

OTelコレクターの設定は、必要に応じて修正できます - "設定の修正"を参照してください。

JSONタイプサポート

Beta feature. Learn more.

ClickStackはバージョン 2.0.4 から JSONタイプ に対するベータサポートを提供しています。

このタイプの利点については、JSONタイプの利点を参照してください。

JSONタイプのサポートを有効にするためには、ユーザーは以下の環境変数を設定する必要があります:

  • OTEL_AGENT_FEATURE_GATE_ARG='--feature-gates=clickhouse.json' - OTelコレクターでのサポートを有効にし、JSONタイプを使用してスキーマが作成されることを保証します。
  • BETA_CH_OTEL_JSON_SCHEMA_ENABLED=true - HyperDXアプリケーションでのサポートを有効にし、JSONデータをクエリできるようにします。

例えば:

docker run -e OTEL_AGENT_FEATURE_GATE_ARG='--feature-gates=clickhouse.json' -e BETA_CH_OTEL_JSON_SCHEMA_ENABLED=true -p 8080:8080 -p 4317:4317 -p 4318:4318 docker.hyperdx.io/hyperdx/hyperdx-all-in-one