クラスターメトリクスのモニタリングおよびリンクの最適化¶
Looking for Confluent Cloud Cluster Linking docs? You are currently viewing Confluent Platform documentation. If you are looking for Confluent Cloud docs, check out Cluster Linking on Confluent Cloud.
重要
この機能はプレビュー機能として利用できます。プレビュー機能は Confluent Platform のコンポーネントであり、開発者から早期にフィードバックをもらうために導入されています。この機能は、評価用、本稼働環境以外でのテスト用、あるいは Confluent にフィードバックを提供するために使用できます。
Confluent Platform は、Java Management Extensions(JMX)を使用して、Cluster Linking のモニタリングに役立ついくつかのメトリクスを公開しています。それらのメトリクスの一部は既存のインターフェイスを拡張することで派生したものであり、その他は Cluster Linking で新規に作成されたものです。
Cluster Linking をモニタリングするには、クラスターを起動する前に JMX_PORT
環境変数を設定し、通常のモニタリングツールを使用して、レポートされるメトリクスを収集します。Kafka からの JMX メトリクスの収集およびレポーティングには、JMXTrans、Graphite、および Grafana の組み合わせがよく使用されています。別のモニタリングソリューションとして、Datadog もよく使用されています。
可能な限り、メトリクスは関連付けられているリンク名ごとに分類されます。
また、 クォータ を設定して、Cluster Linking で使用されるリソースおよび帯域幅を制限すると、システムを最適化するのに役立ちます。
クラスターリンク Fetcher のメトリクス¶
- kafka.server.link:type=ClusterLinkFetcherManager,name=MaxLag,clientId=ClusterLink,link-name={linkName}
- 送信先クラスターのレプリカと送信元クラスターのリーダーレプリカの間の最大遅延。クラスターリンクの全体的なヘルス、および送信先クラスターで処理が遅れているかどうかの相対的測定が示されます。
- kafka.server:type=FetcherLagMetrics,name=ConsumerLag,clientId=ClusterLinkFetcherThread-{destBrokerId}-{linkName}-{sourceBrokerId},topic={topic},partition={partition},link-name={linkName}
MaxLag
の詳細情報であり、送信元クラスターのリーダーレプリカからの送信先クラスターのレプリカごとのメッセージ数で遅延が示されます。送信先クラスターで遅延が発生している特定のトピックパーティションまたはレプリカをデバッグするのに役立ちます。- kafka.server.link:type=ClusterLinkFetcherManager,name=DeadThreadCount,clientId=ClusterLink,link-name={linkName}
ClusterLinkThread
タイプのデッドスレッドの数です。デッドスレッドは、送信元クラスターからのパーティションに対するフェッチで問題が発生していることを表しています。- kafka.server:type=FetcherStats,name=BytesPerSec,clientId=ClusterLinkFetcherThread-{destBrokerId}-{linkName}-{sourceBrokerId},brokerHost={host},brokerPort={port},link-name={linkName}
- データが送信元クラスターからフェッチされるレートです。クラスターリンクでのスループットが 1 秒あたりのバイト数で表されています。
- kafka.server:type=FetcherStats,name=RequestsPerSec,clientId=ClusterLinkFetcherThread-{destBrokerId}-{linkName}-{sourceBrokerId}, brokerHost={host},brokerPort={port},link-name={linkName}
- クラスターリンク経由で送信元クラスターにリクエストが発行されるレートです。
クラスターリンク Fetcher のスロットル時間メトリクス¶
- kafka.server:type=cluster-link,link-name={linkName}
- スロットル時間メトリクスは、クラスターリンク接続が抑制されていることを表している可能性があり、クラスターリンクで遅延が増大している理由を把握するのに役立ちます。
名前 | 説明 |
---|---|
fetch-throttle-time-avg 、fetch-throttle-time-max |
クラスターリンク Fetcher のスロットル時間が示されます。スロットリングまたはクォータが適用されているために、クラスターリンクで遅延が増大していることを表している可能性があります。 |
クラスターリンクのネットワーククライアントのメトリクス¶
- kafka.server:type=cluster-link-metadata-metrics,link-name={linkName}
- クラスターリンクでのメタデータリフレッシュクライアントに関するメトリクス。
- kafka.server:type=cluster-link-fetcher-metrics,link-name={linkName},broker-id={id},fetcher-id={id}
- クラスターリンクでのデータ Fetcher リクエストに関するメトリクス。
cluster-link-fetcher-metrics
で確認できるメトリクスを次の表に示しています。
名前 | 説明 |
---|---|
connection-count |
クラスターリンクに対する接続数 |
connection-creation-rate 、connection-creation-total |
クラスターリンクに対して作成された接続の、1 秒あたりのレートおよび総数です。このレートが大きい場合は、送信元クラスターが接続で過負荷になっている可能性があります。 |
connection-close-rate 、connection-close-total |
クラスターリンクに対して終了された接続の、1 秒あたりのレートおよび総数です。接続の作成数と比較することで、接続の作成と終了のバランスを把握することができます。 |
incoming-byte-rate 、incoming-byte-total |
送信元クラスターから受信された、1 秒あたりのバイト数および総バイト数です。 |
outgoing-byte-rate 、outgoing-byte-total |
送信元クラスターに送信された、1 秒あたりのバイト数および総バイト数です。 |
network-io-rate 、network-io-total |
ネットワーク入力および出力(IO)のレートおよび総バイト数です。 |
request-rate 、request-total |
クラスターリンク経由で送信元クラスターに発行されたリクエストの、1 秒あたりのレートおよび総数です。 |
response-rate 、response-total |
クラスターリンク経由で送信元クラスターから受信されたレスポンスの、1 秒あたりのレートおよび総数です。 |
request-size-avg 、request-size-max |
クラスターリンク経由で送信元クラスターに発行されたリクエストのサイズ(バイト数)の、平均値および最大値です。 |
io-ratio 、io-wait-time-ns-avg 、io-waittime-total 、iotime-total |
クラスターリンク経由のリクエストに対する送信先クラスターのネットワーク IO の統計情報です。 |
successful-authentication-rate 、successful-authentication-total |
クラスターリンク経由で送信元クラスターに認証されたクラスターリンククライアント数の、1 秒あたりのレートおよび総数。 |
successful-reauthentication-rate 、successful-reauthentication-total |
クラスターリンク経由での送信元クラスターの再認証成功の、1 秒あたりのレートおよび総数です。 |
failed-reauthentication-rate 、failed-reauthentication-total |
クラスターリンク経由での送信元クラスターの再認証失敗の、1 秒あたりのレートおよび総数。再認証の失敗がある場合は、クラスターリンクの認証情報が誤って構成されているか期限切れである可能性があることを表しています。 |
reauthentication-latency-avg |
再認証の平均レイテンシです。クライアントがクラスターで認証を受けるのに時間がかかりすぎているかどうかを評価するのに役立ちます。 |
クラスターリンク API へのメトリクスのリクエスト¶
- kafka.network:type=RequestMetrics,name={ LocalTimeMs| RemoteTimeMs | RequestBytes | RequestQueueTimeMs| ResponseQueueTimeMs | ResponseSendIoTimeMs | ResponseSendTimeMs | ThrottleTimeMs| TotalTimeMs },request={CreateClusterLinks| DeleteClusterLinks| ListClusterLinks}
- リクエスト名に応じて、クラスターリンクでのリクエストに関する統計情報(リクエストとレスポンスの回数、キューでのリクエストの待機時間、リクエストのサイズ(バイト数)など)が提供されます。
- kafka.server:type=DelayedOperationPurgatory,name=PurgatorySize,delayedOperation=ClusterLink
- クラスターリンクで遅延が発生した操作に関するメトリクスが提供されます。
送信先クラスターのメトリクス¶
Confluent Platform 6.0.0 以降の Cluster Linking のプレビューでは、送信先クラスター内のブローカーで、Cluster Linking に特有の以下のブローカーメトリクスを利用できます。
- kafka.server:type=cluster-link-metrics,name=mirror-partition-count,link-name={linkName}
- そのブローカーがリーダーである、アクティブなミラーパーティションの数です。
- kafka.server:type=cluster-link-metrics,name=failed-mirror-partition-count,link-name={linkName}
- そのブローカーがリーダーである、障害が発生したミラーパーティションの数です。送信元パーティションのエポック時刻が戻されている(たとえば、トピックが再作成された)場合に、パーティションが障害発生状態になっていることがあります。
- kafka.server:type=cluster-link-metrics,name=(linked-leader-epoch-change-rate, linked-leader-epoch-change-total), link-name={linkName}
送信元のリーダーの変更によってこのブローカーでリーダー選出がトリガーされた、1 秒あたりの回数および総数です。
- リーダー選出が頻繁にトリガーされる場合は、送信元クラスターに問題があることを表している可能性があります。オンプレミスから Confluent Cloud への移行時に、送信元クラスターに問題があるかどうかを判断するのに役立つことがあります。
- kafka.server:type=cluster-link-metrics,name=(linked-topic-partition-addition-rate, linked-topic-partition-addition-total),link-name={linkName}
送信元の変更によってパーティション数が更新された、1 秒あたりの回数および総数。
- パーティション数の更新の回数またはレートが多い場合は、送信元クラスターに問題があることを表している可能性があります。
- kafka.server:type=cluster-link-metrics,name=(consumer-offset-committed-rate, consumer-offset-committed-total),link-name={linkName}
クラスターリンクに対してコミットされた Consumer オフセットの、1 秒あたりの数および総数です。
- フェイルオーバー対応シナリオで重要なメトリックである、オフセットの移行が正しく発生しているかどうかを確認するのに役立ちます。
- kafka.server:type=cluster-link-metrics,name=(topic-config-update-rate, topic-config-update-total),link-name={linkName}
送信元トピック構成の変更によってトピック構成が更新された、1 秒あたりの回数および総数。
- 構成が伝播されていないという問題のトラブルシューティングおよびデバッグに役立つことがあります。
- kafka.server:type=cluster-link-metrics,name=(acls-added-rate, acls-added-total),link-name={linkName}
- 各リンクに対して追加されているアクセス制御リスト(ACL)の、1 秒あたりの数および総数です。
- kafka.server:type=cluster-link-metrics,name=(acls-deleted-rate, acls-deleted-total),link-name={linkName
- 各リンクに対して削除されているアクセス制御リスト(ACL)の、1 秒あたりの数および総数です。
- kafka.server:type=cluster-link-metrics,name=link-count
- クラスター内のクラスターリンクの総数です。
- kafka.server:type=cluster-link-metrics,name=global-active-mirror-topic-count
- アクティブな(正常な)ミラートピックの総数です。
- kafka.server:type=cluster-link-metrics,name=global-stopped-mirror-topic-count
- ミラーリングが一時的に停止しているミラートピックの総数です。
- kafka.server:type=cluster-link-metrics,name=global-failed-mirror-topic-count
- 障害が発生してミラーリングを続行できないミラートピックの総数です。
送信元クラスターのメトリクス¶
送信元クラスターはクラスターリンクを認識していませんが、リンク固有の認証情報を割り当てることによって、クラスターリンク関連の使用状況をモニタリングできます。各認証情報のクォータメトリクスは、ユーザーのクォータが有効になっている場合に Kafka と Confluent Platform の両方で利用できます。
- kafka.server:type=Fetch,user={linkPrincipal},client-id={optionalLinkClientId}
- byte-rate
- throttle-time
- kafka.server:type=Request,user={linkPrincipal},client-id={optionalLinkClientId}
- request-time
- throttle-time
リソースおよび帯域幅の使用量に関するクォータ¶
さまざまなタイプのクォータを設定することによって、送信元クラスターおよび送信先クラスターの Cluster Linking で使用されるリソースおよび帯域幅に上限を設けることができます。
送信先クラスターのクォータ¶
ブローカー構成 confluent.cluster.link.io.max.bytes.per.second
を設定することによって、送信先クラスターの各ブローカーでのクラスターリンクの総使用量を制限することができます。
送信元クラスターのクォータ¶
送信元クラスターはクラスターリンクを認識していませんが、リンク固有の認証情報を割り当てて、リンクプリンシパルに対してクォータを割り当てることによって、クラスターリンクの使用量を制限することができます。
- クラスターリンクの各プリンシパルに対するフェッチのバイトレート(レプリケーションのスループット)。
- クラスターリンクの各プリンシパルに対するリクエストレートのクォータ(CPU およびスレッドの使用率)。この値には、メタデータと構成同期、および ACL と Consumer オフセットの移行に対する CPU 使用率も含まれています。
おすすめの関連情報¶
- Confluent Platform のメトリクスの一覧については「Kafka のモニタリング」を参照してください。
- JMX エンドポイントを使用したメトリクスのレポーティングおよびモニタリング については Apache Kafka® のドキュメンテーションを参照してください。