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 clusters do Kafka. Esta página descreve como visualizar essas métricas no Google Cloud console.

Visão geral

O Serviço Gerenciado para Apache Kafka exporta várias métricas disponíveis na distribuição do Kafka de código aberto, bem como métricas específicas do serviço, como o atraso de deslocamento 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 editor e consumidor. Elas 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 performance específicos de partições individuais, como distribuição de chaves desigual.

  • Grupo de consumidores de partição de tópico: essas métricas monitoram a integridade dos aplicativos de 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, mas apenas no nível do tópico.

Algumas métricas podem ser agrupadas por índice de agente. Com base no índice do agente, é possível pesquisar a zona em que ele é provisionado. Para mais informações, consulte Visualizar agentes.

Visualizar métricas de um cluster do Kafka

É possível visualizar 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 a performance gerais do cluster.

  • É possível usar o Metrics Explorer para visualizar 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 visualizar gráficos de monitoramento, peça ao administrador para conceder a você o papel Leitor do Kafka gerenciado (roles/managedkafka.Viewer) do IAM no 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 personalizados papéis ou outros predefinidos papéis.

Para mais informações sobre esse papel, consulte Papéis predefinidos do Serviço Gerenciado para Apache Kafka.

Usar os painéis de monitoramento

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

  1. Noconsole, acesse a página Clusters. Google Cloud

    Acessar Clusters

  2. Clique no nome do cluster.

  3. Para visualizar as métricas do cluster, selecione a guia Monitoramento.

  4. Para visualizar 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 visualizar 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 de consumidores.

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

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

Usar o Metrics Explorer

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

  1. No Google Cloud console do, acesse a página 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 o cluster do Kafka e os recursos do cluster. Para conferir a lista completa de métricas disponíveis, consulte Google Cloud Métricas.

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 visualizar 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 cumulativo da CPU do cluster em vCPUs. Isso pode ser útil para entender o custo geral de operação do cluster. N/A
cpu/limit Contagem atual de CPUs configurada 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 atual da RAM configurada 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 de 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 agente 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, discriminadas por agente. 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 observadas pelo controlador. kafka.controller:type=KafkaController,name=OfflinePartitionCount

Métricas de tópico

As métricas a seguir se aplicam a tópicos. Para visualizar as métricas de um tópico específico, filtre pelos rótulos cluster_id e topic_id.

Métrica Descrição Nome do MBean equivalente
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 de clientes enviados ao 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 ao 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 ao 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 visualizar 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 do MBean equivalente
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 registro. Isso é útil para garantir que a camada de armazenamento permaneça íntegra. 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, bem como 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 de grupo de consumidores

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

Métrica Descrição Nome do MBean equivalente
offset_lag A diferença entre o deslocamento mais recente 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