Kafka é uma plataforma de
streaming de eventos de código aberto, projetada para lidar com fluxos
massivos de dados em tempo real. Ele oferece uma arquitetura
distribuída, alta escalabilidade e tolerância a falhas, permitindo que
grandes volumes de dados sejam processados e transmitidos de forma
eficiente e confiável. No Kafka, os dados são organizados em tópicos,
que são divididos em partições distribuídas entre os brokers do Kafka.
Os produtores publicam registros nos tópicos e os consumidores podem se
inscrever para receber esses registros em tempo real. Isso torna o Kafka
ideal para casos de uso como processamento de eventos em tempo real,
ingestão de dados em lote, mensageria assíncrona, integração de sistemas
e pipeline de dados. Com sua alta taxa de transferência e baixa
latência, o Kafka tem sido amplamente adotado por empresas para
construir arquiteturas de dados escaláveis e distribuídas, permitindo
análise em tempo real, processamento de fluxo contínuo e construção de
aplicativos de alto desempenho.
Como monitorar Kafka na One Platform
Para configurar um monitoramento
de Kafka na plataforma, vá até a aplicação do produto em que deseja
adicionar a Queue como dependência. Clique no menu produtos, clique no
card do produto desejado e, depois, clique no nome da aplicação
desejada.
Em External Dependencies,
localizado logo abaixo do gráfico de latência, você pode adicionar ou
buscar uma dependência já cadastrada. Para procurar uma dependência,
digite o nome da mesma no campo de busca. Já para adicionar uma nova,
clique no botão verde com um símbolo de mais (+).
Ao clicar em adicionar, um modal
irá aparecer. Nele você irá nomear a sua fila e escolher o Enviroment.
No campo do Check type, escolha a opção Queue e no Method, escolha
Kafka. Após escolher o método, um campo para Healthcheck URL aparecerá.
Para realizar esse passo, a pessoa
responsável precisa saber como o cluster Kafka atua. Confira abaixo o
exemplo de string para o Kafka.
Há quatro maneiras de checagem do cluster:
- Conexão sem autenticação e uma simples verificação de um tópico específico para a plataforma: HOST:PORT/TOPIC
- Conexão sem autenticação e uma simples verificação de um tópico específico para a plataforma, mas com uma lista de correção: [HOST1:PORT,HOST2:PORT]/TOPIC ou HOST1:PORT,HOST2:PORT/TOPIC
- Conexão sem autenticação e verificação do tamanho do atraso
no consumo de mensagens de um tópico (Produção) do ponto de vista de um
grupo de consumidores: [HOST:PORT]/TOPIC/CONSUMER-GROUP/LAG-TOLERANCE - Conexão com autenticação SASL e verificação simples (ou não):
USER:PASSWORD:MECHANISM:TLS:SASL@[HOST1:PORT,HOST2:PORT]/TOPIC ou
USER:PASSWORD:MECHANISM:TLS:SASL@[HOST1:PORT,HOST2:PORT]/TOPIC/CONSUMER-GROUP/LAG-TOLERANCE
Exemplo de verificação sting para o exemplo 4:
kafka:{{.kafka_password}}:SCRAM-SHA-512:true:true@[b-2.kafka-production.amazonaws.com:9096,b-1.kafka-production.amazonaws.com:9096,b-3.kafka-production.amazonaws.com:9096]/eventos/consumidor-de-eventos/200
Obs.: Por motivos de segurança, não é permitido inserir um IP no
campo de healthcheck. Para monitorar um IP, é necessário inserí-lo em
uma secret e usá-la no healthcheck