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

É possível usar o console Google Cloud ou a API Cloud Monitoring para monitorar o Serviço Gerenciado para Apache Kafka.

Esta seção oferece uma visão geral das métricas de monitoramento disponíveis para monitorar o serviço gerenciado para Apache Kafka. Este documento também mostra como monitorar o uso do Serviço gerenciado para Apache Kafka no console Google Cloud usando o Monitoring.

  • Se você quiser ver métricas de outros recursos do Google Cloud , além do conjunto completo de métricas do Serviço gerenciado para Apache Kafka, use o Monitoring.

  • Caso contrário, use os painéis de monitoramento com uma seleção de métricas fornecidas no Serviço gerenciado para Apache Kafka. Para mais informações, consulte os seguintes tópicos:

Visão geral das métricas do Serviço gerenciado para Apache Kafka

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. Para monitoramento, o serviço gerenciado para Apache Kafka é identificado pelo URL do serviço managedkafka.googleapis.com.

As métricas do Serviço gerenciado para Apache Kafka são organizadas em quatro categorias de recursos:

  • Cluster: essas métricas são destinadas a manter a integridade geral do cluster.

  • Tópico: essas métricas incluem taxas e erros de editor e consumidor. Essas métricas 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. Um exemplo é a distribuição desigual de chaves.

  • Grupo de consumidores de partição de tópico: essas métricas monitoram a integridade do aplicativo consumidor, 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 corretor. Embora o próprio serviço Managed Service para Apache Kafka não exponha agentes como um recurso, é essencial monitorá-los para detectar cenários de falha, como latência devido a agentes sobrecarregados.

As métricas seguem a convenção que inclui o URL da API de serviço, o recurso monitorado e a métrica. Por exemplo, o identificador da métrica do tópico message_in_count é managedkafka.googleapis.com/Topic/message_in_count.

Para acessar essas métricas, consulte Ver uma única métrica do serviço gerenciado para Apache Kafka.

Antes de começar

Antes de usar o Monitoring, verifique se você preparou um projeto do Serviço gerenciado para Apache Kafka com o faturamento ativado. Uma maneira de fazer isso é concluir o guia de início rápido do Serviço gerenciado para Apache Kafka.

Papéis e permissões necessárias

Para receber as permissões necessárias para ver os 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 Managed Service para Apache Kafka.

Ver uma única métrica do Serviço gerenciado para Apache Kafka

Para conferir uma única métrica do Serviço gerenciado para Apache Kafka usando o console Google Cloud , siga estas etapas:

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

    Acessar Monitoring

  2. No painel de navegação, selecione Metrics Explorer.

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

  4. No filtro, digite Apache Kafka.

  5. 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

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

    A página de uma métrica específica é aberta.

Para saber mais sobre o painel de monitoramento, leia a documentação do Cloud Monitoring.

Métricas do cluster

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 de 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]+)
partições 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ópico off-line, conforme observado pelo controlador. kafka.controller:type=KafkaController,name=OfflinePartitionCount

Métricas de tópico

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

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. -

Métricas do grupo de consumidores

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