メインコンテンツへスキップ
メインコンテンツへスキップ

オールインワン構成

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

  • ClickHouse
  • HyperDX
  • OpenTelemetry (OTel) collector(ポート 4317 および 4318 で 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 接続を作成する」を参照してください。

データを取り込む

データを取り込む方法については、「Ingesting data」を参照してください。

データと設定の永続化

コンテナの再起動後もデータと設定を保持するには、前述の 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" \
  docker.hyperdx.io/hyperdx/hyperdx-all-in-one

本番環境へのデプロイ

次の理由から、このオプションを本番環境で使用することは推奨されません。

  • 永続化されないストレージ: すべてのデータは Docker ネイティブのオーバーレイファイルシステムを使用して保存されます。この構成は大規模なワークロードで十分な性能を発揮できず、コンテナが削除または再起動された場合、ユーザーが必要なファイルパスをマウントしない限り、データは失われます。
  • コンポーネント分離の欠如: すべてのコンポーネントが 1 つの 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 docker.hyperdx.io/hyperdx/hyperdx-all-in-one

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 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 に接続したら、Team Settings に移動し、ClickHouse Cloud サービスへの接続を作成し、その後で必要なソースの設定を行います。フローの一例についてはこちらを参照してください。

OpenTelemetry collector の設定

必要に応じて OTel collector の設定を変更できます。詳細は "設定の変更" を参照してください。

JSON type support

Beta feature. Learn more.
Beta Feature - not production ready

JSON type support in ClickStack is a beta feature. While the JSON type itself is production-ready in ClickHouse 25.3+, its integration within ClickStack is still under active development and may have limitations, change in the future, or contain bugs.

ClickStack has beta support for the JSON type from version 2.0.4.

For the benefits of this type see Benefits of the JSON type.

In order to enable support for the JSON type users must set the following environment variables:

  • OTEL_AGENT_FEATURE_GATE_ARG='--feature-gates=clickhouse.json' - enables support in the OTel collector, ensuring schemas are created using the JSON type.
  • BETA_CH_OTEL_JSON_SCHEMA_ENABLED=true - enables support in the HyperDX application, allowing JSON data to be queried.

例えば、次のように設定します。

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