Java Management Extensions(JMX)を使用したKafkaコネクタのモニター¶
このトピックでは、Java Management Extensions(JMX)を使用してKafka用Snowflakeコネクタをモニターする方法について説明します。Kafka Connectは、Kafkaコネクタに関する情報を提供する事前設定された JMX メトリックを提供します。Kafka用Snowflakeコネクタは、Kafka環境に関するメトリックを取り込むために使用できる複数のManaged Beans(MBeans)を提供します。この情報は、PrometheusやGrafanaなどのサードパーティツールに読み込むことができます。
JMX 機能は、コネクタではデフォルトで有効になっています。JMX を無効にするには、 jmx
プロパティを false
に設定します。
このトピックの内容:
Kafkaコネクタでの JMX の構成¶
JMX は、Kafka用Snowflakeコネクタではデフォルトで有効になっています。Kafkaで JMX を有効にするには、次を実行します。
JMX を有効にしてKafkaインストールに接続します。
リモートサーバーで実行されているKafkaインストールに JMX 接続するには、KafkaConnect起動スクリプトで
KAFKA_JMX_OPTS
環境変数を設定します。export KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=<ip_address> -Dcom.sun.management.jmxremote.port=<jmx_port>"
条件:
ip_address
: Kafka Connectインストールの IP アドレスを指定します。jmx_port
: Kafka Connectが JMX 接続をリッスンする JMX ポートを指定します。
同じサーバーで実行されているKafkaに JMX 接続するには、Kafka起動スクリプトで
JMX_PORT
環境変数を設定します。export JMX_PORT=<port_number>
ここで、
port_number
はKafkaインストールの JMX ポートです。
Kafkaコネクタを再起動します。
Snowflake KafkaコネクタManaged Beansの使用(MBeans)¶
JMX は MBeans を使用して、モニターできるKafka内のオブジェクト(例: スレッド数、CPU負荷など)を表します。Snowflake Kafkaコネクタは、コネクタによって管理されるオブジェクトにアクセスするための MBeans を提供します。これらの MBeans を使用して、モニターダッシュボードを作成できます。
Kafkaコネクタ MBean オブジェクト名の一般的な形式は次のとおりです。
snowflake.kafka.connector:connector=connector_name,pipe=pipe_name,category=category_name,name=metric_name
条件:
connector=connector_name
は、Kafka構成ファイルで定義されているコネクタの名前を指定します。pipe=pipe_name
は、データのインジェストに使用されるSnowpipeオブジェクトを指定します。Kafkaコネクタは、各パーティションのSnowpipeオブジェクトを定義します。category=category_name
は、 MBean のカテゴリを指定します。各カテゴリには、一連のメトリックが含まれています。name=metric_name
は、メトリックの名前を指定します。
次のセクションでは、Snowflake Kafkaコネクタによって提供されるカテゴリとメトリックの名前をリストします。
カテゴリ: file-counts
¶
このカテゴリのメトリックは、SnowpipeベースのKafkaコネクタにのみ適用され、Snowpipe Streamingには適用されません。
メトリック名 |
データ型 |
説明 |
---|---|---|
|
long |
現在、内部ステージにあるファイルの数。この値は、ファイルのパージプロセスが開始された後に減少します。このプロパティは、現在内部ステージにあるファイルの数の推定を提供します。 |
|
long |
|
|
long |
インジェスチョンに失敗したテーブルステージ上のファイルの数。 |
|
long |
壊れたオフセットに対応する、テーブルステージに存在するファイルの数。 |
|
long |
インジェスチョンステータスが決定された後、内部ステージからパージされたファイルの数。 |
カテゴリ: offsets
¶
offsetPersistedInSnowflake
および latestConsumerOffset
のメトリックは、Snowpipe StreamingベースのKafkaコネクタに適用されます。このカテゴリの残りは、SnowpipeベースのKafkaコネクタにのみ適用されます。
メトリック名 |
データ型 |
説明 |
---|---|---|
|
long |
メモリ内のバッファーに送信された最新の記録を参照するオフセット。 |
|
long |
バッファーのしきい値に達した後、内部ステージでフラッシュされている記録を参照するオフセット。バッファーは、時間、記録数、またはサイズによってしきい値に達する可能性があります。 |
|
long |
事前にコミットした API が呼び出され、Snowpipe |
|
long |
内部ステージからパージされている記録を参照するオフセット。この数値は、内部ステージからパージされた最新のオフセットの最大値です。 |
|
long |
Snowflakeで最新の永続データを持つ記録を参照するオフセット。オフセットは |
|
long |
メモリ内のバッファーに送信された最新の記録を参照するオフセット。チャネルオフセットトークンが |
カテゴリ: buffer
¶
このカテゴリのメトリックは、SnowpipeベースのKafkaコネクタでのみ使用できます。
メトリック名 |
データ型 |
説明 |
---|---|---|
|
long |
バッファーのしきい値に基づいて、内部ステージにフラッシュされる前のバッファーサイズ(バイト単位)を返します。ファイルは内部ステージにロードされるときに圧縮されるため、この値はファイルサイズと同じではない場合があります。 |
|
long |
バッファーのしきい値に基づいて、バッファーが内部ステージにフラッシュされる前にメモリにバッファーされたKafka記録の数を返します。 |
カテゴリ: latencies
¶
このカテゴリのメトリックは、SnowpipeベースのKafkaコネクタでのみ使用できます。
メトリック名 |
データ型 |
説明 |
---|---|---|
|
long |
記録がKafkaに入力された時間と、記録がKafka Connectにフェッチされた時間の差(秒単位)。値が記録内に設定されていない場合、この値はnullになる可能性があることに注意してください。 |
|
long |
ファイルが内部ステージにアップロードされた時間と |
|
long |
ファイルが内部ステージにアップロードされた時間と、ファイルのインジェスチョンステータスが |