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

マネージド版

Beta feature. Learn more.
ベータ機能

この機能は ClickHouse Cloud のベータ版です。

このガイドは既存の ClickHouse Cloud ユーザー向けです。ClickHouse Cloud を初めて利用する場合は、Managed ClickStack 向けの 入門ガイド を参照してください。

このデプロイメントパターンでは、ClickHouse と ClickStack UI (HyperDX) の両方が ClickHouse Cloud 上でホストされ、ユーザーがセルフホストする必要があるコンポーネント数を最小限に抑えられます。

インフラ管理を削減するだけでなく、このデプロイメントパターンでは認証が ClickHouse Cloud の SSO/SAML と統合されます。セルフホスト型のデプロイメントとは異なり、ダッシュボード、保存済み検索、ユーザー設定、アラートといったアプリケーション状態を保存するための MongoDB インスタンスをプロビジョニングする必要もありません。ユーザーは次のような利点も得られます:

  • ストレージとは独立したコンピュートの自動スケーリング
  • オブジェクトストレージに基づいた低コストかつ事実上無制限の保持期間
  • Warehouse を用いて読み取りと書き込みのワークロードを個別に分離できる機能
  • 統合された認証
  • 自動バックアップ
  • セキュリティおよびコンプライアンス機能
  • シームレスなアップグレード

このモードでは、データのインジェストは完全にユーザー側で行います。Managed ClickStack へのデータのインジェストには、独自にホストした OpenTelemetry collector、クライアントライブラリからの直接インジェスト、ClickHouse ネイティブのテーブルエンジン (Kafka や S3 など)、ETL パイプライン、あるいは ClickHouse Cloud のマネージドインジェストサービスである ClickPipes を利用できます。このアプローチは、ClickStack を運用するうえで最もシンプルかつ高性能な方法です。

適しているケース

このデプロイメントパターンは、次のようなシナリオに最適です。

  1. すでに ClickHouse Cloud 上にオブザーバビリティデータがあり、それを ClickStack を使って可視化したい場合。
  2. 大規模なオブザーバビリティデプロイメントを運用しており、ClickHouse Cloud 上で動作する ClickStack による専用の高いパフォーマンスとスケーラビリティが必要な場合。
  3. すでに分析用途で ClickHouse Cloud を利用しており、ClickStack のインストルメンテーションライブラリを使ってアプリケーションを計測し、同じクラスタにデータを送信したい場合。この場合、オブザーバビリティワークロード用のコンピュートを分離するために、warehouses の利用を推奨します。

セットアップ手順

このガイドでは、すでに ClickHouse Cloud サービスを作成済みであることを前提としています。まだサービスを作成していない場合は、Managed ClickStack 用の はじめに ガイドに従ってください。これにより、本ガイドと同じ状態、すなわち ClickStack が有効化され、オブザーバビリティデータをインジェストする準備が整ったサービスが用意されます。


新しいサービスを作成する

ClickHouse Cloud のランディングページから New service を選択して、新しいサービスを作成します。

サービスの作成

プロバイダー、リージョン、リソースを指定する

Scale vs Enterprise

ほとんどの ClickStack ワークロードには、この Scale ティア を推奨します。SAML、CMEK、HIPAA 準拠などの高度なセキュリティ機能が必要な場合は、Enterprise ティアを選択してください。Enterprise ティアでは、非常に大規模な ClickStack デプロイメント向けのカスタムハードウェアプロファイルも提供されます。そのような場合は、サポートまでお問い合わせください。

Cloud プロバイダーとリージョンを選択します。

リソースセレクター

CPU とメモリを指定する際は、想定される ClickStack のインジェストスループットに基づいて見積もってください。以下の表は、これらのリソースのサイジングに関するガイドラインを示します。

Monthly ingest volumeRecommended compute
< 10 TB / month2 vCPU × 3 replicas
10–50 TB / month4 vCPU × 3 replicas
50–100 TB / month8 vCPU × 3 replicas
100–500 TB / month30 vCPU × 3 replicas
1 PB+ / month59 vCPU × 3 replicas

これらの推奨値は、次の前提に基づいています。

  • データ量は、月あたりの非圧縮のインジェスト量を指し、ログおよびトレースの両方に適用されます。
  • クエリパターンはオブザーバビリティ用途として一般的なものであり、ほとんどのクエリは通常直近 24 時間のような最新データを対象とします。
  • インジェストは月全体で比較的均一であることを想定しています。バーストトラフィックやスパイクが見込まれる場合は、追加の余裕を見込んでプロビジョニングしてください。
  • ストレージは ClickHouse Cloud のオブジェクトストレージによって個別に処理され、保持期間の制約要因にはなりません。長期間保持されるデータは、頻繁にはアクセスされないことを前提としています。

より長い期間にわたるクエリ、重い集約処理、大量の同時ユーザー数を定常的にサポートするアクセスパターンがある場合は、さらに多くのコンピュートリソースが必要になる可能性があります。

2 つのレプリカでも、特定のインジェストスループットに対する CPU およびメモリ要件を満たすことはできますが、可能であれば 3 つのレプリカを使用して同じ合計キャパシティを確保しつつ、サービスの冗長性を高めることを推奨します。

注記

これらの値はあくまで推定値であり、初期のベースラインとして使用してください。実際の要件は、クエリの複雑さ、同時実行数、保持ポリシー、およびインジェストスループットの変動に依存します。常にリソース使用状況を監視し、必要に応じてスケールしてください。

要件を指定すると、Managed ClickStack サービスのプロビジョニングに数分かかります。プロビジョニングを待つ間、ClickHouse Cloud コンソール の他の部分を自由に閲覧できます。

プロビジョニングが完了すると、左側メニューの 'ClickStack' オプションが有効になります。

インジェストをセットアップする

サービスのプロビジョニングが完了したら、対象のサービスが選択されていることを確認し、左側のメニューから「ClickStack」をクリックします。

インジェストを開始

「Start Ingestion」を選択すると、インジェストソースの選択を求められます。Managed ClickStack は、主なインジェストソースとして OpenTelemetry と Vector をサポートしています。ただし、ユーザーは任意の ClickHouse Cloud support integrations を利用して、独自のスキーマで ClickHouse に直接データを送信することもできます。

ソースを選択
OpenTelemetry の利用を推奨

インジェスト形式としては、OpenTelemetry の利用を強く推奨します。 ClickStack と効率的に連携するよう特別に設計された、すぐに利用可能なスキーマを備えており、もっともシンプルかつ最適化された利用体験を提供します。

Managed ClickStackにOpenTelemetryデータを送信する場合は、OpenTelemetry Collectorを使用することを推奨します。コレクターは、アプリケーション(および他のコレクター)からOpenTelemetryデータを受信し、それを ClickHouse Cloud に転送するゲートウェイとして機能します。

まだコレクターが動作していない場合は、以下の手順でコレクターを起動してください。既存のコレクターがある場合は、設定例も提供しています。

コレクターを起動する

以下では、追加の処理を含み、ClickHouse Cloud向けに最適化された ClickStack distribution of the OpenTelemetry Collector を使用する推奨パスを前提としています。独自のOpenTelemetry Collectorを使用する場合は、「既存のコレクターの設定」を参照してください。

すぐに開始するには、表示されているDockerコマンドをコピーして実行します。

OTel collector のソース

このコマンドには、接続認証情報があらかじめ埋め込まれています。

本番環境へのデプロイ

このコマンドはManaged ClickStackへの接続にdefaultユーザーを使用していますが、本番環境に移行する際には専用ユーザーを作成し、設定を変更してください。

このコマンドを1回実行するだけで、ポート4317(gRPC)および4318(HTTP)でOTLPエンドポイントが公開されたClickStackコレクターが起動します。既にOpenTelemetryインストルメンテーションとエージェントを使用している場合は、これらのエンドポイントへのテレメトリデータ送信を直ちに開始できます。

既存のコレクターの設定

既存のOpenTelemetryコレクターを設定したり、独自のコレクターディストリビューションを使用したりすることも可能です。

ClickHouse exporter required

独自のディストリビューション(例: contrib イメージ)を使用している場合は、ClickHouse exporter が含まれていることを確認してください。

この目的のために、適切な設定でClickHouseエクスポーターを使用し、OTLPレシーバーを公開するOpenTelemetry Collectorの設定例が提供されています。この設定は、ClickStackディストリビューションが期待するインターフェースと動作に一致します。

この構成の例を次に示します(UI からコピーした場合、環境変数はあらかじめ設定されています)。

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:
  debug:
    verbosity: detailed
    sampling_initial: 5
    sampling_thereafter: 200
  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]

高度な OTel collector のソース

OpenTelemetryコレクターの設定の詳細については、「OpenTelemetryでのデータ取り込み」を参照してください。

インジェストを開始する(任意)

既存のアプリケーションやインフラストラクチャでOpenTelemetryによるインストルメンテーションを行う場合は、UIからリンクされている該当ガイドに進んでください。

アプリケーションをインストルメントしてトレースとログを収集するには、サポートされている言語SDKを使用します。これらは、Managed ClickStackへのインジェストのためのゲートウェイとして動作するOpenTelemetry Collectorにデータを送信します。

ログは、エージェントモードで動作し同じコレクターにデータを転送するOpenTelemetry Collectorを使用して収集できます。Kubernetesの監視については、専用ガイドに従ってください。他のインテグレーションについては、クイックスタートガイドを参照してください。

デモデータ

あるいは、既存データがない場合は、サンプルデータセットのいずれかを試すこともできます。

  • Example dataset - 公開デモからサンプルデータセットをロードし、簡単な問題の診断を行います。
  • Local files and metrics - ローカルのOTel collectorを使用して、OSXまたはLinux上でローカルファイルを読み込み、システムを監視します。

ClickStack UI に移動する

'Launch ClickStack' を選択して ClickStack UI (HyperDX) にアクセスします。自動的に認証が行われ、リダイレクトされます。

OpenTelemetry のデータについては、データソースがあらかじめ作成されています。

ClickStack UI

以上で完了です。🎉

ClickStack を使って、ログやトレースの検索を開始し、ログ・トレース・メトリクスがリアルタイムにどのように相関付けられるかを確認し、ダッシュボードを構築し、サービスマップを探索し、イベントの差分やパターンを発見し、アラートを設定して問題を先回りで検知できるようにしましょう。


追加の作業

Managed ClickStack へのアクセス権を付与する

  1. ClickHouse Cloud コンソールで対象のサービスに移動します
  2. SettingsSQL Console Access を開きます
  3. 各ユーザーに対して適切な権限レベルを設定します:
    • Service Admin → Full Access - アラートを有効化するために必須
    • Service Read Only → Read Only - オブザーバビリティデータの閲覧とダッシュボードの作成が可能
    • No access - HyperDX にアクセスできない
ClickHouse Cloud Read Only
アラートには管理者アクセスが必要です

アラートを有効化するには、少なくとも 1 人の Service Admin 権限を持つユーザー(SQL Console Access のドロップダウンで Full Access にマッピング)が、少なくとも一度は HyperDX にログインしている必要があります。これにより、アラートクエリを実行する専用ユーザーがデータベース内にプロビジョニングされます。

読み取り専用コンピュート環境での ClickStack の利用

ClickStack UI は、読み取り専用の ClickHouse Cloud サービス上のみで完結して動作させることができます。インジェストとクエリのワークロードを分離したい場合、この構成を推奨します。

ClickStack がコンピュートを選択する仕組み

ClickStack UI は、ClickHouse Cloud コンソール内で起動元となった ClickHouse サービスに常に接続します。

これは次のことを意味します。

  • 読み取り専用サービスから ClickStack を開いた場合、ClickStack UI が発行するすべてのクエリは、その読み取り専用コンピュート上で実行されます。
  • 読み書き可能サービスから ClickStack を開いた場合は、ClickStack は代わりにそのコンピュートを使用します。

読み取り専用動作を強制するために、ClickStack 内で追加の設定を行う必要はありません。

ClickStack を読み取り専用コンピュート上で実行するには:

  1. 読み取り専用として構成された warehouse 内の ClickHouse Cloud サービスを作成するか特定します。
  2. ClickHouse Cloud コンソールで、その読み取り専用サービスを選択します。
  3. 左側のナビゲーションメニューから ClickStack を起動します。

起動後、ClickStack UI は自動的にこの読み取り専用サービスに関連付けられます。

さらにデータソースを追加する

ClickStack は OpenTelemetry ネイティブですが、OpenTelemetry 専用ではありません。必要に応じて独自のテーブルスキーマを使用できます。

以下では、自動的に設定されるもの以外に、ユーザーが追加のデータソースを構成する方法について説明します。

OpenTelemetry スキーマの使用

OTel collector を使用して ClickHouse 内にデータベースおよびテーブルを作成している場合は、ソース作成画面のデフォルト値はすべて保持し、Table フィールドに otel_logs を入力してログソースを作成します。その他の設定はすべて自動検出されるため、Save New Source をクリックできます。

ClickHouse Cloud HyperDX Datasource

トレースおよび OTel メトリクス用のソースを作成するには、上部メニューから Create New Source を選択します。

ClickStack create new source

ここから、必要なソースタイプを選択し、続いて適切なテーブルを選択します。例えばトレースの場合は、テーブル otel_traces を選択します。すべての設定は自動検出されます。

ClickStack create trace source
ソースの相関付け

ClickStack 内の異なるデータソース(ログやトレースなど)は、互いに相関付けることができます。これを有効にするには、各ソースで追加の設定が必要です。例えば、ログソースでは対応するトレースソースを指定でき、逆にトレースソース側でもログソースを指定できます。詳細は 「相関ソース」 を参照してください。

カスタムスキーマの使用

既存のサービスの既存データに ClickStack を接続したいユーザーは、必要に応じてデータベースおよびテーブルの設定を行えます。テーブルが ClickHouse 向けの OpenTelemetry スキーマに準拠している場合、設定は自動検出されます。

独自スキーマを使用する場合は、必須フィールドが指定されていることを確認したうえで Logs ソースを作成することを推奨します。詳細は「Log source settings」を参照してください。

JSON 型サポート

Beta feature. Learn more.
ベータ機能 - 本番環境向けではありません

ClickStack における JSON 型サポートは ベータ機能 です。JSON 型自体は ClickHouse 25.3+ では本番環境向けとして利用可能ですが、ClickStack との統合はまだ積極的に開発中であり、制限があったり、将来的に変更されたり、不具合を含む可能性があります。

ClickStack では、バージョン 2.0.4 以降で JSON 型 をベータ機能としてサポートしています。

この型の利点については JSON 型の利点 を参照してください。

JSON 型のサポートを有効にするには、以下の環境変数を設定する必要があります。

  • OTEL_AGENT_FEATURE_GATE_ARG='--feature-gates=clickhouse.json' - OTel collector でのサポートを有効にし、スキーマが JSON 型を使用して作成されるようにします。
  • BETA_CH_OTEL_JSON_SCHEMA_ENABLED=true (ClickStack オープンソース版のみ) - ClickStack UI アプリケーションでのサポートを有効にし、JSON データに対してクエリを実行できるようにします。

加えて、ClickHouse Cloud サービスで JSON が有効化されていることを確認するため、[email protected] にお問い合わせください。