Supervisa un clúster de Google Cloud Managed Service para Apache Kafka

Puedes usar la consola de Google Cloud o la API de Cloud Monitoring para supervisar Managed Service for Apache Kafka.

En esta sección, se proporciona una descripción general de las métricas de supervisión disponibles para supervisar Managed Service para Apache Kafka. En este documento, también se muestra cómo supervisar el uso de Managed Service for Apache Kafka en la consola de Google Cloud con Monitoring.

  • Si deseas ver métricas de otros recursos de Google Cloud además del conjunto completo de métricas de Managed Service para Apache Kafka, usa Monitoring.

  • De lo contrario, puedes usar los paneles de supervisión con una selección de métricas que se proporcionan en Managed Service para Apache Kafka. Para obtener más información, consulta los siguientes temas:

Descripción general de las métricas de Managed Service para Apache Kafka

Managed Service para Apache Kafka exporta varias métricas disponibles en la distribución de Kafka de código abierto, así como métricas específicas del servicio, como el rezago del desplazamiento del grupo de consumidores. Para la supervisión, el servicio de Managed Service para Apache Kafka se identifica con la URL del servicio managedkafka.googleapis.com.

Las métricas de Managed Service para Apache Kafka se organizan en cuatro categorías de recursos:

  • Clúster: Estas métricas están diseñadas para mantener el estado general del clúster.

  • Tema: Estas métricas incluyen las tasas de publicación y consumo, y los errores. Estas métricas supervisan el estado general de las aplicaciones de Kafka y los problemas específicos de un agente.

  • Partición de tema: Estas métricas están diseñadas para supervisar y depurar problemas de rendimiento específicos de particiones individuales. Un ejemplo es la distribución desigual de las claves.

  • Grupo de consumidores de particiones de temas: Estas métricas supervisan el estado de la aplicación del consumidor, principalmente el retraso del consumidor. Las métricas de error de Kafka de código abierto para los grupos de consumidores no están disponibles por partición, sino solo a nivel del tema.

Algunas métricas se pueden agrupar por intermediario. Si bien el servicio de Managed Service para Apache Kafka no expone los agentes como un recurso, supervisarlos es fundamental para detectar situaciones de falla, como la latencia debido a agentes sobrecargados.

Las métricas se nombran según la convención que incluye la URL de la API del servicio, el recurso supervisado y la métrica. Por ejemplo, el identificador de la métrica del tema message_in_count es managedkafka.googleapis.com/Topic/message_in_count.

Para acceder a estas métricas, consulta Cómo ver una sola métrica de Managed Service para Apache Kafka.

Antes de comenzar

Antes de usar Monitoring, asegúrate de haber preparado un proyecto de Managed Service para Apache Kafka con la facturación habilitada. Una forma de hacerlo es completar la guía de inicio rápido de Managed Service para Apache Kafka.

Roles y permisos requeridos

Para obtener los permisos que necesitas para ver los gráficos de supervisión, pídele a tu administrador que te otorgue el rol de IAM de Visualizador de Kafka administrado (roles/managedkafka.Viewer) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Para obtener más información sobre este rol, consulta Roles predefinidos de Managed Service para Apache Kafka.

Cómo ver una sola métrica de Managed Service para Apache Kafka

Para ver una sola métrica de Managed Service for Apache Kafka con la consola de Google Cloud , sigue estos pasos:

  1. En la consola de Google Cloud , dirígete a la página Monitoring.

    Ir a Monitoring

  2. En el panel de navegación, selecciona el Explorador de métricas.

  3. En la sección Configuración, haz clic en Seleccionar una métrica.

  4. En el filtro, ingresa Apache Kafka.

  5. En Recursos activos, selecciona una de las siguientes opciones:

    • Clúster de Apache Kafka

    • Tema de Apache Kafka

    • Partición de tema de Apache Kafka

    • Grupo de consumidores de particiones de temas de Apache Kafka

  6. Selecciona una métrica y haz clic en Aplicar.

    Se abrirá la página de una métrica específica.

Puedes obtener más información sobre el panel de supervisión en la documentación de Cloud Monitoring.

Métricas del clúster

Métrica Descripción Nombre de MBean equivalente
cpu/core_usage_time Uso acumulado de CPU del clúster en CPU virtuales. Esto puede ser útil para comprender el costo general de operación del clúster. N/A
cpu/limit Es la cantidad actual de CPU configuradas para el clúster. Se puede usar para supervisar el uso de CPU como una proporción con la métrica cpu/usage. N/A
memory/usage Uso actual de RAM en el clúster. Se puede usar para supervisar la utilización de la RAM como una proporción con la métrica memory/limit. N/A
memory/limit Es el tamaño de RAM configurado actual del clúster. Se puede usar para supervisar la utilización de la RAM como una proporción con la métrica memory/usage. N/A
cluster_byte_in_count Es la cantidad total de bytes de los clientes que se enviaron a todos los temas. kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
cluster_byte_out_count Es la cantidad total de bytes enviados a los clientes desde todos los temas. kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec
cluster_message_in_count Es la cantidad total de mensajes que se publicaron en todos los temas. kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec
request_count Cantidad total de solicitudes realizadas al agente kafka.network:type=RequestMetrics,name=RequestsPerSec,request= {Produce|FetchConsumer|FetchFollower},version=([0-9]+)
request_byte_count Tamaño total, en bytes, de las solicitudes realizadas al clúster. kafka.network:type=RequestMetrics,name=RequestBytes,request= ([-.\w]+)
particiones Es la cantidad actual de particiones que controla este clúster, desglosada por broker. kafka.server:type=ReplicaManager,name=PartitionCount
request_latencies Cantidad de milisegundos que tardó cada solicitud, en varios percentiles kafka.network:type=RequestMetrics,name=TotalTimeMs,request= {Produce|FetchConsumer|FetchFollower}
consumer_groups Cantidad actual de grupos de consumidores que consumen datos del agente kafka.server:type=GroupMetadataManager,name=NumGroups
offline_partitions Es la cantidad de particiones de temas sin conexión que observa el controlador. kafka.controller:type=KafkaController,name=OfflinePartitionCount

Métricas de temas

Métrica Descripción Nombre de MBean equivalente
message_in_count Es la cantidad total de mensajes publicados en el tema. kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec, topic=([-.\w]+)
byte_in_count Es la cantidad total de bytes de los clientes que se enviaron al tema. kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=([-.\w]+)
topic_request_count Es la cantidad total de solicitudes de producción y recuperación realizadas en el tema. kafka.server:type=BrokerTopicMetrics,name=TotalProduceRequestsPerSec,topic=([-.\w]+)
kafka.server:type=BrokerTopicMetrics,name=TotalFetchRequestsPerSec,topic=([-.\w]+)
topic_error_count Es la cantidad total de solicitudes de producción y recuperación con errores que se realizaron en el tema. kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec,topic=([-.\w]+)
kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec,topic=([-.\w]+)
byte_out_count Es la cantidad total de bytes enviados a los clientes. kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec, topic=([-.\w]+)

Métricas de partición

Métrica Descripción Nombre de MBean equivalente
consumer_lag Es el retraso de replicación en mensajes entre el líder y cada réplica de seguidor. kafka.server:type=FetcherLagMetrics,name=ConsumerLag,clientId=([-.\w]+),topic=([-.\w]+),partition=([0-9]+)
log_segments Es la cantidad actual de segmentos de registro. Esto es útil para garantizar que la jerarquización del almacenamiento siga siendo adecuada. kafka.log:type=Log,name=NumLogSegments,topic=([-.\w]+),partition=([0-9]+)
first_offset Es el primer desplazamiento para cada partición del tema. En combinación con last_offset, se puede usar para supervisar un límite superior en la cantidad total de mensajes almacenados, así como para encontrar el desplazamiento real del mensaje más antiguo. kafka.log:type=Log,name=LogStartOffset,topic=([-.\w]+),partition=([0-9]+)
last_offset Es el último desplazamiento en la partición. Se puede usar para encontrar el desplazamiento más reciente de cada partición a lo largo del tiempo. Esto puede ser útil para identificar el desplazamiento específico necesario para volver a procesar los datos a partir de un momento determinado en el pasado. kafka.log:type=Log,name=LogEndOffset,topic=([-.\w]+),partition=([0-9]+)
byte_size Es el tamaño de la partición en el disco en bytes. -

Métricas de grupos de consumidores

Métrica Descripción Nombre de MBean equivalente
Offset_lag La diferencia entre el desplazamiento más reciente y el último desplazamiento confirmado para el grupo de consumidores de cada partición. Esta métrica estima cuántos mensajes producidos aún no procesó correctamente el consumidor. N/A

¿Qué sigue?