Managed Service for Apache Kafka は、Kafka クラスタのモニタリングに使用できる指標を収集します。このページでは、 Google Cloud コンソールでこれらの指標を表示する方法について説明します。
概要
Managed Service for Apache Kafka は、オープンソースの Kafka ディストリビューションで使用可能な複数の指標と、コンシューマー グループのオフセット ラグなどのサービス固有の指標をエクスポートします。
指標は、次の 4 つのリソース カテゴリに分類されます。
クラスタ: これらの指標は、クラスタの全体的な健全性を維持するのに役立ちます。
トピック: パブリッシャーとコンシューマーのレートとエラーが含まれます。Kafka アプリケーションの全体的な健全性と、ブローカー固有の問題をモニタリングします。
トピック パーティション: これらの指標は、キーの分布の不均一など、個々のパーティションに固有のパフォーマンスの問題をモニタリングしてデバッグすることを目的としています。
トピック パーティション コンシューマー グループ: これらの指標は、主にコンシューマー ラグなど、コンシューマー アプリケーションの健全性をモニタリングします。コンシューマー グループのオープンソース Kafka エラー指標は、パーティション別には使用できません。トピック レベルでのみ使用できます。
一部の指標はブローカー インデックスでグループ化できます。ブローカー インデックスに基づいて、そのブローカーがプロビジョニングされているゾーンを検索できます。詳細については、ブローカーを表示するをご覧ください。
Kafka クラスタの指標を表示する
指標は次の方法で表示できます。
[クラスタの詳細] ページには、クラスタ、トピック、コンシューマー グループのモニタリング ダッシュボードが含まれています。これらのダッシュボードには、クラスタの全体的な健全性とパフォーマンスを確認できる事前定義されたグラフが含まれています。
Metrics Explorer を使用すると、利用可能なすべての指標を表示したり、カスタムグラフを作成したり、複数のクラスタ間で指標を集計したりできます。
必要なロールと権限
モニタリング グラフを表示するために必要な権限を取得するには、プロジェクトに対する Managed Kafka 閲覧者 (roles/managedkafka.Viewer)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
モニタリング ダッシュボードを使用する
Managed Service for Apache Kafka クラスタのモニタリング ダッシュボードを表示する手順は次のとおりです。
Google Cloud コンソールで、[クラスタ] ページに移動します。
クラスタの名前をクリックします。
クラスタの指標を表示するには、[モニタリング] タブを選択します。
クラスタ内のトピックの指標を表示するには:
[リソース] タブを選択します。
[トピック] リストで、トピックの名前をクリックします。
[トピックの詳細] ページで、[モニタリング] タブを選択します。
クラスタ内のコンシューマー グループの指標を表示するには:
[リソース] タブを選択します。
[コンシューマー グループ] リストで、コンシューマー グループの名前をクリックします。
[コンシューマー グループの詳細] ページで、[モニタリング] タブを選択します。
詳細については、Kafka クラスタを表示するをご覧ください。
Metrics Explorer を使用する
Metrics Explorer を使用して Managed Service for Apache Kafka の指標を表示する手順は次のとおりです。
Google Cloud コンソールで、Metrics Explorer のページに移動します。
[構成] セクションで [指標を選択] をクリックします。
フィルタに「
Apache Kafka」と入力します。[アクティブなリソース] で、次のいずれかを選択します。
Apache Kafka クラスタ
Apache Kafka トピック
Apache Kafka トピック パーティション
Apache Kafka トピック パーティション コンシューマー グループ
指標を選択して [適用] をクリックします。
Metrics Explorer の詳細については、Metrics Explorer でグラフを作成するをご覧ください。
Managed Service for Apache Kafka の指標
次の表に、Kafka クラスタとクラスタ リソースのモニタリングによく使用される指標を示します。使用可能な指標の一覧については、Google Cloud 指標をご覧ください。
Managed Service for Apache Kafka サービスは、サービス URL managedkafka.googleapis.com で識別されます。
クラスタ指標
次の指標はクラスタに適用されます。特定のクラスタの指標を表示するには、cluster_id ラベルでフィルタします。
| 指標 | 説明 | 同等の MBean 名 |
|---|---|---|
cpu/core_usage_time |
クラスタの累積 CPU 使用率(vCPU 単位)。これは、クラスタの運用費用の全体像を把握するうえで役立ちます。 | なし |
cpu/limit |
クラスタに構成されている現在の CPU 数。cpu/usage 指標を使用して、CPU 使用率を比率としてモニタリングするために使用できます。 |
なし |
memory/usage |
クラスタの現在の RAM 使用量。memory/limit 指標を使用して、RAM 使用率を比率としてモニタリングするために使用できます。 |
なし |
memory/limit |
クラスタの現在の構成済み RAM サイズ。memory/usage 指標を使用して、RAM 使用率を比率としてモニタリングするために使用できます。 |
なし |
cluster_byte_in_count |
すべてのトピックに送信されたクライアントからのバイト数の合計。 | kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec |
cluster_byte_out_count |
すべてのトピックからクライアントに送信されたバイト数の合計。 | kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec |
cluster_message_in_count |
すべてのトピックにパブリッシュされたメッセージの総数。 | kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec |
request_count |
ブローカーに送信されたリクエストの総数 | kafka.network:type=RequestMetrics,name=RequestsPerSec,request=
{Produce|FetchConsumer|FetchFollower},version=([0-9]+) |
request_byte_count |
クラスタに対して行われたリクエストの合計サイズ(バイト単位)。 | kafka.network:type=RequestMetrics,name=RequestBytes,request=
([-.\w]+) |
partitions |
このクラスタが処理する現在のパーティション数(ブローカー別)。 | kafka.server:type=ReplicaManager,name=PartitionCount |
request_latencies |
さまざまなパーセンタイルで、各リクエストにかかったミリ秒数 | kafka.network:type=RequestMetrics,name=TotalTimeMs,request=
{Produce|FetchConsumer|FetchFollower} |
consumer_groups |
ブローカーから消費しているコンシューマー グループの現在の数 | kafka.server:type=GroupMetadataManager,name=NumGroups |
offline_partitions |
コントローラによって観測されたオフライン トピック パーティションの数。 | kafka.controller:type=KafkaController,name=OfflinePartitionCount |
トピックの指標
次の指標はトピックに適用されます。特定のトピックの指標を表示するには、cluster_id ラベルと topic_id ラベルでフィルタします。
| 指標 | 説明 | 同等の MBean 名 |
|---|---|---|
message_in_count |
トピックにパブリッシュされたメッセージの総数。 | kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec,
topic=([-.\w]+) |
byte_in_count |
クライアントからトピックに送信された合計バイト数。 | kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=([-.\w]+) |
topic_request_count |
トピックに対して行われた生成リクエストとフェッチ リクエストの合計数。 | kafka.server:type=BrokerTopicMetrics,name=TotalProduceRequestsPerSec,topic=([-.\w]+)kafka.server:type=BrokerTopicMetrics,name=TotalFetchRequestsPerSec,topic=([-.\w]+) |
topic_error_count |
トピックに対して行われた失敗した生成リクエストと失敗したフェッチ リクエストの合計数。 | kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec,topic=([-.\w]+)kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec,topic=([-.\w]+) |
byte_out_count |
クライアントに送信されたバイト数の合計。 | kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec,
topic=([-.\w]+) |
パーティション指標
次の指標はパーティションに適用されます。トピック内の特定のパーティションの指標を表示するには、cluster_id、topic_id、partition_index ラベルでフィルタします。
| 指標 | 説明 | 同等の MBean 名 |
|---|---|---|
consumer_lag |
リーダーと各フォロワー レプリカ間のメッセージのレプリケーション ラグ。 |
kafka.server:type=FetcherLagMetrics,name=ConsumerLag,clientId=([-.\w]+),topic=([-.\w]+),partition=([0-9]+)
|
log_segments |
現在のログセグメントの数。これは、ストレージ ティアリングが正常な状態を維持するために役立ちます。 | kafka.log:type=Log,name=NumLogSegments,topic=([-.\w]+),partition=([0-9]+) |
first_offset |
トピック内の各パーティションの最初のオフセット。last_offset と組み合わせて使用すると、保存されているメッセージの総数の上限をモニタリングしたり、最も古いメッセージの実際のオフセットを見つけたりできます。 |
kafka.log:type=Log,name=LogStartOffset,topic=([-.\w]+),partition=([0-9]+) |
last_offset |
パーティション内の最後のオフセット。これは、各パーティションの最新のオフセットを時間の経過とともに見つけるために使用できます。これは、過去の特定の時点からデータを再処理するために必要な特定のオフセットを特定するのに役立ちます。 | kafka.log:type=Log,name=LogEndOffset,topic=([-.\w]+),partition=([0-9]+) |
byte_size |
ディスク上のパーティションのサイズ(バイト単位)。 | なし |
コンシューマー グループの指標
次の指標はコンシューマー グループに適用されます。特定のコンシューマー グループの指標を表示するには、consumer_group_id ラベルでフィルタします。
| 指標 | 説明 | 同等の MBean 名 |
|---|---|---|
offset_lag |
各パーティションのコンシューマー グループの最新のオフセットと最後にコミットされたオフセットの差。この指標は、コンシューマーがまだ正常に処理していない生成済みメッセージの数を見積もります。 | なし |