Apache Kafkaバックエンド用のデフォルトのJMXメトリック
このページでは、Apache Kafka バックエンドのデフォルトメトリックについて説明します。Javaエージェントには、Apache KafkaのProducerおよびConsumerによって公開された主要なメトリックに対するルールがあります。デフォルトで収集されないJMKメトリックをモニタリングするには、MBeanブラウザを使用してKafka JMXメトリックを選択し、それに対するルールを作成します。
Kafka Producer JMXメトリック
- Response rate:Broker から Producer に応答が受信される比率
- Request rate:Producer から Broker にリクエストデータが送信される比率
- Request latency average:Producer による
KafkaProducer.send()の実行から、Broker からの応答が受信されるまでの平均時間 - Outgoing byte rate:Producerのネットワークスループット
- IO wait time:CPUがアイドル状態で、少なくとも1つのI/Oオペレーションが進行中である時間の割合
- Record error rate:結果としてエラーになった1秒あたりの平均レコード送信回数
- Waiting threads:レコードがキューに入れられるまでバッファメモリを待機しているブロック済みユーザースレッドの数
- Requests in flight:現在、応答を待機している未処理リクエストの数
- Network IO rate:すべての接続でのネットワークオペレーション、読み取り、または書き込みの1秒あたりの平均数
Kafka Consumer JMXメトリック
- Records lag max:時間枠内のパーティションのレコード数に関する最大ラグ
- Bytes consumed rate:1秒あたりに消費されたバイトの平均数
- Fetch rate:1秒あたりのフェッチリクエストの数
- Records consumed rate:1秒あたりに消費されたレコードの平均数
- Fetch latency max:フェッチリクエストにかかる最大時間
KafkaサーバーJMXメトリック
- broker-request-total-time-ms:
合計エンドツーエンド時間(ミリ秒)。 broker-request-send-response-ms:キューから取り出された応答が非ブロッキング IO を介してリモートで送信されます。このメトリックでは、応答がキューから取り出されてから送信が完了するまでの時間が示されます。broker-request-response-queue-ms:応答もキューに追加されます。ネットワークプロセッサごとのキュー数は 1 です。この応答はネットワークプロセッサによってキューから取り出され、返送されます。このメトリックでは、このキューで待機に費やされた時間が示されます。broker-request-remote-time-ms:リクエストをリモート処理する必要がある場合は、このメトリックでリモート処理に費やされた時間が示されます。たとえば、Producer リクエストの場合、acks を -1 に設定すると、フォロワーから肯定応答が受信されるまでリクエストが完了しません。このメトリックでは、フォロワーの待機に費やされた時間が示されます。フェッチするデータが十分でない場合は、フェッチリクエストが遅延する可能性もあります。このメトリックでは、その時間も考慮されます。broker-request-processing-ms:リクエストが KafkaAPI で処理されます。このメトリックでは、処理に費やされた時間が示されます。このメトリックが高い場合は、関連するリクエストハンドラをデバッグします。- broker-request-queue-time-ms
:リクエストが共通キューに追加されます。キュー内の項目は、リクエストハンドラスレッドで処理されます。これらのハンドラスレッドの数は、num.io.threads パラメータを使用して構成できます。このメトリックでは、このキュー内でリクエストに費やされた平均時間が示されます。このメトリックが高い場合は、ハンドラスレッドを増やします。