监控 Google Cloud Managed Service for Apache Kafka 集群

Managed Service for Apache Kafka 会收集可用于监控 Kafka 集群的指标。本页面介绍了如何在 控制台中 Google Cloud 查看这些指标。

概览

Managed Service for Apache Kafka 会导出开源 Kafka 发行版中的多个指标,以及服务专用指标,例如使用方群组偏移量延迟时间。

这些指标分为以下四个资源类别:

  • 集群:这些指标有助于维护 集群的整体健康状况。

  • 主题:这些指标包括发布者和使用方速率以及错误。 它们会监控 Kafka 应用的整体健康状况,以及特定于代理的问题。

  • 主题分区:这些指标旨在监控和调试 特定于各个分区的性能问题,例如键分布不均匀 。

  • 主题分区使用方群组:这些指标会监控 使用方应用的健康状况,主要是使用方延迟时间。使用方群组的开源 Kafka 错误指标无法按分区提供,只能在主题级提供。

某些指标可以按代理索引分组。您可以根据代理索引查找预配该代理的可用区。如需了解详情,请参阅 查看代理

查看 Kafka 集群的指标

您可以通过以下方式查看指标:

  • 集群详细信息 页面包含集群、主题和使用方群组的监控信息中心。这些信息中心包含预定义的图表,可让您了解集群的整体健康状况和性能。

  • 您可以使用 Metrics Explorer 查看所有可用指标、创建自定义图表或汇总多个集群的指标。

所需角色和权限

如要获得查看监控图表所需的权限,请让您的管理员为您授予项目的Managed Kafka Viewer (roles/managedkafka.Viewer) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。

使用监控信息中心

如需查看 Managed Service for Apache Kafka 集群的监控信息中心,请执行以下步骤:

  1. 在 Google Cloud 控制台中,前往 集群 页面。

    转到“集群”

  2. 点击集群的名称。

  3. 如需查看集群的指标,请选择监控 标签页。

  4. 如需查看集群中某个主题的指标,请执行以下操作:

    1. 选择资源 标签页。

    2. 主题 列表中,点击主题的名称。

    3. 主题详细信息 页面中,选择监控 标签页。

  5. 如需查看集群中某个使用方群组的指标,请执行以下操作:

    1. 选择资源 标签页。

    2. 使用方群组 列表中,点击使用方群组的名称。

    3. 使用方群组详细信息 页面中,选择监控 标签页。

如需了解详情,请参阅 查看 Kafka 集群

使用 Metrics Explorer

如需使用 Metrics Explorer 查看 Managed Service for Apache Kafka 指标,请执行以下步骤:

  1. 在 Google Cloud 控制台中,前往 Metrics Explorer 页面。

    转到 Metrics Explorer

  2. 配置 部分中,点击选择指标

  3. 在过滤条件中,输入 Apache Kafka

  4. 活跃资源 中,选择以下选项之一:

    • Apache Kafka 集群

    • Apache Kafka 主题

    • Apache Kafka 主题分区

    • Apache Kafka 主题分区使用方群组

  5. 选择一个指标,然后点击应用

如需详细了解 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_idtopic_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_idtopic_idpartition_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 每个分区的使用方群组的最新偏移量与上次提交的偏移量之间的差值 。此指标用于估算使用方尚未成功处理的生成消息数量。 不适用

后续步骤