メインコンテンツへスキップ
このガイドでは、Kubernetes システムからログとメトリクスを収集し、可視化と分析のために ClickStack に送信できます。デモデータとして、必要に応じて公式 OpenTelemetry デモの ClickStack フォークを使用します。

前提条件

このガイドを進めるには、以下が必要です。
  • ClickHouse 用に、少なくとも 1 つのノードで 32 GiB の RAM と 100GB のディスク容量を利用できる Kubernetes クラスター (v1.20 以降を推奨)
  • Helm v3 以降
  • クラスターにアクセスできるよう設定された kubectl

デプロイオプション

このガイドは、次のいずれかのデプロイオプションで進められます。
  • Open Source ClickStack: 以下を含め、ClickStack を Kubernetes クラスター内に完全にデプロイします。
    • ClickHouse
    • HyperDX
    • MongoDB (ダッシュボードの状態管理と設定に使用)
  • Managed ClickStack: ClickHouse と ClickStack UI (HyperDX) は ClickHouse Cloud で管理されます。これにより、クラスター内で ClickHouse や HyperDX を実行する必要がなくなります。
アプリケーショントラフィックをシミュレートするには、必要に応じて OpenTelemetry Demo Application の ClickStack フォークをデプロイできます。これにより、ログ、メトリクス、トレースを含むテレメトリーデータが生成されます。すでにクラスター内でワークロードが稼働している場合は、この手順を省略して、既存のポッド、ノード、コンテナーを監視できます。
1

cert-manager をインストールする (任意)

TLS 証明書が必要な場合は、Helm を使用して cert-manager をインストールします。
2

OpenTelemetry Demo をデプロイする (任意)

このステップは任意で、監視対象の既存のポッドがない場合を想定しています。Kubernetes 環境にすでにサービスをデプロイしている場合はスキップできますが、このデモにはトレースとセッションリプレイのデータを生成するインストルメント済みのマイクロサービスが含まれているため、ClickStack のすべての機能を試すことができます。以下では、オブザーバビリティのテストとインストルメンテーションの実演向けに調整された、OpenTelemetry Demo Application スタックの ClickStack フォーク版を Kubernetes クラスター内にデプロイします。これには、バックエンドのマイクロサービス、ロードジェネレーター、テレメトリー パイプライン、補助的なインフラストラクチャ (例: Kafka、Redis) 、および ClickStack との SDK インテグレーションが含まれます。すべてのサービスは otel-demo ネームスペースにデプロイされます。各デプロイメントには次が含まれます:
  • トレース、メトリクス、ログ向けの、OTel と ClickStack SDKS による自動インストルメンテーション。
  • すべてのサービスは、インストルメンテーション データを my-hyperdx-hdx-oss-v2-otel-collector OpenTelemetry collector (未デプロイ) に送信します
  • 環境変数 OTEL_RESOURCE_ATTRIBUTES を介してログ、メトリクス、トレースを相関付けるための リソースタグの転送
デモをデプロイしたら、すべてのポッドが正常に作成され、Running 状態になっていることを確認します:

デモアーキテクチャ

このデモは、異なるプログラミング言語で実装され、gRPC と HTTP 経由で相互に通信するマイクロサービス群と、Locust を使用してユーザートラフィックを擬似的に生成するロードジェネレーターで構成されています。このデモの元のソースコードは、ClickStack インストルメンテーションを使用するよう変更されています。出典: https://opentelemetry.io/docs/demo/architecture/このデモの詳細については、以下を参照してください。
3

ClickStack の Helm チャートリポジトリを追加する

ClickStack をデプロイするには、公式の Helm チャートを使用します。そのため、HyperDX の Helm リポジトリを追加する必要があります。
4

ClickStack をデプロイする

Helm チャートをインストールしたら、ClickStack をクラスターにデプロイできます。ClickHouse や HyperDX を含むすべてのコンポーネントを Kubernetes 環境内で実行することも、collector のみをデプロイして、ClickHouse と HyperDX UI には Managed ClickStack を利用することもできます。
次のコマンドは、otel-demo ネームスペースに ClickStack をインストールします。この helm チャートでは、以下がデプロイされます。
  • ClickHouse インスタンス
  • HyperDX
  • ClickStack ディストリビューションの OTel collector
  • HyperDX のアプリケーション状態を保存するための MongoDB
Kubernetes クラスターの構成に応じて、storageClassName の調整が必要になる場合があります。
OTel デモをデプロイしない場合は、適切なネームスペースを選んでこの設定を変更できます。
本番環境の ClickStackこのチャートでは、ClickHouse と OTel collector もインストールされます。本番環境では、clickhouse と OTel collector の operator を使用するか、Managed ClickStack を使用することを推奨します。clickhouse と OTel collector を無効にするには、次の values を設定します。
Managed ClickStack を使用する場合は、ClickStack をデプロイし、同梱の ClickHouse を無効化できます。
現在、このチャートでは常に HyperDX と MongoDB の両方がデプロイされます。これらのコンポーネントは代替のアクセス経路を提供しますが、ClickHouse Cloud の認証とは統合されていません。このデプロイメントモデルでは、これらのコンポーネントは管理者向けであり、デプロイした OTel collector 経由でデータを取り込むために必要なセキュアなインジェストキーにアクセスできますが、エンドユーザーには公開すべきではありません。
デプロイメントのステータスを確認するには、次のコマンドを実行し、すべてのコンポーネントが Running 状態になっていることを確認してください。Managed ClickStack を使用している場合、ClickHouse は表示されません。
5

HyperDX UI にアクセスする

Managed ClickStack を使用する場合でも、Kubernetes クラスターにデプロイされたローカルの HyperDX インスタンスは引き続き必要です。これは、HyperDX に同梱された OpAMP サーバーによって管理されるインジェストキーを提供し、デプロイ済みの OTel collector を介した安全なインジェストを可能にするためです。この機能は、現時点では Managed ClickStack では利用できません。
セキュリティ上の理由から、このサービスは ClusterIP を使用しており、デフォルトでは外部に公開されません。HyperDX UI にアクセスするには、3000 からローカルポート 8080 へポートフォワードします。
HyperDX UI にアクセスするには、http://localhost:8080 にアクセスします。複雑さの要件を満たすユーザー名とパスワードを指定して、ユーザーを作成します。
6

インジェスト API key を取得する

ClickStack collector によってデプロイされた OTel collector へのインジェストは、インジェストキーで保護されています。Team Settings に移動し、API Keys セクションから Ingestion API Key をコピーします。この API key により、OpenTelemetry collector 経由のデータインジェストの安全性が確保されます。
7

API key 用の Kubernetes Secret を作成する

インジェスト API key と、ClickStack Helm チャートでデプロイした OTel collector の場所を格納した ConfigMap を含む、新しい Kubernetes Secret を作成します。後続のコンポーネントはこれを使用して、ClickStack Helm チャートでデプロイした collector へのインジェストを行えるようになります。
インジェスト API keyを反映するため、OpenTelemetry Demo Applicationのポッドを再起動します。
デモサービスからのトレースおよびログデータが、HyperDX に流れ始めるはずです。
8

OpenTelemetry Helm リポジトリを追加する

Kubernetes のメトリクスを収集するため、標準の OTel collector をデプロイし、上記のインジェスト API key を使ってデータを ClickStack collector に安全に送信するよう設定します。これには、OpenTelemetry Helm リポジトリをインストールする必要があります。
9

Kubernetes collector コンポーネントのデプロイ

クラスター自体と各ノードの両方からログとメトリクスを収集するには、それぞれ独自のマニフェストを持つ2つの独立したOpenTelemetry Collectorをデプロイする必要があります。提供されている2つのマニフェスト (k8s_deployment.yamlk8s_daemonset.yaml) は連携して機能し、Kubernetesクラスターから包括的なテレメトリーデータを収集します。
  • k8s_deployment.yaml は、クラスター全体のイベントとメタデータを収集する役割を持つ単一の OpenTelemetry Collector インスタンスをデプロイします。Kubernetes イベントとクラスターのメトリクスを収集し、ポッドのラベルやアノテーションを使ってテレメトリーデータを拡充します。データの重複を避けるため、この collector は 1 つのレプリカを持つスタンドアロンのデプロイメントとして実行されます。
  • k8s_daemonset.yaml は、クラスター内のすべてのノードで実行される デーモンセットベースの collector をデプロイします。これは、kubeletstatshostmetrics、Kubernetes Attribute Processor などのコンポーネントを使用して、ノードレベルおよびポッドレベルのメトリクス に加え、コンテナーログも収集します。これらの collector はログにメタデータを付与し、OTLP エクスポーターを使用して HyperDX に送信します。
これらのマニフェストを組み合わせることで、インフラストラクチャからアプリケーションレベルのテレメトリーまで、クラスター全体にわたるフルスタックのオブザーバビリティが実現し、エンリッチされたデータを一元分析のためにClickStackへ送信します。まず、collector をデプロイメントとしてインストールします。
次に、ノードおよびポッドレベルのメトリクスとログを収集するため、collectorをデーモンセットとしてデプロイします。
10

HyperDX で Kubernetes データを確認する

Kubernetes にデプロイしたインスタンスを使う場合も、Managed ClickStack を使う場合も、HyperDX UI にアクセスします。

Managed ClickStack を使用している場合は、ClickHouse Cloud サービスにログインし、左側のメニューから “ClickStack” を選択するだけです。自動的に認証されるため、ユーザーを作成する必要はありません。ログ、メトリクス、トレース用のデータソースはあらかじめ作成されています。
ローカルにデプロイした HyperDX にアクセスするには、次のローカルコマンドでポートフォワードを実行し、http://localhost:8080 で HyperDX にアクセスします。
本番環境での ClickStack本番環境では、Managed ClickStack を使用していない場合、TLS を使用するイングレスの利用を推奨します。例:
Kubernetes データを確認するには、/kubernetes の専用ダッシュボードに移動します。例: http://localhost:8080/kubernetesPods、Nodes、Namespaces の各タブには、それぞれデータが表示されているはずです。
最終更新日 2026年6月19日