Managed Service for Apache Kafka 會收集指標,供您監控 Kafka 叢集。本頁說明如何在 Google Cloud 控制台中查看這些指標。
總覽
Managed Service for Apache Kafka 會匯出開放原始碼 Kafka 發行版本提供的多項指標,以及消費者群組偏移延遲等服務專屬指標。
指標分為四個資源類別:
叢集:這些指標有助於維持叢集的整體健康狀態。
主題:這些指標包括發布者和消費者費率與錯誤。 他們會監控 Kafka 應用程式的整體健康狀態,以及代理程式的特定問題。
主題分割區:這些指標用於監控及偵錯個別分割區的特定效能問題,例如鍵值分配不均。
主題分割區消費者群組:這些指標會監控消費者應用程式的健康狀態,主要是消費者延遲。開放原始碼 Kafka 用戶群組的錯誤指標無法依分區提供,只能在主題層級提供。
部分指標可依經紀人索引分組。根據代理程式索引,您可以查詢佈建該代理程式的區域。詳情請參閱「查看經紀人」。
查看 Kafka 叢集的指標
您可以透過下列方式查看指標:
「叢集詳細資料」頁面包含叢集、主題和消費者群組的監控資訊主頁。這些資訊主頁包含預先定義的圖表,可讓您查看叢集的整體健康狀態和效能。
您可以使用 Metrics Explorer 查看所有可用指標、建立自訂圖表,或匯總多個叢集中的指標。
必要角色和權限
如要取得查看監控圖表所需的權限,請要求管理員授予您專案的「Managed Kafka 檢視者」 (roles/managedkafka.Viewer) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
如要進一步瞭解這個角色,請參閱「Managed Service for Apache Kafka 預先定義的角色」。
使用監控資訊主頁
如要查看 Managed Service for Apache Kafka 叢集的監控資訊主頁,請執行下列步驟:
前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
按一下叢集名稱。
如要查看叢集的指標,請選取「監控」分頁標籤。
如要查看叢集中某個主題的指標,請按照下列步驟操作:
選取「資源」分頁標籤。
在「Topics」(主題) 清單中,按一下主題名稱。
在「主題詳細資料」頁面中,選取「監控」分頁標籤。
如要查看叢集中消費者群組的指標,請按照下列步驟操作:
選取「資源」分頁標籤。
在「消費者群組」清單中,按一下消費者群組的名稱。
在「Consumer group details」(消費者群組詳細資料) 頁面中,選取「Monitoring」(監控) 分頁標籤。
詳情請參閱「查看 Kafka 叢集」。
使用 Metrics Explorer
如要使用 Metrics Explorer 查看 Managed Service for Apache Kafka 指標,請執行下列步驟:
前往 Google Cloud 控制台的「指標探索器」頁面。
在「設定」部分中,按一下「選取指標」。
在篩選條件中輸入
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 服務是由服務網址 managedkafka.googleapis.com 所識別。
叢集指標
以下指標適用於叢集。如要查看特定叢集的指標,請依 cluster_id 標籤篩選。
| 指標 | 說明 | 對等 MBean 名稱 |
|---|---|---|
cpu/core_usage_time |
叢集的累計 CPU 使用量 (以 vCPU 為單位)。這有助於瞭解叢集的整體作業成本。 | 不適用 |
cpu/limit |
叢集目前設定的 CPU 數量。可用於監控 CPU 使用率,以 cpu/usage 指標表示比率。 |
不適用 |
memory/usage |
叢集目前的 RAM 使用量。可用於監控 RAM 使用率,以 memory/limit 指標表示。 |
不適用 |
memory/limit |
叢集目前設定的 RAM 大小。可用於監控 RAM 使用率,以 memory/usage 指標表示。 |
不適用 |
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 |
每個分區的最新位移和消費者群組上次提交的位移之間的差異。這項指標會估算消費者尚未成功處理的產生訊息數量。 | 不適用 |