Observability の概要とセットアップ

Confluent Cloud を使用すると、オンプレミスの Kafka クラスターをモニタリングする際の試行錯誤を避けられるメリットがあります。ただし、クライアントアプリケーションに加え、Confluent Cloud クラスターもある程度モニタリングする必要があります。Confluent Cloud での成果は、アプリケーションのパフォーマンスに大きく左右されます。クライアントアプリケーションのパフォーマンスおよびステータスの可観測性により、プロデューサーおよびコンシューマーの細かな調整、Confluent Cloud クラスターのスケーリングが必要なタイミング、問題が生じる可能性のある個所、問題の解決方法に関するインサイトが得られます。

このモジュールでは、Confluent Cloud Metrics API からのデータ、およびローカルで実行される Java コンシューマーおよびプロデューサーから取得したクライアントメトリクスのデータが入力される時系列データベースをセットアップする方法、およびデータ可視化ツールをセットアップする方法について説明します。初期セットアップの後、一連のシナリオに沿って障害のシナリオを作成し、エラーの発生時にアラートを受け取ります。

注釈

このサンプルでは、時系列データベースとして Prometheus を、可視化には Grafana を使用しますが、他のテクノロジーにも同じ原則を適用できます。

前提条件

チュートリアルの実行コスト

注意

Confluent Cloud のすべてのサンプルでは、課金される可能性のある実際の Confluent Cloud リソースを使用しています。サンプルで、新しい Confluent Cloud 環境、Kafka クラスター、トピック、ACL、サービスアカウントに加えて、コネクターや ksqlDB アプリケーションのように時間で課金されるリソースを作成する場合があります。想定外の課金を避けるために、慎重に リソースのコストを確認 してから開始してください。Confluent Cloud のサンプルの実行を終了したら、サービスへの時間単位の課金を回避するためにすべての Confluent Cloud リソースを破棄し、リソースが削除されたことを確認します。

Confluent Cloud のプロモーションコード

Confluent Cloud Console の Billing & payment セクションでプロモーションコード C50INTEG を入力すると、Confluent Cloud で $50 相当を無料で使用できます(詳細)。このプロモーションコードで、この Confluent Cloud サンプルの 1 日分の実行費用が補填されます。これを超えてサービスを利用すると、このサンプルで作成した Confluent Cloud リソースを破棄するまで、時間単位で課金されることがあります。

Confluent Cloud コンテナーと Observability コンテナーのセットアップ

以下の手順では、次のことを行います。

  • ccloud-stack を使用して、Confluent Cloud クラスター、サービスアカウントと適切な ACL、クライアント構成ファイルを作成します
  • ccloud-exporter 用の cloud リソース API キーを作成します
  • Maven プロジェクトの依存関係のキャッシュを含む、Kafka クライアント Docker イメージを構築します
  • docker-compose を使用して複数の Docker コンテナーを起動します(JMX Exporter のコンシューマー 1 つ、JMX Exporter のプロデューサー 1 つ、Prometheus、Grafana、ccloud-exporter 1 つ、node-exporter 1 つ)
  1. Confluent Cloud CLI にログインします。

    ccloud login --save
    

    --save フラグにより、Confluent Cloud ログイン資格情報が ~/.netrc ファイルに保存されます。

  2. confluentinc/examples GitHub リポジトリのクローンを作成します。

    git clone https://github.com/confluentinc/examples.git
    
  3. examples/ccloud-observability/ ディレクトリに移動し、Confluent Platform リリースブランチに切り替えます。

    cd examples/ccloud-observability/
    git checkout 6.2.4-post
    
  4. start.sh script を実行して、Confluent Cloud クラスター、シークレット、Observability コンポーネントをセットアップします。

    ./start.sh
    
  5. Grafana にデータが表示されるまでに最大 3 分かかります。Grafana を開き、ユーザー名 admin とパスワード password を使用してログインします。これで、プロデューサー、コンシューマーまたは一般的なシナリオに進んで、さまざまな障害のシナリオについて確認することができます。

セットアップの確認

  1. プロデューサーおよびコンシューマーの Kafka クライアントが実行されていることを確認します。Confluent Cloud Console から、新しく作成した環境および Kafka クラスターの Data flow を表示します。

    データフロー

  2. Prometheus の Targets ページ に移動します。

    Prometheus の Targets の Unknown 状態

    このページでは、作成したターゲットが Prometheus でスクレイピングされているかどうかを確認できます。すべてが正常に動作している場合、2 分後には以下のようになります。ページの表示の更新が必要な場合があります。

    Prometheus の Targets の Up 状態

  3. Grafana にデータが表示されるまでに最大 3 分かかります。Grafana を開き、ユーザー名 admin とパスワード password を使用してログインします。

  4. これで、プロデューサー、コンシューマーまたは一般的なシナリオに進んで、さまざまな障害のシナリオについて確認することができます。