Observability の概要とセットアップ¶
Confluent Cloud を使用すると、オンプレミスの Kafka クラスターをモニタリングする際の試行錯誤を避けられるメリットがあります。ただし、クライアントアプリケーションに加え、Confluent Cloud クラスターもある程度モニタリングする必要があります。Confluent Cloud での成果は、アプリケーションのパフォーマンスに大きく左右されます。クライアントアプリケーションのパフォーマンスおよびステータスの可観測性により、プロデューサーおよびコンシューマーの細かな調整、Confluent Cloud クラスターのスケーリングが必要なタイミング、問題が生じる可能性のある個所、問題の解決方法に関するインサイトが得られます。
このモジュールでは、Confluent Cloud Metrics API からのデータ、およびローカルで実行される Java コンシューマーおよびプロデューサーから取得したクライアントメトリクスのデータが入力される時系列データベースをセットアップする方法、およびデータ可視化ツールをセットアップする方法について説明します。初期セットアップの後、一連のシナリオに沿って障害のシナリオを作成し、エラーの発生時にアラートを受け取ります。
注釈
このサンプルでは、時系列データベースとして Prometheus を、可視化には Grafana を使用しますが、他のテクノロジーにも同じ原則を適用できます。
前提条件¶
- Confluent Cloud へのアクセス
- ローカルに インストールされた Confluent Cloud CLI (v1.25.0 以降)
- ホストにインストールされた jq
- ホストにインストールされた Docker
チュートリアルの実行コスト¶
注意¶
Confluent Cloud のすべてのサンプルでは、課金される可能性のある実際の Confluent Cloud リソースを使用しています。サンプルで、新しい Confluent Cloud 環境、Kafka クラスター、トピック、ACL、サービスアカウントに加えて、コネクターや ksqlDB アプリケーションのように時間で課金されるリソースを作成する場合があります。想定外の課金を避けるために、慎重に リソースのコストを確認 してから開始してください。Confluent Cloud のサンプルの実行を終了したら、サービスへの時間単位の課金を回避するためにすべての 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 つ)
Confluent Cloud CLI にログインします。
ccloud login --save
--save
フラグにより、Confluent Cloud ログイン資格情報が~/.netrc
ファイルに保存されます。confluentinc/examples GitHub リポジトリのクローンを作成します。
git clone https://github.com/confluentinc/examples.git
examples/ccloud-observability/
ディレクトリに移動し、Confluent Platform リリースブランチに切り替えます。cd examples/ccloud-observability/ git checkout 6.1.5-post
start.sh script を実行して、Confluent Cloud クラスター、シークレット、Observability コンポーネントをセットアップします。
./start.sh
Grafana にデータが表示されるまでに最大 3 分かかります。Grafana を開き、ユーザー名
admin
とパスワードpassword
を使用してログインします。これで、プロデューサー、コンシューマーまたは一般的なシナリオに進んで、さまざまな障害のシナリオについて確認することができます。
セットアップの確認¶
プロデューサーおよびコンシューマーの Kafka クライアントが実行されていることを確認します。Confluent Cloud UI から、新しく作成した環境および Kafka クラスターの Data flow を表示します。
Prometheus の Targets ページ に移動します。
このページでは、作成したターゲットが Prometheus でスクレイピングされているかどうかを確認できます。すべてが正常に動作している場合、2 分後には以下のようになります。ページの表示の更新が必要な場合があります。
Grafana にデータが表示されるまでに最大 3 分かかります。Grafana を開き、ユーザー名
admin
とパスワードpassword
を使用してログインします。これで、プロデューサー、コンシューマーまたは一般的なシナリオに進んで、さまざまな障害のシナリオについて確認することができます。