Monitorar um cluster do Serviço gerenciado do Google Cloud para Apache Kafka

O Serviço Gerenciado para Apache Kafka coleta métricas que podem ser usadas para monitorar seus clusters do Kafka. Nesta página, descrevemos como visualizar essas métricas no console do Google Cloud .

Visão geral

O Serviço Gerenciado para Apache Kafka exporta várias métricas disponíveis na distribuição de código aberto do Kafka, além de métricas específicas do serviço, como o atraso de offset do grupo de consumidores.

As métricas são organizadas em quatro categorias de recursos:

  • Cluster: essas métricas são úteis para manter a integridade geral de um cluster.

  • Tópico: essas métricas incluem taxas e erros de editores e consumidores. Eles monitoram a integridade geral dos aplicativos Kafka e problemas específicos de um agente.

  • Partição de tópico: essas métricas são destinadas ao monitoramento e à depuração de problemas de desempenho específicos de partições individuais, como distribuição desigual de chaves.

  • Grupo de consumidores de partição de tópico: essas métricas monitoram a integridade dos aplicativos de consumo, principalmente o atraso do consumidor. As métricas de erro do Kafka de código aberto para grupos de consumidores não estão disponíveis por partição, apenas no nível do tópico.

Algumas métricas podem ser agrupadas por índice de corretor. Com base no índice do broker, você pode pesquisar a zona em que ele está provisionado. Para mais informações, consulte Visualizar corretores.

Ver métricas de um cluster do Kafka

É possível conferir as métricas das seguintes maneiras:

  • A página Detalhes do cluster inclui painéis de monitoramento para clusters, tópicos e grupos de consumidores. Esses painéis contêm gráficos predefinidos que permitem conferir a integridade e o desempenho gerais do cluster.

  • Use o Metrics Explorer para ver todas as métricas disponíveis, criar gráficos personalizados ou agregar métricas em vários clusters.

Papéis e permissões necessárias

Para receber as permissões necessárias para ver gráficos de monitoramento, peça ao administrador para conceder a você o papel do IAM de Leitor do Kafka gerenciado (roles/managedkafka.Viewer) no seu projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Para mais informações sobre essa função, consulte Funções predefinidas do Serviço Gerenciado para Apache Kafka.

Usar os painéis de monitoramento

Para conferir os painéis de monitoramento de um cluster do Serviço Gerenciado para Apache Kafka, siga estas etapas:

  1. No Google Cloud console, acesse a página Clusters.

    Acessar Clusters

  2. Clique no nome do cluster.

  3. Para ver as métricas do cluster, selecione a guia Monitoring.

  4. Para ver as métricas de um tópico no cluster:

    1. Selecione a guia Recursos.

    2. Na lista Tópicos, clique no nome do tópico.

    3. Na página Detalhes do tópico, selecione a guia Monitoramento.

  5. Para ver as métricas de um grupo de consumidores no cluster:

    1. Selecione a guia Recursos.

    2. Na lista Grupos de consumidores, clique no nome do grupo.

    3. Na página Detalhes do grupo de consumidores, selecione a guia Monitoramento.

Para mais informações, consulte Ver um cluster do Kafka.

Usar o Metrics Explorer

Para conferir as métricas do Serviço Gerenciado para Apache Kafka usando o Metrics Explorer, siga estas etapas:

  1. No console do Google Cloud , acesse a página do Metrics explorer.

    Acesse o Metrics explorer

  2. Na seção Configuração, clique em Selecionar uma métrica.

  3. No filtro, digite Apache Kafka.

  4. Em Recursos ativos, selecione uma das seguintes opções:

    • Cluster do Apache Kafka

    • Tópico do Apache Kafka

    • Partição de tópico do Apache Kafka

    • Grupo de consumidores de partição de tópico do Apache Kafka

  5. Selecione uma métrica e clique em Aplicar.

Para mais informações sobre o Metrics Explorer, consulte Criar gráficos com o Metrics Explorer.

Métricas do Serviço Gerenciado para Apache Kafka

As tabelas a seguir listam as métricas usadas com frequência para monitorar seu cluster do Kafka e os recursos dele. Para conferir a lista completa de métricas disponíveis, consulte métricas doGoogle Cloud .

O serviço gerenciado para Apache Kafka é identificado pelo URL do serviço managedkafka.googleapis.com.

Métricas do cluster

As métricas a seguir se aplicam a clusters. Para conferir as métricas de um cluster específico, filtre pelo rótulo cluster_id.

Métrica Descrição Nome do MBean equivalente
cpu/core_usage_time Uso acumulado de CPU do cluster em vCPU. Isso pode ser útil para entender o custo geral de operação do cluster. N/A
cpu/limit Contagem atual de CPUs configuradas para o cluster. Pode ser usado para monitorar a utilização da CPU como uma proporção com a métrica cpu/usage. N/A
memory/usage Uso atual da RAM no cluster. Pode ser usado para monitorar a utilização da RAM como uma proporção com a métrica memory/limit. N/A
memory/limit Tamanho da RAM configurada atualmente do cluster. Pode ser usado para monitorar a utilização da RAM como uma proporção com a métrica memory/usage. N/A
cluster_byte_in_count O número total de bytes dos clientes enviados a todos os tópicos. kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
cluster_byte_out_count O número total de bytes enviados aos clientes de todos os tópicos. kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec
cluster_message_in_count O número total de mensagens publicadas em todos os tópicos. kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec
request_count O número total de solicitações feitas ao corretor kafka.network:type=RequestMetrics,name=RequestsPerSec,request= {Produce|FetchConsumer|FetchFollower},version=([0-9]+)
request_byte_count O tamanho total, em bytes, das solicitações feitas ao cluster. kafka.network:type=RequestMetrics,name=RequestBytes,request= ([-.\w]+)
partitions O número atual de partições processadas por esse cluster, dividido por broker. kafka.server:type=ReplicaManager,name=PartitionCount
request_latencies O número de milissegundos necessários para cada solicitação, em vários percentis. kafka.network:type=RequestMetrics,name=TotalTimeMs,request= {Produce|FetchConsumer|FetchFollower}
consumer_groups O número atual de grupos de consumidores que consomem do agente kafka.server:type=GroupMetadataManager,name=NumGroups
offline_partitions O número de partições de tópicos off-line conforme observado pelo controlador. kafka.controller:type=KafkaController,name=OfflinePartitionCount

Métricas de tópico

As seguintes métricas se aplicam aos tópicos. Para conferir as métricas de um assunto específico, filtre pelos rótulos cluster_id e topic_id.

Métrica Descrição Nome equivalente do MBean
message_in_count O número total de mensagens publicadas no tópico. kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec, topic=([-.\w]+)
byte_in_count O número total de bytes enviados pelos clientes para o tópico. kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=([-.\w]+)
topic_request_count O número total de solicitações de produção e busca feitas para o tópico. kafka.server:type=BrokerTopicMetrics,name=TotalProduceRequestsPerSec,topic=([-.\w]+)
kafka.server:type=BrokerTopicMetrics,name=TotalFetchRequestsPerSec,topic=([-.\w]+)
topic_error_count O número total de solicitações de produção e busca com falha feitas para o tópico. kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec,topic=([-.\w]+)
kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec,topic=([-.\w]+)
byte_out_count O número total de bytes enviados aos clientes. kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec, topic=([-.\w]+)

Métricas de partição

As métricas a seguir se aplicam a partições. Para conferir as métricas de uma partição específica em um tópico, filtre pelos rótulos cluster_id, topic_id e partition_index.

Métrica Descrição Nome equivalente do MBean
consumer_lag Atraso de replicação em mensagens entre o líder e cada réplica seguidora. kafka.server:type=FetcherLagMetrics,name=ConsumerLag,clientId=([-.\w]+),topic=([-.\w]+),partition=([0-9]+)
log_segments O número atual de segmentos de registros. Isso é útil para garantir que o armazenamento em camadas permaneça íntegro. kafka.log:type=Log,name=NumLogSegments,topic=([-.\w]+),partition=([0-9]+)
first_offset O primeiro deslocamento de cada partição no tópico. Em combinação com o last_offset, ele pode ser usado para monitorar um limite superior no número total de mensagens armazenadas e para encontrar o deslocamento real da mensagem mais antiga. kafka.log:type=Log,name=LogStartOffset,topic=([-.\w]+),partition=([0-9]+)
last_offset O último deslocamento na partição. Isso pode ser usado para encontrar o deslocamento mais recente de cada partição ao longo do tempo. Isso pode ser útil para identificar o deslocamento específico necessário para reprocessar dados a partir de um determinado momento no passado. kafka.log:type=Log,name=LogEndOffset,topic=([-.\w]+),partition=([0-9]+)
byte_size O tamanho da partição no disco em bytes. N/A

Métricas do grupo de consumidores

As métricas a seguir se aplicam aos grupos de consumidores. Para conferir as métricas de um grupo de consumidores específico, filtre pelo rótulo consumer_group_id.

Métrica Descrição Nome equivalente do MBean
offset_lag A diferença entre o último deslocamento e o último deslocamento confirmado para o grupo de consumidores de cada partição. Essa métrica estima quantas mensagens produzidas o consumidor ainda não processou. N/A

A seguir