Managed Service for Apache Kafka は、Kafka クラスタのモニタリングに使用できる指標を収集します。このページでは、コンソールでこれらの指標 を表示する方法について説明します。 Google Cloud
指標は次の方法で表示できます。
[クラスタの詳細] ページには、クラスタ、トピック、コンシューマー グループのモニタリング ダッシュボードが表示されます。これらのダッシュボードには、クラスタの全体的な健全性とパフォーマンスを確認できる事前定義のグラフが含まれています。
Metrics Explorer を使用すると、 使用可能なすべての指標を表示したり、カスタムグラフを作成したり、 複数のクラスタにわたって指標を集計したりできます。
概要
Managed Service for Apache Kafka は、オープンソースの Kafka ディストリビューションで使用可能な複数の指標と、コンシューマー グループのオフセット ラグなどのサービス固有の指標をエクスポートします。モニタリングの場合、Managed Service for Apache Kafka サービスはサービス URL managedkafka.googleapis.com で識別されます。
指標は、次の 4 つのリソース カテゴリに分類されます。
クラスタ: これらの指標は、 クラスタの全体的な健全性を維持するのに役立ちます。
トピック: これらの指標には、パブリッシャーとコンシューマーのレートとエラーが含まれます。 Kafka アプリケーションの全体的な健全性と、ブローカーに固有の問題をモニタリングします。
トピック パーティション: これらの指標は、キーの 分布の不均一など、個々のパーティションに固有の パフォーマンスの問題をモニタリングしてデバッグすることを目的としています。
トピック パーティション コンシューマー グループ: これらの指標は、 コンシューマー アプリケーションの健全性(主にコンシューマー ラグ)をモニタリングします。コンシューマー グループのオープンソース Kafka エラー指標は、パーティション別には使用できず、トピック レベルでのみ使用できます。
一部の指標は、ブローカー インデックスでグループ化できます。ブローカー インデックスに基づいて、そのブローカーがプロビジョニングされているゾーンを検索できます。詳細については、 ブローカーを表示するをご覧ください。
始める前に
- アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Managed Kafka API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Managed Kafka API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
必要なロールと権限
モニタリング グラフを表示するために必要な権限を取得するには、プロジェクトに対する Managed Kafka 閲覧者 (roles/managedkafka.Viewer)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
必要な権限は、カスタム ロールや他の事前定義 ロールから取得することもできます。
このロールの詳細については、 Managed Service for Apache Kafka の事前定義ロールをご覧ください。
モニタリング ダッシュボードを表示する
Managed Service for Apache Kafka クラスタのモニタリング ダッシュボードを表示する手順は次のとおりです。
コンソールで、[クラスタ] ページに移動します。 Google Cloud
クラスタの名前をクリックします。
クラスタの指標を表示するには、[モニタリング] タブを選択します。
クラスタ内のトピックの指標を表示するには:
[リソース] タブを選択します。
[トピック] リストで、トピックの名前をクリックします。
[トピックの詳細] ページで、[モニタリング] タブを選択します。
クラスタ内のコンシューマー グループの指標を表示するには:
[リソース] タブを選択します。
[コンシューマー グループ] リストで、コンシューマー グループの名前をクリックします。
[コンシューマー グループの詳細] ページで、[モニタリング] タブを選択します。
詳細については、 Kafka クラスタを表示するをご覧ください。
Metrics Explorer で指標を表示する
Metrics Explorer を使用して Managed Service for Apache Kafka の指標を表示する手順は次のとおりです。
コンソールで、Metrics Explorer のページに移動します。 Google Cloud
[構成] セクションで [指標を選択] をクリックします。
フィルタに「
Apache Kafka」と入力します。[有効なリソース] で、次のいずれかを選択します。
Apache Kafka クラスタ
Apache Kafka トピック
Apache Kafka トピック パーティション
Apache Kafka トピック パーティション コンシューマー グループ
指標を選択して [適用] をクリックします。
Metrics Explorer の詳細については、 Metrics Explorer でグラフを作成するをご覧ください。
Managed Service for Apache Kafka の指標
次の表に、Kafka クラスタとクラスタ リソースのモニタリングによく使用される指標を示します。使用可能な指標の一覧については、 Google Cloud 指標をご覧ください。
クラスタ指標
次の指標はクラスタに適用されます。特定のクラスタの指標を表示するには、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 |
各パーティションのコンシューマー グループの最新のオフセットと最後に commit されたオフセットの差。この指標は、コンシューマーがまだ正常に処理していない生成済みメッセージの数を推定します。 | なし |
次のステップ
Managed Service for Apache Kafka のすべての指標を表示する