モニタリング
項目一覧
Overview
モニタリングを通じて MongoDB Kafka Source Connector または MongoDB Kafka Sink Connector の動作を確認する方法を学びます。 モニタリングとは、アプリケーションまたはアプリケーション パフォーマンス管理ライブラリで使用するために実行中のプログラムが実行するアクティビティに関する情報を取得するプロセスです。
connector でモニタリングを行う方法と使用方法については、「 のユースケース 」セクションを参照してください。
実行中の connector を監視する方法を示す例については、「例 - クイック スタートを監視する 」セクションを参照してください。
MongoDB Source コネクタと Sink コネクタによって生成されるすべてのメトリクスのリストを表示するには、「利用可能なメトリクス」セクションを参照してください。
ユースケース
このセクションでは、MongoDB ソース コネクタと Sink コネクタを監視するユースケースと、コネクタが提供するメトリクスを使用してそれらのユースケースを満たす方法について説明します。
Sink Connector
次の表では、MongoDB Sink Connector と、それらのユースケースを満たすために Sink Connector が提供するメトリクスをモニターするためのいくつかのユースケースについて説明します。
ユースケース | 使用するメトリクス |
---|---|
パイプラインのコンポーネントが遅れているかどうかを調べたい。 | |
connector が MongoDB に書き込んだレコードの合計数を知りたい場合。 |
|
connector が MongoDB に書込み (write) しようとしたときに発生した書込みエラーの合計数を調べます。 |
|
MongoDB のパフォーマンスが時間の経過とともに低下しているかどうかを知りたい場合。 | 低速を最初に診断するには、 次のメトリクスを使用して、問題をさらに診断します。
|
Kafka Connect と MongoDB Sink Connector が MongoDB へのレコードの書き込みに費やしている時間を見つけます。 | 次のメトリクスの値を比較します。
|
すべての MongoDB Sink Connector メトリクスの説明については、「 Sink Connector JMax メトリクス」セクションを参照してください。
ソースConnector
次の表では、MongoDB ソース コネクタと、ソース コネクタがそれらのユースケースを満たすために提供するメトリクスをモニタリングするためのいくつかのユースケースについて説明します。
ユースケース | 使用するメトリクス | |
---|---|---|
パイプラインのコンポーネントが遅れているかどうかを調べたい。 |
| |
ソース コネクタが処理した変更ストリーム イベントの合計数を調べます。 |
| |
connector が受信したものの Apache Kafka に書き込むことができなかったレコードの割合を知りたい場合。 |
| |
connector が処理したドキュメントの平均サイズを知りたい場合。 |
一定期間にわたるレコードの平均サイズを計算する方法については、「 mongodb-bytes-read 」を参照してください。 | |
Kafka Connect と MongoDB ソース コネクタが Apache Kafka へのレコードの書き込みに費やしている時間を見つけます。 | 次のメトリクスの値を比較します。
| |
MongoDB のパフォーマンスが時間の経過とともに低下しているかどうかを知りたい場合。 | 低速を最初に診断するには、 次のメトリクスを使用して、問題をさらに診断します。
|
すべての MongoDB Source Connector メトリクスの説明は、「 Source Connector JMax メトリクス」セクションを参照してください。
Connectorを監視する
MongoDB Kafka Connector は、モニタリングを有効にするためにJava Management Extention(JTX)を使用します。 JTX は Java Platform, Standard Edition に含まれるテクノロジーで、アプリケーションとデバイスを監視するツールを提供します。 コネクタによって生成されたメトリクスは、 Jコンソールなどの任意の JX コンソールで表示できます。
MongoDB Kafka Connectorは、 個々のタスクのメトリクスを提供します。 タスクは、データストアと Apache Kafka との間でデータをコピーする Kafka Connect によってインスタンス化されるクラスです。 Kafka Connect の 2 種類のタスクの名前と権限は次のとおりです。
ソース タスクは、データ ストアから Apache Kafka にデータをコピーします。
Sink タスクは、Apache Kafka からデータ ストアにデータをコピーします。
Sink Connector は 1 つ以上の Sink タスクを構成します。 ソース コネクタは、1 つ以上のソース タスクを構成します。
JTX の詳細については、 Oracle の次のリソースを参照してください。
Kafka Connect のタスクとコネクターの詳細については、次のリソースを参照してください。
モニタリングの有効化
MongoDB Kafka Connector は、 Kafka Connect のメトリクス インフラストラクチャ を使用してメトリクスを提供します。 コネクタによって生成されたメトリクスを読み取るには、 Kafka Connect 配置で JTX を有効にします。
ホスト マシン上で実行されている Kafka Connect インスタンスに対して JTX を有効にする方法については、 Kafka の 公式ドキュメント を参照してください。
コンテナ化された Kafka Connect 配置で JTX を有効にする方法については、「 Docker で JTX を使用した Kafka の監視とメトリクス 」を参照してください。
メトリクスのタイプ
コネクタは、次のタイプの数量に関連するメトリクスを提供します。
コネクタ タスクの合計イベントが発生した回数
イベントの直近の発生に関連する値
一部のユースケースでは、connector が提供するメトリクスを使用して追加の計算を実行する必要があります。 たとえば、提供されたメトリクスから次の値を計算できます。
メトリクスの変化率
一定期間にわたるメトリクスの値
あるメトリクスと別のメトリクスの差
計算されたメトリクスの例については、 「 ユースケース 」セクションを参照してください。
JTX パス
MongoDB Kafka Connectorと Kafka Connect はどちらも、MongoDB connector タスクのメトリクスを生成します。
どちらのメトリクスセットもタスクが Kafka Connect とどのようにやり取りするかに関する情報を提供しますが、タスクが MongoDB とどのようにやり取りするかに関する情報は MongoDB Kafka Connector のメトリクスのみで提供されます。
MongoDB Kafka Connector は、次の JTX パスでメトリクスを生成します。
com.mongodb.kafka.connect.sink-task-metrics.sink-task-<monitonically increasing number>
com.mongodb.kafka.connect.source-task-metrics.source-task-<monitonically increasing number>
com.mongodb.kafka.connect.source-task-metrics.source-task-change-stream-<monitonically increasing number>
com.mongodb.kafka.connect.source-task-metrics.source-task-copy-existing-<monitonically increasing number>
Kafka Connect は、次の JTX パスの下にメトリクスを生成します。
kafka.connect.sink-task-metrics.<connector-name>
kafka.connect.source-task-metrics.<connector-name>
kafka.connect.connector-task-metrics.<connector-name>
Kafka Connect メトリクスを MongoDB Kafka Connector メトリクスに関連付けるには、 Kafka Connect にコネクタを追加した順序を覚えておく必要があります。
注意
命名競合
MongoDB Kafka Connector が JTX パスにMBean
を登録しようとしたときに名前の競合が発生した場合、MongoDB Kafka Connector はMBean
にバージョンのサフィックスを追加します。
たとえば、コネクタがパスMBean
の下にcom.mongodb.kafka.connect.sink-task-metrics.sink-task-0
を登録しようとし、登録できない場合、MBean
の下にcom.mongodb.kafka.connect.sink-task-metrics.sink-task-0-v1
を登録しようとします。
例
配置にmy-source-connector
という名前の単一の MongoDB ソース コネクタを追加することを想定します。
MongoDB ソース コネクタは、次の JTX パスにメトリクスを書込みます。
com.mongodb.kafka.connect.sink-task-metrics.sink-task-0
Kafka Connect は、このタスクのメトリクスを次のパスに書込みます。
kafka.connect.sink-task-metrics.my-source-connector
例 - クイック スタートを監視する
クイック スタートで提供されているサンプル環境は、URI localhost:35000
でホストマシン上のメトリクスを公開します。
Jコンソール でこれらのメトリクスを表示するには、次のアクションを実行します。
Jコンソール をダウンロードします。
JCon Console は、Java プラットフォーム、標準エディションの一部です。 JCon Console をダウンロードするには、 Java SE Development Kit をダウンロードします。 Oracle による。
クイック スタート パイプラインを起動し、コネクターを追加します。
「コネクターを介してドキュメントの内容を送信する 」ステップまで、「 クイック スタート 」に従います。
コネクタの メトリクスを調査します。
Jコンソール の [ MBeans ] タブに移動します。
コネクタメトリクスを調べます。
com.mongodb.kafka.connect.sink-task-metrics.sink-task-0.records
属性の値が0
であることに注意してください。 この値は、Sink タスクがApache Kafkaからレコードを受信していないことを示します。サンドボックスの削除ステップが実行されるまで、クイック スタートを続行します。
Jコンソール の [ MBeans ] タブに移動します。 これで、
com.mongodb.kafka.connect.sink-task-metrics.sink-task-0.records
属性の値は1
になります。
クイック スタート環境を停止して削除します。
クイック スタート環境を停止して削除するには、クイック スタートの「 サンドボックスの削除」手順に従います。
利用可能なメトリクス
このセクションのテーブルの属性を使用して、Java 管理拡張機能(JXT)からソース コネクタと Sink コネクタの動作を監視します。
Tip
JTX 属性
JMAXは、 MBean
の属性として個々のメトリクスを表します。 属性とMBeans
の詳細については、「 標準 Mインスタンス チュートリアル 」を参照してください。 Oracle による。
注意
ポーリング メソッドとプト メソッド
MongoDB ソース コネクタ タスクには、MongoDB からドキュメントを取得し、Apache Kafka に送信するためのpoll()
メソッドがあります。 MongoDB シンク コネクタ タスクには、Apache Kafka からドキュメントを取得し、MongoDB に送信するためのput()
メソッドがあります。
poll()
メソッドとput()
メソッドの詳細については、次のリソースを参照してください。
Sink Connector JTX メトリクス
属性名 | 説明 |
---|---|
レコード | MongoDB Sink Task が受信した Kafka レコードの合計数。 |
レコード成功 | MongoDB Sink タスクが MongoDB に正常に書込んだ Kafka レコードの合計数。 |
レコード失敗 | MongoDB Sink タスクが MongoDB への書込み (write) に失敗した Kafka レコードの合計数。 |
latest-kafka-time-dDifference-ms | MongoDB Sink Task と Kafka 間で記録された最新の時間差のミリ秒数。 この値は、コネクタのクロックの現在の時刻とタスクが受信した最後のレコードのタイムスタンプを減算して計算されます。 |
インタスクターム | Kafka Connect フレームワークが MongoDB Sink Task の |
in-task- put- duration-ms | Kafka Connect フレームワークが MongoDB Sink タスクの |
in-task- put- duration-over-1-ms | 1 ミリ秒を超えた MongoDB シンク タスク |
in-task- put- duration-10-ms | 10 ミリ秒を超えた MongoDB シンク タスク |
in-task- put- duration-100-ms | 100 ミリ秒を超えた MongoDB シンク タスク |
in-task- put- duration-1000-ms | 1000 ミリ秒を超えた MongoDB シンク タスク |
in-task- put- duration-over-10000-ms | 10000 ミリ秒を超えた MongoDB シンク タスク |
inconnect フレームワーク | MongoDB Sink タスクの |
in-connect-Framework- duration-ms | MongoDB シンク タスクの |
in-connect-Framework- duration-over-1-ms | Kafka Connect フレームワーク内のコードが 1 ミリ秒を超え実行された合計回数。 |
in-connect- Framework- duration-10-ms | Kafka Connect フレームワーク内のコードが 10 ミリ秒を超えて実行された合計回数。 |
in-connect- Framework- duration-100-ms | Kafka Connect フレームワーク内のコードが 100 ミリ秒を超えて実行された合計回数。 |
in-connect-Framework- duration-over-1000-ms | Kafka Connect フレームワーク内のコードが 1000 ミリ秒を超えて実行された合計回数。 |
in-connect-Framework- duration-over-10000-ms | Kafka Connect フレームワーク内のコードが 10000 ミリ秒を超えて実行された合計回数。 |
Processing(処理)フェーズ | MongoDB Sink タスクが Kafka からのレコードのバッチでプロセシング フェーズを実行した合計回数。 MongoDB Sink タスクの処理フェーズは、 Kafka からレコードが取得された後に開始され、レコードが MongoDB に書き込まれる前に終了するアクションのセットです。 |
Processing-Frames- duration-ms | MongoDB Sink タスクが MongoDB にレコードを書き込む前にレコードの処理に費やした合計時間数。 |
Processing(処理フェーズ): 1-ms | 期間が 1 ミリ秒を超えた MongoDB Sink Task Processing フェーズの実行の合計数。 |
Processing-Plass- duration-10-ms | 10 ミリ秒を超えた MongoDB Sink Task Processing フェーズの実行の合計数。 |
Processing-Plass- duration-100-ms | 100 ミリ秒を超えた MongoDB Sink Task Processing フェーズの実行の合計数。 |
Processing(処理フェーズ数): 1000-ms | 1000 ミリ秒を超えた MongoDB Sink Task Processing フェーズの実行の合計数。 |
Processing(処理フェーズ): 10000-ms | 10000 ミリ秒を超えた MongoDB Sink Task Processing フェーズの実行の合計数。 |
バッチ書込み (write) 成功 | MongoDB Sink タスクが MongoDB クラスターに正常に書込んだバッチの合計数。 |
batchs-write-成功した期間-ミリ秒 | MongoDB Sink タスクが MongoDB クラスターへの正常な書込み (write) に費やした合計時間(ミリ秒)。 |
バッチ書込み (write)成功する期間1ミリ秒以上 | 1 ミリ秒を超えた MongoDB Sink タスクによって実行された成功したバッチ書込み (write) の合計数。 |
バッチ書込み (write)成功する期間100000ミリ秒 | 10 ミリ秒を超える期間 MongoDB Sink タスクによって実行された成功したバッチ書込み (write) の合計数。 |
バッチ書込み (write)成功期間100ミリ秒以上 | 100 ミリ秒を超える期間 MongoDB Sink タスクによって実行された成功したバッチ書込み (write) の合計数。 |
バッチ書込み (write)成功した期間が1000ミリ秒を超える | 1000 ミリ秒を超える期間 MongoDB Sink タスクによって実行された成功したバッチ書込み (write) の合計数。 |
バッチ書込み (write)成功した期間、10000 ミリ秒を超える | 10000 ミリ秒を超える期間にわたって MongoDB シンク タスクによって実行された成功したバッチ書込み (write) の合計数。 |
バッチ書込みに失敗 | MongoDB Sink タスクが MongoDB クラスターに書込み (write) に失敗したバッチの合計数。 |
batchs-write-failed- duration-ms | MongoDB Sink タスクが MongoDB クラスターへのバッチ書込み (write) の試行に失敗した合計時間(ミリ秒)。 |
バッチ書込み (write) 失敗 - duration-over-1-ms | 1 ミリ秒を超えて MongoDB シンク タスクによって試行された、失敗したバッチ書込みの合計数。 |
バッチ書込み (write) 失敗 - duration-10-ms | 10 ミリ秒を超える期間 MongoDB Sink タスクによって試行された、失敗したバッチ書込み (write) の合計数。 |
バッチ書込み (write) 失敗 - duration-100-ms | 100 ミリ秒を超える期間にわたって MongoDB シンク タスクによって試行され、失敗したバッチ書込みの合計数。 |
バッチ書込み (write) 失敗 - duration-1000-ms | 1000 ミリ秒を超える期間にわたって MongoDB シンク タスクによって試行された、失敗したバッチ書込みの合計数。 |
バッチ書込み (write) 失敗 - duration-over-10000-ms | 10000 ミリ秒を超える期間にわたって MongoDB シンク タスクによって試行された、失敗したバッチ書込みの合計数。 |
Source Connector JTX メトリクス
注意
初期コマンドと getMore コマンド
ソース コネクタ タスクの一部のメトリクスでは、初期コマンドとgetMore
コマンドを区別します。 最初のコマンドは、クライアント側の MongoDB カーソルで最初のドキュメントセットを検索する MongoDB インスタンスに送信されるfind
またはaggregate
コマンドです。 getMore
コマンドは、カーソル内の後続のドキュメント セットを取得する MongoDB コマンドです。
getMore
コマンドの詳細については、 getMoreページ をご覧ください。
属性名 | 説明 |
---|---|
レコード | MongoDB ソース タスクが Kafka Connect フレームワークに渡されたレコードの合計数。 |
レコードフィルタリング | Kafka Connect フレームワークに渡され、その後フレームワークによってフィルタリングされた MongoDB ソース タスクが記録するレコードの数。 フィルタリングされたレコードは Kafka に書込まれません。 |
レコード確認済み | MongoDB ソース タスクが Kafka Connect フレームワークに渡され、その後 Kafka に正常に書込まれたレコードの合計数。 |
mongodb-bytes-read | MongoDB ソース タスクが MongoDB クラスターから読み込んだバイトの合計数。 Sink Connector が一定時間の範囲内で処理したレコードの平均サイズを計算するには、次のアクションを実行します。
|
latest-mongodb-time-diff-seconds | MongoDB クラスターと MongoDB ソース タスクが保持するバッチ後の再開トークンとの間で記録された最新の時間差の秒数。 この値は、タスクが実行した直近の成功した MongoDB コマンドの |
タスク実行中 | Kafka Connect フレームワークが MongoDB ソース タスクの |
in-task-pull- duration-ms | Kafka Connect フレームワークが MongoDB ソース タスクの |
in-task-pull- duration-over-1-ms | 1 ミリ秒を超えた MongoDB ソース タスク |
in-task-pol- duration-over-10-ms | 10 ミリ秒を超えた MongoDB ソース タスク |
in-task-pull- duration-100-ms | 100 ミリ秒を超えた MongoDB ソース タスク |
in-task-pol- duration-over-1000-ms | 1000 ミリ秒を超えた MongoDB ソース タスク |
in-task-pol- duration-over-10000-ms | 10000 ミリ秒を超えた MongoDB ソース タスク |
inconnect フレームワーク | MongoDB ソース タスクの |
in-connect-Framework- duration-ms | Kafka Connect フレームワークが MongoDB ソース タスクの |
in-connect-Framework- duration-over-1-ms | Kafka Connect フレームワーク内のコードが 1 ミリ秒を超え実行された合計回数。 |
in-connect- Framework- duration-10-ms | Kafka Connect フレームワーク内のコードが 10 ミリ秒を超えて実行された合計回数。 |
in-connect- Framework- duration-100-ms | Kafka Connect フレームワーク内のコードが 100 ミリ秒を超えて実行された合計回数。 |
in-connect-Framework- duration-over-1000-ms | Kafka Connect フレームワーク内のコードが 1000 ミリ秒を超えて実行された合計回数。 |
in-connect-Framework- duration-over-10000-ms | Kafka Connect フレームワーク内のコードが 10000 ミリ秒を超えて実行された合計回数。 |
initial-commands-successful | 成功した MongoDB ソース タスクによって発行された初期コマンドの合計数。 初期コマンドは、カーソル内の最初のドキュメントセットを検索する MongoDB クラスターに送信される検索または集計コマンドです。 |
initial-commands-successful-duration-ms | MongoDB ソース タスクが成功した 最初のコマンド の実行に費やした合計ミリ秒数。 |
initial-commands-successful-duration-over-1-ms | 1 ミリ秒を超えた MongoDB ソース タスクによって発行された成功した初期コマンドの合計数。 |
initial-commands-successful-duration-over-10-ms | 10 ミリ秒を超えた MongoDB ソース タスクによって発行された成功した初期コマンドの合計数。 |
initial-commands-successful-duration-over-100-ms | 100 ミリ秒を超えた MongoDB ソース タスクによって発行された成功した初期コマンドの合計数。 |
initial-commands-successful-duration-over-1000-ms | 1000 ミリ秒を超えた MongoDB ソース タスクによって発行された成功した初期コマンドの合計数。 |
initial-commands-successful-duration-over-10000-ms | 10000 ミリ秒を超えた MongoDB ソース タスクによって発行された成功した初期コマンドの合計数。 |
get more-commands-成功 | 成功した MongoDB ソース タスクによって発行された |
get more-commands-成功- duration-ms | MongoDB ソース タスクが成功した |
get more-commands-成功- duration-over-1-ms | 1 ミリ秒を超えた MongoDB ソース タスクによって発行された成功した |
get more-commands-成功- duration-over-10-ms | 10 ミリ秒を超えた MongoDB ソース タスクによって発行された成功した |
get more-commands-成功した期間、100-ミリ秒 | 100 ミリ秒を超えた MongoDB ソース タスクによって発行された成功した |
get more-commands-成功- duration-over-1000-ms | 1000 ミリ秒を超えた MongoDB ソース タスクによって発行された成功した |
get more-commands-成功- duration-over-10000-ms | 10000 ミリ秒を超えた MongoDB ソース タスクによって発行された成功した |
initial-commands-failed | 失敗した MongoDB ソース タスクによって発行された初期コマンドの合計数。 初期コマンドは、カーソル内の最初のドキュメントセットを検索する MongoDB クラスターに送信される検索または集計コマンドです。 |
initial-commands-failed-duration-ms | MongoDB ソース タスクが MongoDB サーバーに初期コマンドを発行する際に失敗した合計時間(ミリ秒)。 |
initial-commands-failed-duration-over-1-ms | 1 ミリ秒を超えた MongoDB ソース タスクによって発行された失敗した初期コマンドの合計数。 |
initial-commands-failed-duration-over-10-ms | 10 ミリ秒を超えた MongoDB ソース タスクによって発行された失敗した初期コマンドの合計数。 |
initial-commands-failed-duration-over-100-ms | 100 ミリ秒を超えた MongoDB ソース タスクによって発行された失敗した初期コマンドの合計数。 |
initial-commands-failed-duration-over-1000-ms | 1000 ミリ秒を超えた MongoDB ソース タスクによって発行された失敗した初期コマンドの合計数。 |
initial-commands-failed-duration-over-10000-ms | 10000 ミリ秒を超えた MongoDB ソース タスクによって発行された失敗した初期コマンドの合計数。 |
get more-commands-failed | 失敗した MongoDB ソース タスクによって発行された |
get more-commands-failed- duration-ms | MongoDB ソースタスクが MongoDB サーバーに |
get more-commands-failed- duration-over-1-ms | 1 ミリ秒を超えた MongoDB ソースタスクによって発行された、失敗した |
get more-commands-failed- duration-over-10-ms | 10 ミリ秒を超えた MongoDB ソースタスクによって発行された、失敗した |
get more-commands-failed- duration-over-100-ms | 100 ミリ秒を超えた MongoDB ソースタスクによって発行された、失敗した |
get more-commands-failed- duration-over-1000-ms | 1000 ミリ秒を超えた MongoDB ソースタスクによって発行された、失敗した |
get more-commands-failed- duration-over-10000-ms | 10000 ミリ秒を超えた MongoDB ソース タスクによって発行された、失敗した |