# Guia Configuração do Monitor Kafka 2.0 Queue na Elven Platform

O **Monitor Kafka** da **Elven Platform** permite verificações baseadas em consultas chaves no Kafka. Essa funcionalidade ajuda a configurar verificações contínuas, definir alertas e criar limites para abertura de incidentes automáticos, garantindo que você seja informado rapidamente sobre quaisquer irregularidades na conectividade ou desempenho dos serviços.&#x20;

O **Apache Kafka** é uma plataforma de streaming distribuída de código aberto, projetada para o processamento e a integração de fluxos de dados em tempo real. Ele opera como um sistema de mensageria pub/sub e como um sistema de armazenamento de logs distribuídos, permitindo o transporte de grandes volumes de dados com alta resiliência e baixa latência. O Kafka organiza os dados em tópicos, que podem ser consumidos por múltiplos clientes simultaneamente, garantindo escalabilidade horizontal. Sua capacidade de lidar com milhões de mensagens por segundo o torna ideal para aplicações como análise de eventos em tempo real, pipelines de dados, integrações entre sistemas e soluções baseadas em microservices.&#x20;

## **Acessando o Monitoramento Kafka 2.0**

* Navegue até o menu principal e clique em **Services Hub**.&#x20;
* Em **Queue**, selecione o item **Kafka 2.0.**

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FrFTr3C6WEdwOF8VcxG4H%2Fkfkm201.png?alt=media&#x26;token=fbf8f0a8-1e14-466c-85d1-99e5500b0712" alt=""><figcaption></figcaption></figure>

## **Configuração do Monitoramento**

Monitorar a disponibilidade dos seus serviços nunca foi tão simples. Comece dando um nome claro ao recurso que deseja acompanhar (**Resource Name**) para facilitar a identificação. Depois, ajuste o intervalo entre as verificações (**Interval**) e o tempo limite para respostas (**Timeout**).   &#x20;

Selecione onde está o agente de monitoramento (**Checkpoint Cloud**), escolhendo Environment, se não existir você pode criar em **+ Checkpoint**. Após essa configuração, em **Form Type**, você pode optar por **User and Password** ou **Healthcheck URL**. Em User and Password, você deve informar o endereço do servidor no campo **Host**,  **Port ,Topic(nome do tópico do Kafka que você deseja monitorar ou interagir.), Consumer Group(grupo de consumidores será analisado) e** **Lag Tolerance(limite máximo de atraso tolerado antes de sinalizar um alerta ou problema no sistema)**. Já em  **Healthcheck URL, você pode inserir apenas a URL do recurso a ser monitorado.** Lembre-se de que estes campos de **Host e Healthcheck URL** aceitam apenas **URLs**; caso precise utilizar um endereço **IP**, será necessário criá-lo em um **secret** para garantir a segurança e organização das informações.  &#x20;

Caso tenha autenticação no Kafka, marque a opção Authentication e preencha os campos corretamente de acordo com o mecanismo de segurança implementado pelo cluster. O primeiro passo é inserir o **nome de usuário** no campo “Username” e a **senha** correspondente no campo “Password”. Esses valores são fornecidos pelo administrador do Kafka e são usados para autenticar o cliente. Em seguida, no campo “Mechanism”, selecione o mecanismo de autenticação utilizado pelo broker Kafka. Caso o cluster utilize um método simples como **PLAIN**, será necessário apenas informar o nome de usuário e a senha. Para configurações mais seguras, como **SCRAM**, o Kafka realiza a autenticação baseada em senhas armazenadas como hashes, proporcionando maior proteção. Se o cluster adotar **OAuth**, a autenticação será feita utilizando tokens OAuth 2.0, o que permite uma integração segura com provedores de identidade. Já no caso de **GSSAPI**, o mecanismo utiliza o protocolo Kerberos para autenticação, oferecendo uma solução robusta e amplamente usada em ambientes corporativos.&#x20;

Além disso, é importante verificar se o Kafka está configurado para utilizar **TLS** ou **SASL**. Caso o cluster implemente criptografia para garantir a segurança das comunicações, marque a opção **TLS** para ativar essa camada de proteção. Se o Kafka utiliza uma camada de autenticação adicional, como **SASL**, marque também a caixa correspondente.

### Configuração com User and Password

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FQWn1sp2y56lSrpcYcEmk%2Fkfkm202.png?alt=media&#x26;token=4d205584-3b3c-449f-baec-10efd51a6c3a" alt=""><figcaption></figcaption></figure>

### Configuração com User and Password e Authentication

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FTLNhzxVPMROL7OdNrfQZ%2Fkfkm203.png?alt=media&#x26;token=bb653f07-c950-4822-bc75-7fb335fa9328" alt=""><figcaption></figcaption></figure>

### Configuração com Healthcheck URL

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2F8vpYe6qiUpJZrWa1HHUb%2Fkfkm204.png?alt=media&#x26;token=31b9b892-b48c-4954-bf58-0f3a1bd28a35" alt=""><figcaption></figcaption></figure>

## **Abertura de Incidentes Automáticos**

Você pode configurar a abertura automática de incidentes para garantir uma resposta rápida a problemas críticos. Para começar, defina a severidade do incidente, permitindo que você priorize de acordo com a urgência. Em seguida, ajuste o **Check Interval**, especificando o intervalo de checagem em segundos para monitorar continuamente o recurso. Isso ajuda a garantir que você esteja sempre um passo à frente, detectando problemas assim que eles surgem.   \
&#x20; &#x20;

Além disso, selecione o time que será notificado sempre que um incidente ocorrer e ative a opção **Enable to set up automatic incidents opening** para garantir que a configuração esteja habilitada. Com essa configuração, a plataforma automatiza a gestão de incidentes, tornando o processo de resposta mais ágil e eficiente, sem a necessidade de intervenção manual. Isso garante que sua equipe esteja sempre pronta para resolver qualquer questão com rapidez e precisão.

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FhXWvyRoooIw0I7H2xzd4%2Fkfkm205.png?alt=media&#x26;token=e4a28f6f-7e54-4655-b69f-a98a0d1ec9ef" alt=""><figcaption></figcaption></figure>

## **Maintenance Window**&#x20;

Ainda  temos **Maintenance Window** que é uma funcionalidade essencial para gerenciar períodos de manutenção planejada na sua aplicação. Durante esse intervalo, as verificações são temporariamente pausadas, evitando que o monitoramento, alertas e notificações sejam acionados enquanto você realiza ajustes ou atualizações. Isso permite que a manutenção ocorra de maneira tranquila, sem gerar notificações desnecessárias ou alarmes falsos, garantindo que sua operação siga de forma ordenada e sem interrupções inesperadas nos relatórios de desempenho.    \
&#x20;\
Por exemplo, imagine que você precise atualizar o sistema de pagamento de um e-commerce, realizando ajustes no backend, como a instalação de novos certificados de segurança. Para isso, você pode configurar a **Maintenance Window** para um horário específico, como 13/12/2024, das 14:00 às 14:30. Durante esse período, a Elven Platform suspende as verificações, evitando que o monitoramento registre falhas temporárias ou dispare alertas falsos. Assim, você consegue fazer as alterações necessárias com calma, sabendo que o sistema de monitoramento não será impactado durante a manutenção. Essa abordagem garante que a atualização seja feita de maneira organizada, sem afetar a experiência dos usuários ou gerar notificações indesejadas.&#x20;

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FJk1RSiiBbBjPTaf2c7pA%2Fkfkm206.png?alt=media&#x26;token=690b6931-422d-4f82-a3c7-c0abf7997ed0" alt=""><figcaption></figcaption></figure>

## **Application Opening Hours**&#x20;

Ainda, você pode contar com a funcionalidade **Application Opening Hours**, que permite configurar os horários de funcionamento da sua aplicação. Essa funcionalidade é essencial para personalizar o monitoramento com base nos períodos em que sua aplicação está realmente ativa, evitando alertas e notificações fora do horário de operação. Assim, o monitoramento se torna mais alinhado com as necessidades reais do seu negócio, garantindo relatórios mais precisos e uma gestão eficiente.   &#x20;

Por exemplo, imagine que sua aplicação funcione apenas de segunda a sexta-feira, das 09:00 às 18:00. Você pode configurar o **Application Opening Hours** para refletir esse horário, especificando os dias e períodos de funcionamento. Com isso, a Elven Platform desativa automaticamente as verificações fora desses horários, evitando registros de falhas que não afetam os usuários finais e prevenindo alertas desnecessários. Essa abordagem otimiza a análise de desempenho, focando somente nos períodos relevantes e proporcionando uma visão mais clara sobre a saúde da sua aplicação durante seu horário de operação.&#x20;

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FA5WMUUMmhyHRNrLYAdn1%2Fkfkm207.png?alt=media&#x26;token=6e77a0f6-15e6-43f6-b807-d4eb06ef6996" alt=""><figcaption></figcaption></figure>

## **Glossário de Termos Técnicos**

**Kafka:** Plataforma de streaming de eventos de código aberto, projetada para processar, armazenar e transmitir grandes volumes de dados em tempo real. Com suporte a padrões de publicação e assinatura, filas distribuídas e armazenamento durável, oferece alta escalabilidade, baixa latência e alta disponibilidade. Ideal para aplicações que exigem processamento contínuo de dados, como integração de sistemas, análises em tempo real e monitoramento. Compatível com várias linguagens de programação, é amplamente utilizado em arquiteturas de microsserviços e pipelines de dados modernos.&#x20;

**Interval:** Intervalo de tempo entre as verificações automáticas realizadas no monitoramento. &#x20;

**Timeout:** Tempo limite para que o monitoramento receba uma resposta do recurso monitorado antes de registrar uma falha. &#x20;

**Checkpoint Cloud:** Local onde o agente de monitoramento está localizado, podendo ser um ambiente preexistente ou criado pelo usuário. &#x20;

**Host:** Endereço (URL) do recurso monitorado. Caso seja necessário usar um endereço IP, ele deve ser armazenado em um Secret para maior segurança. &#x20;

**Port:** Porta de acesso ao Kafka. \
\
**Consumer Group:** Grupo de consumidores que compartilham a carga de processamento de mensagens de um ou mais tópicos no Kafka. Garante que cada partição seja processada por apenas um consumidor dentro do grupo.&#x20;

**Lag Tolerance:** Limite aceitável de atraso no consumo de mensagens, medido pelo número de mensagens não processadas. Usado para identificar gargalos e manter a performance do sistema. \
**Secret:** Recurso utilizado para armazenar informações sensíveis, como endereços IP ou credenciais, garantindo segurança e organização. &#x20;

**Username (Nome de Usuário):** Identificação única configurada no broker Kafka para autenticar o acesso de um cliente ao cluster.&#x20;

**Password (Senha):** Credencial associada ao nome de usuário, usada para autenticação e autorização no Kafka.&#x20;

**Mechanism (Mecanismo):** Método de autenticação utilizado pelo Kafka, selecionado no formulário. Exemplos:&#x20;

* **PLAIN:** Método simples que utiliza o nome de usuário e senha para autenticação.&#x20;
* **SCRAM (Salted Challenge Response Authentication Mechanism):** Mecanismo mais seguro que utiliza senhas armazenadas como hashes para autenticação.&#x20;
* **OAUTHBEARER:** Utiliza tokens OAuth 2.0 para autenticação, permitindo integração com provedores de identidade.&#x20;
* **GSSAPI (Generic Security Service Application Program Interface):** Autenticação baseada em Kerberos, amplamente usada em ambientes corporativos.&#x20;

**TLS (Transport Layer Security):** Protocolo de criptografia que protege a comunicação entre o cliente e o servidor Kafka, garantindo a confidencialidade dos dados transmitidos.&#x20;

**SASL (Simple Authentication and Security Layer):** Camada de autenticação que oferece suporte a diferentes mecanismos (como PLAIN, SCRAM, OAUTHBEARER e GSSAPI) para autenticação segura no Kafka.&#x20;

**Broker Kafka:** Componente de um cluster Kafka responsável por armazenar e distribuir mensagens entre produtores e consumidores.&#x20;

**Cluster Kafka:** Conjunto de brokers Kafka que trabalham juntos para gerenciar e processar mensagens de forma distribuída e escalável.&#x20;

**Enable to set up automatic incidents opening:** Opção que, quando ativada, habilita a abertura automática de incidentes na detecção de problemas críticos. &#x20;

**Severity (Severidade):** Grau de criticidade atribuído a um incidente, permitindo sua priorização conforme a urgência. &#x20;

**Check Interval:**  \
Intervalo de tempo, em segundos, para realizar verificações contínuas do recurso monitorado. &#x20;

**Maintenance Window:** Funcionalidade que pausa temporariamente o monitoramento, alertas e notificações durante os períodos de manutenção planejada. &#x20;

**Application Opening Hours:** Configuração que define os horários de funcionamento da aplicação, alinhando o monitoramento aos períodos ativos e evitando alertas fora desses horários.
