AWS MSK(Prometheus)¶
Amazon Managed Streaming for Apache Kafka(Amazon MSK)のオープンモニタリングでは、Kafka Broker の JMX と Broker ノードのメトリクスを Prometheus 形式で公開できます。DataKit は Prometheus コレクターでこれらのエンドポイントを直接取得し、AWS AK、Func、または CloudWatch のクラウド収集スクリプトは使用しません。
設定¶
前提条件¶
- この統合は、Amazon MSK のオープンモニタリング を有効化した MSK Provisioned クラスタに適用されます。
- 既存クラスタでオープンモニタリングを有効にする前に、クラスタは
ACTIVE状態である必要があります。新規クラスタは作成時に有効化できます。既存クラスタは、クラスタ属性の Monitoring セクションで編集して有効化できます。 - DataKit は、MSK Broker のプライベート DNS を名前解決してアクセスできるネットワーク上にデプロイされている必要があります。通常は同一 VPC か、ネットワーク接続済みの VPC です。
- MSK のセキュリティグループでは、DataKit が属するセキュリティグループまたはセグメントから TCP
11001と11002へのアクセスを許可する必要があります。VPC では DNS を有効にする必要があります。ネットワーク要件は AWS MSK Prometheus Collector の前提条件 を参照してください。 - JMX Exporter は
11001、Node Exporter は11002を使用します。AWS は、取得間隔を 60 秒未満にしないことを推奨しています。短すぎる間隔は、クラスタの CPU 使用率を上げる可能性があります。
注意: KRaft メタデータモードと MSK Express Broker では、オープンモニタリングとパブリックアクセスを同時に有効化できません。オープンモニタリング自体は無料ですが、アベイラビリティーゾーンをまたぐデータ転送には料金が発生する場合があります。
オープンモニタリングを有効にする¶
新規の MSK Provisioned クラスタでは、Monitoring セクションで「Enable open monitoring with Prometheus」を選択し、JMX Exporter、Node Exporter、またはその両方を有効にします。
既存クラスタでは、次の手順で有効にします。
- Amazon MSK コンソール にログインし、対象クラスタを開きます。
- Properties タブで Monitoring を見つけ、Edit をクリックします。
- 「Enable open monitoring with Prometheus」を選択します。
- JMX Exporter、Node Exporter、またはその両方を有効にしてから、変更を保存します。
AWS CLI を使って監視設定を更新することもできます。
aws kafka update-monitoring \
--cluster-arn <cluster-arn> \
--current-version <current-version> \
--open-monitoring 'Prometheus={JmxExporter={EnabledInBroker=true},NodeExporter={EnabledInBroker=true}}'
詳細は AWS 公式ドキュメントを参照してください。
Prometheus の監視ターゲットを取得する¶
ListNodes を使ってクラスタの Broker DNS を取得します。
返却結果の BrokerNodeInfo.Endpoints に含まれるすべての Broker DNS を記録します。各 Broker に対して 2 つのターゲットを設定する必要があります。
| タイプ | ターゲット | 説明 |
|---|---|---|
| JMX Exporter | <broker-dns>:11001 |
Kafka Broker の JMX メトリクスと Consumer Lag メトリクス。 |
| Node Exporter | <broker-dns>:11002 |
Broker ノードの CPU、メモリ、ディスク、ネットワークメトリクス。 |
KRaft クラスタで Controller の JMX メトリクスも収集する場合は、ControllerNodeInfo.Endpoints が返す Controller DNS も 11001 のターゲットに追加する必要があります。エンドポイント形式と KRaft の説明は AWS Prometheus Host の設定 を参照してください。
DataKit ホスト上でネットワーク疎通を確認します。
curl -sS "http://<broker-dns>:11001/metrics" | head
curl -sS "http://<broker-dns>:11002/metrics" | head
DataKit を設定する¶
DataKit のインストールディレクトリ内の conf.d/samples ディレクトリに移動し、prom.conf.sample をコピーして aws_msk_prom.conf という名前にします。
aws_msk_prom.conf を調整します。すべての Broker DNS を対応する urls に追加します。KRaft の Controller DNS は、JMX Exporter の設定のみに追加します。
[[inputs.prom]]
urls = [
"http://<broker-dns-1>:11001/metrics",
"http://<broker-dns-2>:11001/metrics",
# KRaft はオプション:
# "http://<controller-dns-1>:11001/metrics",
]
source = "kafka_jmx"
interval = "60s"
metric_name_filter = ["^kafka_"]
measurement_prefix = ""
keep_exist_metric_name = false
honor_timestamps = true
election = false
disable_host_tag = true
disable_instance_tag = true
disable_info_tag = false
[[inputs.prom.measurements]]
prefix = "kafka_controller_"
name = "kafka_controller"
[[inputs.prom.measurements]]
prefix = "kafka_network_"
name = "kafka_network"
[[inputs.prom.measurements]]
prefix = "kafka_log_"
name = "kafka_log"
[[inputs.prom.measurements]]
prefix = "kafka_server_"
name = "kafka_server"
[inputs.prom.tags]
cloud_provider = "aws"
service = "msk"
region_id = "<aws-region>"
cluster_id = "<cluster-arn-or-id>"
cluster_name = "<msk-cluster-name>"
[[inputs.prom]]
urls = [
"http://<broker-dns-1>:11002/metrics",
"http://<broker-dns-2>:11002/metrics",
]
source = "kafka_node"
interval = "60s"
metric_name_filter = ["^node_"]
measurement_prefix = ""
keep_exist_metric_name = false
honor_timestamps = true
election = false
disable_host_tag = true
disable_instance_tag = true
disable_info_tag = false
[[inputs.prom.measurements]]
prefix = "node_"
name = "kafka_node"
[inputs.prom.tags]
cloud_provider = "aws"
service = "msk"
region_id = "<aws-region>"
cluster_id = "<cluster-arn-or-id>"
cluster_name = "<msk-cluster-name>"
# オプション: 業務用 Producer、Consumer、Kafka Streams、Kafka Connect などのクライアント JMX Exporter メトリクスを収集します。
[[inputs.prom]]
urls = [
"http://<producer-client-ip>:7072/metrics",
"http://<consumer-client-ip>:7073/metrics",
"http://<streams-client-ip>:7074/metrics",
"http://<connect-worker-ip>:7075/metrics",
]
source = "kafka_client"
interval = "60s"
metric_name_filter = ["^kafka_(producer|consumer|stream|connect)_"]
measurement_prefix = ""
keep_exist_metric_name = false
honor_timestamps = true
election = false
disable_host_tag = false
disable_instance_tag = true
disable_info_tag = false
[[inputs.prom.measurements]]
prefix = "kafka_producer_"
name = "kafka_producer"
[[inputs.prom.measurements]]
prefix = "kafka_consumer_"
name = "kafka_consumer"
[[inputs.prom.measurements]]
prefix = "kafka_connect_"
name = "kafka_connect"
[[inputs.prom.measurements]]
prefix = "kafka_stream_"
name = "kafka_stream"
[inputs.prom.tags]
cloud_provider = "aws"
service = "msk"
region_id = "<aws-region>"
cluster_id = "<cluster-arn-or-id>"
cluster_name = "<msk-cluster-name>"
11001 は Kafka Broker の JMX と Consumer Lag のメトリクスを公開し、11002 は Broker ノードの CPU やディスクなどのメトリクスを公開します。具体的な範囲は AWS Prometheus メトリクスの説明 を参照してください。Producer、Consumer、Kafka Streams、Kafka Connect はクライアントプロセスメトリクスであり、それぞれのプロセスに JMX Exporter を個別に組み込んでから収集する必要があります。
設定が完了したら DataKit を再起動します。
確認¶
- DataKit のログで
aws_msk_prom.confに接続エラーや名前解決エラーがないことを確認します。 Guance「メトリクス」で、kafka_controller、kafka_network、kafka_server、kafka_nodeなどのメトリクスセットが存在することを確認します。- メトリクスのタグに
cloud_provider=aws、cluster_name=<msk-cluster-name>、および Brokerhostが期待どおりか確認します。 - クライアント JMX Exporter を設定している場合は、
kafka_producer、kafka_consumer、kafka_stream、kafka_connectのメトリクスセットにデータがあることも確認します。
メトリクス¶
Prometheus 収集を設定したら、推奨範囲には以下の 9 つのメトリクスセット、measurement、field、および固定セマンティックタグで区別される 115 個のメトリクスコンテキストが含まれます。Amazon MSK のオープンモニタリングは、Broker JMX と Node Exporter のメトリクスをネイティブに提供します。Producer、Consumer、Kafka Streams、Kafka Connect のメトリクスは、それぞれのクライアントプロセスで JMX Exporter を個別に有効化する必要があります。
Controller メトリクス¶
kafka_controller メトリクスセットには、8 個の推奨メトリクスコンテキストが含まれます。
| メトリクス名 | メトリクス説明 | ディメンション | 単位 |
|---|---|---|---|
kafka_controller.ControllerEventManager_Count{name=EventQueueTimeMs} |
Controller のイベントキュー待機時間メトリクスの累積サンプル数。 | cloud_provider, cluster_name, host, name |
count |
kafka_controller.ControllerEventManager_Value{name=EventQueueSize} |
Controller のイベントキューで現在処理待ちのイベント数。 | cloud_provider, cluster_name, host, name |
count |
kafka_controller.KafkaController_Value{name=ActiveBrokerCount} |
現在アクティブで、クラスタサービスに参加している Broker 数。 | cloud_provider, cluster_name, host, name |
count |
kafka_controller.KafkaController_Value{name=ActiveControllerCount} |
クラスタ内の現在アクティブな Controller 数。通常は 1 です。 | cloud_provider, cluster_name, host, name |
count |
kafka_controller.KafkaController_Value{name=FencedBrokerCount} |
現在隔離され、通常のクラスタサービスに参加できない Broker 数。 | cloud_provider, cluster_name, host, name |
count |
kafka_controller.KafkaController_Value{name=GlobalPartitionCount} |
現在のクラスタ総パーティション数。複数の Broker が同じグローバル値を公開する場合は最大値を採用します。 | cloud_provider, cluster_name, host, name |
count |
kafka_controller.KafkaController_Value{name=GlobalTopicCount} |
現在のクラスタ総 Topic 数。複数の Broker が同じグローバル値を公開する場合は最大値を採用します。 | cloud_provider, cluster_name, host, name |
count |
kafka_controller.KafkaController_Value{name=OfflinePartitionsCount} |
現在 Leader を持たず、正常な読み書きができないパーティション数。 | cloud_provider, cluster_name, host, name |
count |
ネットワークリクエストメトリクス¶
kafka_network メトリクスセットには、24 個の推奨メトリクスコンテキストが含まれます。
| メトリクス名 | メトリクス説明 | ディメンション | 単位 |
|---|---|---|---|
kafka_network.RequestChannel_Value{name=RequestQueueSize} |
Broker のリクエストキューで現在処理待ちのエントリ数。 | cloud_provider, cluster_name, host, name |
count |
kafka_network.RequestChannel_Value{name=ResponseQueueSize} |
Broker のレスポンスキューで現在処理待ちのエントリ数。 | cloud_provider, cluster_name, host, name |
count |
kafka_network.RequestMetrics_95thPercentile{name=TotalTimeMs;request=FetchConsumer} |
FetchConsumer リクエストのエンドツーエンド P95 処理時間。 | cloud_provider, cluster_name, host |
ms |
kafka_network.RequestMetrics_95thPercentile{name=TotalTimeMs;request=Produce} |
Produce リクエストのエンドツーエンド P95 処理時間。 | cloud_provider, cluster_name, host |
ms |
kafka_network.RequestMetrics_Max{name=TemporaryMemoryBytes;request=Produce} |
Broker が Produce リクエストを処理するときに使用した最大一時メモリ。 | cloud_provider, cluster_name, host, name, request |
B |
kafka_network.RequestMetrics_Mean{name=LocalTimeMs;request=FetchConsumer} |
FetchConsumer リクエストのローカル処理平均時間。 | cloud_provider, cluster_name, host, name, request |
ms |
kafka_network.RequestMetrics_Mean{name=LocalTimeMs;request=FetchFollower} |
FetchFollower リクエストのローカル処理平均時間。 | cloud_provider, cluster_name, host, name, request |
ms |
kafka_network.RequestMetrics_Mean{name=MessageConversionsTimeMs;request=Produce} |
Produce リクエストのメッセージ形式変換平均時間。 | cloud_provider, cluster_name, host, name, request |
ms |
kafka_network.RequestMetrics_Mean{name=RemoteTimeMs;request=FetchConsumer} |
FetchConsumer リクエストのリモート処理平均時間。 | cloud_provider, cluster_name, host, name, request |
ms |
kafka_network.RequestMetrics_Mean{name=RemoteTimeMs;request=FetchFollower} |
FetchFollower リクエストのリモート処理平均時間。 | cloud_provider, cluster_name, host, name, request |
ms |
kafka_network.RequestMetrics_Mean{name=RemoteTimeMs;request=Produce} |
Produce リクエストのリモート処理平均時間。 | cloud_provider, cluster_name, host, name, request |
ms |
kafka_network.RequestMetrics_Mean{name=RequestQueueTimeMs;request=FetchConsumer} |
FetchConsumer リクエストがリクエストキューで待機した平均時間。 | cloud_provider, cluster_name, host, name, request |
ms |
kafka_network.RequestMetrics_Mean{name=RequestQueueTimeMs;request=Produce} |
Produce リクエストがリクエストキューで待機した平均時間。 | cloud_provider, cluster_name, host, name, request |
ms |
kafka_network.RequestMetrics_Mean{name=ResponseQueueTimeMs;request=FetchConsumer} |
FetchConsumer リクエストがレスポンスキューで待機した平均時間。 | cloud_provider, cluster_name, host, name, request |
ms |
kafka_network.RequestMetrics_Mean{name=ResponseQueueTimeMs;request=FetchFollower} |
FetchFollower リクエストがレスポンスキューで待機した平均時間。 | cloud_provider, cluster_name, host, name, request |
ms |
kafka_network.RequestMetrics_Mean{name=ResponseQueueTimeMs;request=Produce} |
Produce リクエストがレスポンスキューで待機した平均時間。 | cloud_provider, cluster_name, host, name, request |
ms |
kafka_network.RequestMetrics_Mean{name=ResponseSendTimeMs;request=FetchConsumer} |
FetchConsumer リクエストでレスポンス送信に要した平均時間。 | cloud_provider, cluster_name, host, name, request |
ms |
kafka_network.RequestMetrics_Mean{name=ResponseSendTimeMs;request=FetchFollower} |
FetchFollower リクエストでレスポンス送信に要した平均時間。 | cloud_provider, cluster_name, host, name, request |
ms |
kafka_network.RequestMetrics_Mean{name=ResponseSendTimeMs;request=Produce} |
Produce リクエストでレスポンス送信に要した平均時間。 | cloud_provider, cluster_name, host, name, request |
ms |
kafka_network.RequestMetrics_Mean{name=TotalTimeMs;request=FetchConsumer} |
FetchConsumer リクエストのエンドツーエンド平均処理時間。 | cloud_provider, cluster_name, host, name, request |
ms |
kafka_network.RequestMetrics_Mean{name=TotalTimeMs;request=Produce} |
Produce リクエストのエンドツーエンド平均処理時間。 | cloud_provider, cluster_name, host, name, request |
ms |
kafka_network.RequestMetrics_OneMinuteRate{name=RequestsPerSec} |
Broker の直近 1 分間のリクエストレート。 | cloud_provider, cluster_name, host, name, request |
ops |
kafka_network.SocketServer_Value{name=MemoryPoolUsed} |
Broker ネットワーク層のメモリプールで現在使用中のメモリ量。 | cloud_provider, cluster_name, host, name |
B |
kafka_network.SocketServer_Value{name=NetworkProcessorAvgIdlePercent} |
Broker のネットワーク処理スレッドがアイドル状態にある時間割合。 | cloud_provider, cluster_name, host, name |
percent |
ログメトリクス¶
kafka_log メトリクスセットには、4 個の推奨メトリクスコンテキストが含まれます。
| メトリクス名 | メトリクス説明 | ディメンション | 単位 |
|---|---|---|---|
kafka_log.LogFlushStats_OneMinuteRate{name=LogFlushRateAndTimeMs} |
Broker が 1 秒あたりに実行するログフラッシュ操作の平均回数。 | cloud_provider, cluster_name, host, name |
ops |
kafka_log.Log_Value{name=LogEndOffset} |
選択した Topic パーティションの現在のログ末尾オフセット。 | cloud_provider, cluster_name, host, name, partition, topic |
offset |
kafka_log.Log_Value{name=LogStartOffset} |
選択した Topic パーティションで現在最も古く読み取れるログオフセット。 | cloud_provider, cluster_name, host, name, partition, topic |
offset |
kafka_log.Log_Value{name=Size} |
選択した Topic パーティションのログが占有するディスク容量。 | cloud_provider, cluster_name, host, name, topic |
B |
Broker サービスメトリクス¶
kafka_server メトリクスセットには、10 個の推奨メトリクスコンテキストが含まれます。
| メトリクス名 | メトリクス説明 | ディメンション | 単位 |
|---|---|---|---|
kafka_server.BrokerTopicMetrics_OneMinuteRate{name=BytesInPerSec} |
Broker または Topic が 1 秒あたりに受信するプロデュースメッセージのバイト数。 | cloud_provider, cluster_name, host, name, topic |
B/S |
kafka_server.BrokerTopicMetrics_OneMinuteRate{name=BytesOutPerSec} |
Broker または Topic が 1 秒あたりに Consumer へ送信するバイト数。 | cloud_provider, cluster_name, host, name, topic |
B/S |
kafka_server.BrokerTopicMetrics_OneMinuteRate{name=FetchMessageConversionsPerSec} |
Broker が 1 秒あたりに実行する Fetch メッセージ形式変換回数。 | cloud_provider, cluster_name, host, name, topic |
ops |
kafka_server.BrokerTopicMetrics_OneMinuteRate{name=MessagesInPerSec} |
Broker または Topic が 1 秒あたりに受信するメッセージ数。 | cloud_provider, cluster_name, host, name, topic |
ops |
kafka_server.BrokerTopicMetrics_OneMinuteRate{name=TotalFetchRequestsPerSec} |
Broker または Topic が 1 秒あたりに受信する Fetch リクエスト数。 | cloud_provider, cluster_name, host, name, topic |
ops |
kafka_server.BrokerTopicMetrics_OneMinuteRate{name=TotalProduceRequestsPerSec} |
Broker または Topic が 1 秒あたりに受信する Produce リクエスト数。 | cloud_provider, cluster_name, host, name, topic |
ops |
kafka_server.KafkaRequestHandlerPool_FiveMinuteRate{name=RequestHandlerAvgIdlePercent} |
Broker のリクエスト処理スレッドにおける直近 5 分間の平均アイドル率。 | cloud_provider, cluster_name, host |
percent |
kafka_server.ReplicaManager_Value{name=UnderMinIsrPartitionCount} |
同期レプリカ数が min.insync.replicas を下回っているパーティション数。 | cloud_provider, cluster_name |
count |
kafka_server.ReplicaManager_Value{name=UnderReplicatedPartitions} |
レプリカ数が目標レプリカ係数を下回っているパーティション数。 | cloud_provider, cluster_name |
count |
kafka_server.socket_server_metrics_response_rate |
Broker のネットワーク処理スレッドが 1 秒あたりに送信するレスポンス数。 | cloud_provider, cluster_name, host |
ops |
ノードリソースメトリクス¶
kafka_node メトリクスセットには、9 個の推奨メトリクスコンテキストが含まれます。
| メトリクス名 | メトリクス説明 | ディメンション | 単位 |
|---|---|---|---|
kafka_node.cpu_seconds_total{mode!=idle} |
Broker ノードの非 idle CPU 時間増加率を全 CPU 時間増加率で割った CPU 使用率。 | cloud_provider, cluster_name, host, mode |
percent |
kafka_node.disk_read_bytes_total |
Broker ノードのディスクが 1 秒あたりに読み取るバイト数。 | cloud_provider, cluster_name, host |
B/S |
kafka_node.disk_reads_completed_total |
Broker ノードのディスクで 1 秒あたりに完了した読み取り回数。 | cloud_provider, cluster_name, host |
ops |
kafka_node.disk_writes_completed_total |
Broker ノードのディスクで 1 秒あたりに完了した書き込み回数。 | cloud_provider, cluster_name, host |
ops |
kafka_node.disk_written_bytes_total |
Broker ノードのディスクが 1 秒あたりに書き込むバイト数。 | cloud_provider, cluster_name, host |
B/S |
kafka_node.filesystem_avail_bytes |
Broker ノードのファイルシステムで使用済み容量の割合。 | cloud_provider, cluster_name, host |
percent |
kafka_node.filesystem_files |
Broker ノードのファイルシステムで使用済み Inode の割合。 | cloud_provider, cluster_name, host |
percent |
kafka_node.filesystem_files_free |
Broker ノードのファイルシステムで使用済み Inode の割合。 | cloud_provider, cluster_name, host |
percent |
kafka_node.filesystem_size_bytes |
Broker ノードのファイルシステムで使用済み容量の割合。 | cloud_provider, cluster_name, host |
percent |
Producer クライアントメトリクス¶
kafka_producer メトリクスセットには、13 個の推奨メトリクスコンテキストが含まれます。
| メトリクス名 | メトリクス説明 | ディメンション | 単位 |
|---|---|---|---|
kafka_producer.metrics_buffer_available_bytes |
Producer の現在未使用のバッファメモリ量。 | client_id, cloud_provider, cluster_name, host |
B |
kafka_producer.metrics_buffer_exhausted |
Producer がバッファ枯渇により破棄した累積レコード送信数。 | client_id, cloud_provider, cluster_name, host |
count |
kafka_producer.metrics_buffer_exhausted_rate |
Producer が 1 秒あたりにバッファ枯渇で破棄したレコード送信数。 | client_id, cloud_provider, cluster_name, host |
ops |
kafka_producer.metrics_bufferpool_wait_time_ns |
Producer がバッファ空間の割り当てを待機した累積時間。 | client_id, cloud_provider, cluster_name, host |
ns |
kafka_producer.metrics_connection_count |
クライアントの現在のアクティブ接続数。 | client_id, cloud_provider, cluster_name, host |
count |
kafka_producer.metrics_failed_authentication |
クライアント認証に失敗した累積接続数。 | client_id, cloud_provider, cluster_name, host |
count |
kafka_producer.metrics_flush_time_ns |
Producer が flush 操作に費やした累積時間。 | client_id, cloud_provider, cluster_name, host |
ns |
kafka_producer.metrics_io_wait_time_ns |
Producer の I/O スレッドが読み書き可能なソケットを待機した累積時間。 | client_id, cloud_provider, cluster_name, host |
ns |
kafka_producer.metrics_request_rate |
クライアントが 1 秒あたりに送信するリクエスト数。 | client_id, cloud_provider, cluster_name, host |
ops |
kafka_producer.metrics_requests_in_flight |
Producer が送信済みで、まだレスポンスを受け取っていないリクエスト数。 | client_id, cloud_provider, cluster_name, host |
count |
kafka_producer.metrics_response_rate |
クライアントが 1 秒あたりに受信するレスポンス数。 | client_id, cloud_provider, cluster_name, host |
ops |
kafka_producer.metrics_select_rate |
クライアントの I/O スレッドが 1 秒あたりに select を実行する回数。 | client_id, cloud_provider, cluster_name, host |
ops |
kafka_producer.metrics_txn_commit_time_ns |
Producer がトランザクションのコミットに要した累積時間。 | client_id, cloud_provider, cluster_name, host |
ns |
Consumer クライアントメトリクス¶
kafka_consumer メトリクスセットには、14 個の推奨メトリクスコンテキストが含まれます。
| メトリクス名 | メトリクス説明 | ディメンション | 単位 |
|---|---|---|---|
kafka_consumer.coordinator_metrics_rebalance_latency |
Consumer Group の直近の再バランス総時間。 | client_id, cloud_provider, cluster_name, host |
ms |
kafka_consumer.coordinator_metrics_rebalance_rate_per_hour |
Consumer Group で 1 時間あたりに発生する再バランスの平均回数。 | client_id, cloud_provider, cluster_name, host |
回/時 |
kafka_consumer.metrics_connection_close_rate |
Consumer が 1 秒あたりに閉じる接続数。 | client_id, cloud_provider, cluster_name, host |
ops |
kafka_consumer.metrics_connection_count |
クライアントの現在のアクティブ接続数。 | client_id, cloud_provider, cluster_name, host |
count |
kafka_consumer.metrics_failed_authentication |
クライアント認証に失敗した累積接続数。 | client_id, cloud_provider, cluster_name, host |
count |
kafka_consumer.metrics_incoming_byte_rate |
クライアントがネットワークソケットから 1 秒あたりに読み取るバイト数。 | client_id, cloud_provider, cluster_name, host |
B/S |
kafka_consumer.metrics_io_time_ns_avg |
Consumer が各 select 呼び出しで I/O を実行する平均時間。 | client_id, cloud_provider, cluster_name, host |
ns |
kafka_consumer.metrics_io_wait_time_ns_avg |
Consumer の I/O スレッドが読み書き可能なソケットを待機する平均時間。 | client_id, cloud_provider, cluster_name, host |
ns |
kafka_consumer.metrics_outgoing_byte_rate |
クライアントが 1 秒あたりに Broker へ送信するバイト数。 | client_id, cloud_provider, cluster_name, host |
B/S |
kafka_consumer.metrics_request_rate |
クライアントが 1 秒あたりに送信するリクエスト数。 | client_id, cloud_provider, cluster_name, host |
ops |
kafka_consumer.metrics_request_size_avg |
Consumer リクエストの平均サイズ。 | client_id, cloud_provider, cluster_name, host |
B |
kafka_consumer.metrics_response_rate |
クライアントが 1 秒あたりに受信するレスポンス数。 | client_id, cloud_provider, cluster_name, host |
ops |
kafka_consumer.metrics_select_rate |
クライアントの I/O スレッドが 1 秒あたりに select を実行する回数。 | client_id, cloud_provider, cluster_name, host |
ops |
kafka_consumer.metrics_time_between_poll_avg |
Consumer の連続する 2 回の poll 呼び出しの平均間隔。 | client_id, cloud_provider, cluster_name, host |
ms |
Kafka Streams メトリクス¶
kafka_stream メトリクスセットには、25 個の推奨メトリクスコンテキストが含まれます。
| メトリクス名 | メトリクス説明 | ディメンション | 単位 |
|---|---|---|---|
kafka_stream.stream_state_metrics_all_rate |
Kafka Streams の状態ストアで 1 秒あたりに実行される操作数。 | cloud_provider, cluster_name, host, rocksdb_state_id, thread_id |
ops |
kafka_stream.stream_state_metrics_block_cache_capacity |
Kafka Streams RocksDB のブロックキャッシュ容量。 | cloud_provider, cluster_name, host, rocksdb_state_id, thread_id |
B |
kafka_stream.stream_state_metrics_block_cache_data_hit_ratio |
Kafka Streams RocksDB のブロックキャッシュにおけるデータヒット率。 | cloud_provider, cluster_name, host, rocksdb_state_id, thread_id |
percent |
kafka_stream.stream_state_metrics_block_cache_filter_hit_ratio |
Kafka Streams RocksDB のブロックキャッシュにおけるフィルターヒット率。 | cloud_provider, cluster_name, host, rocksdb_state_id, thread_id |
percent |
kafka_stream.stream_state_metrics_block_cache_index_hit_ratio |
Kafka Streams RocksDB のブロックキャッシュにおけるインデックスヒット率。 | cloud_provider, cluster_name, host, rocksdb_state_id, thread_id |
percent |
kafka_stream.stream_state_metrics_block_cache_usage |
Kafka Streams RocksDB のブロックキャッシュの現在使用量。 | cloud_provider, cluster_name, host, rocksdb_state_id, thread_id |
B |
kafka_stream.stream_state_metrics_bytes_read_compaction_rate |
Kafka Streams の状態ストア圧縮で 1 秒あたりに読み取るバイト数。 | cloud_provider, cluster_name, host, rocksdb_state_id, thread_id |
B/S |
kafka_stream.stream_state_metrics_bytes_read_rate |
Kafka Streams の状態ストアで 1 秒あたりに読み取るバイト数。 | cloud_provider, cluster_name, host, rocksdb_state_id, thread_id |
B/S |
kafka_stream.stream_state_metrics_bytes_written_compaction_rate |
Kafka Streams の状態ストア圧縮で 1 秒あたりに書き込むバイト数。 | cloud_provider, cluster_name, host, rocksdb_state_id, thread_id |
B/S |
kafka_stream.stream_state_metrics_bytes_written_rate |
Kafka Streams の状態ストアで 1 秒あたりに書き込むバイト数。 | cloud_provider, cluster_name, host, rocksdb_state_id, thread_id |
B/S |
kafka_stream.stream_task_metrics_active_process_ratio |
Kafka Streams のタスクスレッドがレコード処理に使っている時間割合。 | cloud_provider, cluster_name, host, task_id, thread_id |
percent |
kafka_stream.stream_task_metrics_cache_size_bytes |
Kafka Streams のタスクキャッシュの総サイズ。 | cloud_provider, cluster_name, host, task_id, thread_id |
B |
kafka_stream.stream_task_metrics_enforced_processing_rate |
Kafka Streams のタスクで 1 秒あたりに強制処理を実行する回数。 | cloud_provider, cluster_name, host, task_id, thread_id |
ops |
kafka_stream.stream_task_metrics_process_rate |
Kafka Streams のタスクが 1 秒あたりに処理するレコード数。 | cloud_provider, cluster_name, host, task_id, thread_id |
ops |
kafka_stream.stream_thread_metrics_blocked_time_ns |
Kafka Streams のスレッドが待機によってブロックされた累積時間。 | cloud_provider, cluster_name, host, thread_id |
ns |
kafka_stream.stream_thread_metrics_commit_rate |
Kafka Streams のスレッドが 1 秒あたりに状態をコミットする回数。 | cloud_provider, cluster_name, host, thread_id |
ops |
kafka_stream.stream_thread_metrics_poll_latency_avg |
Kafka Streams のスレッドにおける poll 呼び出しの平均レイテンシー。 | cloud_provider, cluster_name, host, thread_id |
ms |
kafka_stream.stream_thread_metrics_poll_rate |
Kafka Streams のスレッドが 1 秒あたりに poll を実行する回数。 | cloud_provider, cluster_name, host, thread_id |
ops |
kafka_stream.stream_thread_metrics_task |
Kafka Streams のスレッドが作成した累積タスク数。 | cloud_provider, cluster_name, host, thread_id |
count |
kafka_stream.stream_thread_metrics_task_closed |
Kafka Streams のスレッドが終了した累積タスク数。 | cloud_provider, cluster_name, host, thread_id |
count |
kafka_stream.stream_thread_metrics_thread_start_time |
Kafka Streams のスレッド開始タイムスタンプ。 | cloud_provider, cluster_name, host, thread_id |
ms |
kafka_stream.stream_topic_metrics_bytes_consumed |
Kafka Streams が Topic から累計で消費したバイト数。 | cloud_provider, cluster_name, host, thread_id, topic |
B |
kafka_stream.stream_topic_metrics_bytes_produced |
Kafka Streams が Topic へ累計で生成したバイト数。 | cloud_provider, cluster_name, host, thread_id, topic |
B |
kafka_stream.stream_topic_metrics_records_consumed |
Kafka Streams のソースプロセッサーノードが累計で消費したレコード数。 | cloud_provider, cluster_name, host, processor_node_id, thread_id, topic |
count |
kafka_stream.stream_topic_metrics_records_produced |
Kafka Streams のシンクプロセッサーノードが累計で生成したレコード数。 | cloud_provider, cluster_name, host, processor_node_id, thread_id, topic |
count |
Kafka Connect メトリクス¶
kafka_connect メトリクスセットには、8 個の推奨メトリクスコンテキストが含まれます。
| メトリクス名 | メトリクス説明 | ディメンション | 単位 |
|---|---|---|---|
kafka_connect.worker_connector_count |
Kafka Connect Worker で現在稼働中の Connector 数。 | cloud_provider, cluster_name, host |
count |
kafka_connect.worker_connector_startup_attempts |
Kafka Connect Worker が Connector の起動を試行した累積回数。 | cloud_provider, cluster_name, host |
count |
kafka_connect.worker_connector_startup_failure_percentage |
Kafka Connect Worker における Connector 起動失敗率。 | cloud_provider, cluster_name, host |
percent |
kafka_connect.worker_rebalance_completed_rebalances |
Kafka Connect Worker で完了した再バランスの累積回数。 | cloud_provider, cluster_name, host |
count |
kafka_connect.worker_rebalance_time_since_last_rebalance_ms |
Kafka Connect Worker で直近の再バランス完了からの経過時間。 | cloud_provider, cluster_name, host |
ms |
kafka_connect.worker_task_startup_attempts |
Kafka Connect Worker が Task の起動を試行した累積回数。 | cloud_provider, cluster_name, host |
count |
kafka_connect.worker_task_startup_failure |
Kafka Connect Worker における Task 起動失敗の累積回数。 | cloud_provider, cluster_name, host |
count |
kafka_connect.worker_task_startup_failure_percentage |
Kafka Connect Worker における Task 起動失敗率。 | cloud_provider, cluster_name, host |
percent |