Analisando os logs em tempo real com LogStash, ElasticSearch e Kibana

Entenda nesse artigo como monitorar os logs em tempo real usando ferramentas OpenSource: Logstash, ElasticSearch e Kibana. Ferramentas extremamente úteis e interessantes para analisar, transferir e coletar streaming de dados.

Logstash

O Logstash (logstash.net) faz parte da plataforma do ElasticSearch e é uma ferramenta extremamente útil para coletar eventos e logs de ambientes. Ele é formado por dois componentes:

  • logstash: roda no servidor (ou servidores) de centralização de logs, é responsável por “ouvir” em uma porta TCP ou UDP, recebendo os logs e encaminhando a uma ferramenta de análise ou armazenamento. Ele pode encaminhar, por exemplo, para um arquivo texto, redis, S3 e outros. No nosso exemplo ele enviará os logs para o ElastcSearch armazenar.
  • logstash-forwarder: é um agente encaminhador de logs que roda em todos os servidores que terão os seus logs coletados. Esta aplicação fica monitorando o conteúdo de arquivos de logs e encaminha os dados para o serviço logstash no servidor central de logs.

Para mais informações, veja abaixo vídeo do logstash.

ElasticSearch

Uma plataforma completa de armazenamento, busca e análise de dados com diversas funcionalidades extremamente interessantes e úteis. O ElasticSearch (elasticsearch.org), por ser extremamente competente no armazenamento de fluxos de dados em tempo real, rápido na busca e integrado com o Logstash, é realmente uma excelente opção para armazenamento e análise de logs.

No exemplo que tratamos aqui, o ElasticSearch roda no servidor central de logs, recebe o tráfego do Logstash e disponibiliza para o usuário.

Kibana

É uma aplicação web também da plataforma do ElasticSearch, roda através de um servidor web (utilizamos o Nginx aqui), e quando conectado ao ElasticSearch permite não só a análise mas a criação de DashBoards excelentes para visualização do status do ambiente, através dos logs.

É possível através do Kibana montar gráficos e analisar conteúdo de logs rapidamente, com facilidade e flexibilidade.

Abaixo, um DashBoard de exemplo, estruturado pela BRLink para análise de logs de servidores web:

kibana11

Podemos também monitorar o status de erros em aplicações PHP, entendendo se há problemas no ambiente ou crescimento de nível de logs de determinado tipo.

kibana12

Vale dizer também que todos os dashboards podem ser customizados pelo usuário, de acordo com suas demandas e necessidades. Assim é possível agrupar dados e monitorar informações relevantes de cada ambiente, com agilidade e facilidade.

Dentro do Kibana também é possível buscar logs específicos ou informações detalhadas sobre um determinado evento, basta utilizar as funções de filtering.

O diagrama resumido e “lúdico” da solução completa é demonstrado abaixo.

file-logstash-es-kibana

 

A BRLink implementa estas e outras funcionalidades de armazenamento e análise de logs para clientes, seja dentro de seus próprios datacenters ou dentro da AWS Amazon Web Services. Vale lembrar que os dados podem ser coletados inclusive de instâncias que rodam em autoscaling.

Para saber mais, contate nossa equipe de projetos e entenda qual a melhor ferramenta e arquitetura para o seu negócio.

Envie seu contato

Categoria: