[TIMEBRA] Métricas importantes para o monitoramento Kafka

As principais vantagens da utilização do Kafka são que ele fornece armazenamento durável, o que significa que os dados armazenados nele não podem ser facilmente violados e são altamente escalonáveis, para que possam lidar com um grande aumento de usuários, cargas de trabalho e transações, quando necessário. Kafka é uma plataforma distribuída de streaming que atua como uma fila de mensagens de publicação / assinatura, recebendo dados de vários sistemas de origem e disponibilizando-os para vários sistemas e aplicativos em tempo real. 

Como o Kafka pode lidar com grandes volumes de dados, muitas organizações que lidam com grandes dados e eventos, como Netflix e Microsoft, utilizam o Kafka. Para garantir o desempenho ideal do servidor de middleware Kafka e as operações contínuas de vários aplicativos essenciais aos negócios que dependem dele, é crucial utilizar uma solução de monitoramento.

O Applications Manager da ManageEngine fornece monitoramento proativo do Kafka e ajuda a identificar e resolver problemas rapidamente, antes que afetem seus aplicativos. O Kafka reporta métricas cruciais que se relacionam diretamente ao desempenho deste servidor. Vamos dar uma olhada nas principais métricas de desempenho que você precisa monitorar para gerenciar seus servidores Kafka com eficiência.

Uso de memória

Kafka, ao contrário de outras tecnologias de middleware, roda inteiramente na RAM. Como o heap da ferramenta de análise do usuário requer um grande conjunto de memória na RAM, a memória do heap é alocada dinamicamente, dependendo do número de solicitações recebidas para o servidor. Em uma instância Kafka, é crucial garantir sempre que o tamanho de heap da Java virtual machine (JVM) não seja maior que a RAM disponível para evitar a troca.

A ferramenta de monitoramento Kafka do Applications Manager permite monitorar métricas de memória, como memória física, uso de memória virtual e uso de espaço de troca. Manter o controle do uso de swap ajuda a evitar a latência e impede que as operações atinjam o tempo limite. 

A Kafka JVM possui dois segmentos: memória heap e memória non-heap. Enquanto a memória heap armazena os objetos de dados reais, a memória non-heap controla os metadados e os objetos carregados. O monitor Kafka do Applications Manager controla seu uso de heap para ajudá-lo a detectar vazamentos de memória com facilidade.

Detalhes do tópico

Todas as solicitações em um servidor são tratadas por processos divididos em vários encadeamentos que são executados simultaneamente para ajudar a cuidar das solicitações recebidas mais rapidamente. Isso ajuda a reduzir o tempo de resposta e melhora a capacidade de resposta do servidor.

Os recursos de monitoramento de servidor Kafka do Applications Manager permitem rastrear os encadeamentos na JVM em sua instância Kafka e fornecer detalhes sobre vários encadeamentos:

  • Threads Daemon: Esses são threads que não impedem a saída da JVM quando o programa termina enquanto ainda são executados em segundo plano.
  • Threads ao vivo: esses são os tópicos que estão ativos no momento.
  • Threads de Pico: Esse é o número máximo de threads executados na JVM.

Os encadeamentos de monitoramento na JVM podem ser úteis de várias maneiras. Se houver um pico repentino no uso da CPU, você poderá analisar os detalhes do encadeamento para identificar qual encadeamento o está causando. O monitoramento do número de threads ativos ajuda principalmente a identificar se o uso atual de qualquer pool que está próximo do máximo. Você pode identificar threads inativos e removê-los, impedindo que as solicitações sejam rejeitadas. 

Taxa de liberação de log

Os registros em Kafka são publicados em um fluxo de registros chamado tópicos. Cada tópico possui um log particionado designado ao qual os detalhes da solicitação são anexados sempre que os dados precisam ser armazenados. Cada partição é um log de confirmação estruturado que possui uma sequência de registros rotulados e atribui um ID sequencial para fins de identificação. 

Esses registros são gravados no disco após um período específico, e após, estes são liberados das partições. A taxa de liberação, o tempo necessário para liberar o log no disco, é uma métrica importante a ser monitorada e é um indicador direto do desempenho da sua instância Kafka. O Applications Manager monitora a taxa de liberação do log e notifica se o valor ultrapassa um limite definido. Um alto valor da taxa de liberação de log pode fazer com que as solicitações sejam retidas na fila, resultando em degradação da latência e desempenho do servidor de middleware Kafka. Isso é uma indicação de que talvez você precise verificar gargalos no seu hardware ou dimensionar o servidor de acordo.

Métricas de tópico do broker

Um servidor eficiente sempre lida com solicitações rapidamente, sem nenhuma latência. O monitoramento das métricas de tópico do broker pode dar visibilidade ao desempenho geral de seu servidor Kafka.

O Applications Manager monitora várias métricas de monitoramento Kafka, incluindo as métricas de tópicos do broker, para ajudá-lo a entender a taxa de transferência e as flutuações da mensagem. O monitoramento dos bytes em / min ajuda a identificar mensagens grandes, enquanto o recurso Mensagens em / Min serve como um indicador da carga no servidor. O monitoramento de solicitações com falha de busca / mín. E com falha em solicitações de produção / mín. Pode ajudar a detectar a degradação do desempenho em seu servidor.

Replicação

A replicação no Kafka envolve a criação de cópias dos dados para garantir sua disponibilidade no caso de um broker ficar indisponível. Isso pode causar degradação no desempenho, pois o broker não poderá atender a nenhuma solicitação se ficar indisponível, aumentando assim a contagem de Partições Replicadas.

Um grande desafio com a replicação em Kafka envolve manter a contagem de réplicas de sincronização em congruência com a contagem de réplicas totais. As réplicas que não estão sincronizadas são as partições que ficam atrás do líder e são removidas do pool de réplicas em sincronização (ISR), aumentando assim o valor de IsrShrinks / Min.

O Applications Manager fica de olho nas métricas críticas de monitoramento do Apache Kafka, como IsrShrinks / Min e IsrExapsnds / Min, Under Replicated Partitions e também notifica violações de limite para garantir o desempenho ideal do servidor de middleware Kafka.

Detalhes da rede

O Kafka lida com um grande número de eventos. É imperativo monitorar as solicitações que ocorrem por segundo para obter visibilidade da taxa de transferência da rede e da carga no servidor.

Com o Applications Manager é possível monitorar a taxa de processo de solicitação e ser notificado sobre os picos. Isso pode ajudá-lo a analisar qual largura de banda do broker foi afetada, para que você possa aumentar o número de brokers utilizados quando necessário. Também ajuda a detectar latência no servidor.

Detalhes do controlador

Em um cluster Kafka, um dos intermediários atua como um controlador e é responsável por manter os estados de partições e réplicas. Quando um líder de partição morre, uma eleição para um novo líder é acionada. Quaisquer réplicas sincronizadas disponíveis para a partição são elegíveis para se tornar o novo líder. As eleições do líder causam um pequeno atraso na resposta às solicitações para essa partição enquanto o novo líder está sendo escolhido. Fique de olho na métrica Taxa de Eleição do Líder para saber a taxa de eleições do líder.  

As eleições de líderes impuros são causadas pela incapacidade de encontrar um líder de partição qualificado entre os brokers Kafka. Quando um broker que é o líder de uma partição fica offline, um novo líder é eleito no conjunto de ISRs da partição. Uma eleição de líder impuro é um caso especial em que nenhuma réplica disponível está sincronizada. O Applications Manager permite acompanhar o número de eleições para líderes impuros por segundo e entender se houve perda de dados.  

A métrica de contagem de partições offline ajuda a acompanhar o número de partições que não são graváveis ​​ou legíveis, pois não possuem um líder ativo. Você pode definir as configurações para ser alertado se esse valor for acima de 0, pois uma partição sem um líder ativo será absolutamente inacessível. Isso significaria que os consumidores e produtores dessa partição seriam bloqueados, causando atrasos desnecessários no processamento de solicitações no servidor, até que um líder esteja disponível.

Monitore as métricas do ZooKeeper junto com o Kafka

O ZooKeeper armazena metadados sobre os corretores, tópicos, partições e coordenação do sistema da Kafka. Uma interrupção ou lentidão do ZooKeeper pode afetar os clusters Kafka. Você também deve monitorar as métricas do ZooKeeper para manter um cluster Kafka íntegro.

Estas são algumas das métricas que mostram como o monitoramento da instância Kafka que podem ajudá-lo a obter melhor desempenho do aplicativo. Para saber como o Applications Manager pode melhorar ainda mais seus recursos de monitoramento Kafka,  faça uma avaliação gratuita de 30 dias imediatamente!

O Applications Manager faz parte do conjunto de soluções ITOM da ManageEngine. Além de aplicações de monitoramento, esta suite também oferece soluções para racionalização de monitoramento de rede ,  monitoramento de servidores ,  monitoramento da largura de banda ,  gerenciamento de configuração ,  segurança de firewall e conformidade, e  gestão portuária endereço e IP switch . É por isso que as soluções ITOM da ManageEngine são a escolha ideal para mais de um milhão de administradores de TI em todo o mundo.

Conheça na prática e na realidade de sua empresa o que nossas soluções ACSoftware|ManageEngine podem fazer por você. Contamos com um portfólio extenso para gerenciamento de TI.
Com soluções para segurança de TI, gerenciamento de acesso e identidade (Active Directory), gerenciamento de endpoints, IT help desk e gerenciamento de serviços de TI (monitoramento de rede, banda e análise de tráfego), gerenciamento de operações de TI (Network e Server), gerenciamento de aplicativos e muito mais.

Conte sempre com o apoio da equipe ACSoftware, sua revenda e suporte ManageEngine no Brasil.

Participe agora mesmo do grupo TIMEBRA dedicado aos usuários ManageEngine no Brasil, que tem a intenção de criar uma comunidade para troca de experiências, esclarecer dúvidas, bem como ficar por dentro de dicas e novidades.

ACSoftware revenda e distribuidora ManageEngine no Brasil. – Fone / WhatsApp (11) 4063 9639.

PodCafé da TI – Podcast, Tecnologia e Cafeína.

Deixe um comentário