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 叢集的監控資訊主頁,請執行下列步驟:
前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
按一下叢集名稱。
如要查看叢集的指標,請選取「監控」分頁標籤。
如要查看叢集中某個主題的指標,請按照下列步驟操作:
選取「資源」分頁標籤。
在「Topics」(主題) 清單中,按一下主題名稱。
在「主題詳細資料」頁面中,選取「監控」分頁標籤。
如要查看叢集中消費者群組的指標,請按照下列步驟操作:
選取「資源」分頁標籤。
在「消費者群組」清單中,按一下消費者群組名稱。
在「Consumer group details」(消費者群組詳細資料) 頁面中,選取「Monitoring」(監控) 分頁標籤。
詳情請參閱「查看 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 服務是由服務網址 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 指標表示。 |
不適用 |
jvm/memory_area/bytes_used |
代理程式和控制器使用的特定 JVM 記憶體區域 (例如堆積或非堆積) 位元組。 | java.lang:type=Memory,HeapMemoryUsage.usedjava.lang:type=Memory,NonHeapMemoryUsage.used |
jvm/memory_area/bytes_committed |
經紀人和控制器的特定 JVM 記憶體區域 (例如堆積或非堆積) 的已提交位元組。 | java.lang:type=Memory,HeapMemoryUsage.committedjava.lang:type=Memory,NonHeapMemoryUsage.committed |
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 |
每個分區的最新位移與消費者群組最後一次提交的位移之間的差異。這項指標會估算消費者尚未成功處理的產生訊息數量。 | 不適用 |