Registrando Logs de execução de fluxos de dados do Apache NiFi com ELK

No post anterior, apresentamos o Apache NiFi e entendemos como é possível integrar aplicações através de fluxos de dados nessa plataforma.

Nesse post, indico como produzir logs de operação do Apache NiFi, registrando falhas e a ocorrência de eventos importantes. Usaremos Elastic Search, LogStach e o Kibana (popularmente conhecido como ELK).

NOTA DO ELEMAR: A autoria desse post é do Tiago Tartari. Eu sou editor.

Subindo o Stack

A escolha do stack ELK é muito apropriada pois viabiliza armazenamento, busca e visualização facilitada de logs. No contexto deste post, estou utilizando a imagem sebp/elk do docker.

docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -it --name elk sebp/elk

DICA: Se estiver utilizando Docker, aumente os limites de uso de memória. Por alguma razão, o Elastic Search trava se menos que 4Gb estiver disponível.

Após subir o container você poderá acessar o Kibana no endereço http://localhost:5601/

Processors necessários para gerar Log no ELK a partir do NiFi

Para gerar logs, precisamos incluir os seguinte processor nos Process Groups:

DICA: Existem três tipos de processors que podem ser utilizados para adicionar um conteúdo no ElasticSearch. PutElasticsearch para versões 2.x, o PutElasticsearch5 para versões 5.x e o PutElasticsearchHttp que estamos utilizando em nosso exemplo.

Adicionamos dois connectors após o processor do InvokeHttp, um  ligado ao ReplaceText que seguirá o fluxo para gravar o log no ElasticSearch e outro que foi ligado ao JoltTransformJSON para seguir no fluxo do SQL Server.

NOTA: flowfile é o dado que irá se movimentar entre os processors.

Abaixo, demonstro como ficou a conexão entre os processors de log.

O objetivo do log será guardar os dados referente a requisição feita a API do Wikipedia, o id do flowfile, a data e hora, o termo pesquisado, a url, quantas vezes passou pela retentativa e o status code.

Abaixo, exemplo de configuração do ReplaceText seguido do PutElasticSearchHttp.

O código do ReplaceText ficou assim.

{
"type": "info",
"uuid": "${uuid}",
"fileName": "${filename}",
"date": "${Date}",
"term": "${Term}",
"ipClient": "${X-Client-IP}",
"tryCount": ${TryCount},
"statudCode": ${invokehttp.status.code},
"url": "${invokehttp.request.url}"
}

Muito simples de configurar!

Abaixo, visualizamos os logs no Kibana.

Concluindo

Um bom sistema de Logs é fundamental. No NiFi, logar é atividade trivial.

Já consegue perceber oportunidades de integração usando NiFi? Compartilhe suas impressões conosco nos comentários.

Compartilhe este insight:

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Mais insights para o seu negócio

Veja mais alguns estudos e reflexões que podem gerar alguns insights para o seu negócio:

Eventualmente, é bom revisitar alguns temas clássicos de ciências da computação. Nesse post, vamos ver como detectar o nodo de...
Uma ou duas vezes por ano tenho a oportunidade de encontrar, pessoalmente, o Ayende (líder técnico do projeto do RavenDB)....
In the previous post, I shared some good things about our new query language: RQL. Now, I will show you...
Se há algo que nunca vi foi consenso para o significado de “produto pronto” nas as áreas de desenvolvimento, marketing...
Hoje completo 39 anos! Estou em Uberlândia, em um hotel, descansando após um dia de muito trabalho (e um bocado...
Você ainda acredita em estimativas? Nós, não. Embora aceitemos que ter uma boa ideia de esforço e prazo sejam diferenciais...
Masterclass

O Poder do Metamodelo para Profissionais Técnicos Avançarem

Nesta masterclass aberta ao público, vamos explorar como o Metamodelo para a Criação, desenvolvido por Elemar Júnior, pode ser uma ferramenta poderosa para alavancar sua carreira técnica em TI.

Crie sua conta

Preencha os dados para iniciar o seu cadastro no plano anual do Clube de Estudos:

Crie sua conta

Preencha os dados para iniciar o seu cadastro no plano mensal do Clube de Estudos:

× Precisa de ajuda?