ELK Stack Tutorial para iniciantes: tudo o que você queria saber
Publicados: 2020-03-24Índice
Introdução
O mundo, hoje, é orientado a dados, o que significa que, seja uma pequena startup ou uma grande empresa, uma enorme quantidade de dados é produzida. Dados de negócios, dados de vendas, dados de clientes e dados de produtos, muitos desses dados são armazenados em bancos de dados e servidores web. Dentro dos servidores web, você pode encontrar os dados nos logs do servidor web. Esses logs têm dados brutos que não são estruturados e podem ser difíceis de entender.
Como esses logs geralmente são negligenciados por grandes empresas, eles podem perder o controle de informações valiosas que podem ajudá-los a melhorar seus negócios. Assim, é importante lidar com todos esses dados de log. Mas a análise de log pode ser problemática sem uma ferramenta adequada.
É aqui que entra o ELK Stack.
Saiba mais sobre: Splunk Vs Elk: Qual deles você deve escolher?
O que é ELK Stack?
O ELK Stack é uma poderosa ferramenta de análise de log que é uma combinação de três ferramentas – Elasticsearch, Logstash e Kibana . São três projetos de código aberto, mas juntos oferecem uma solução de análise de ponta a ponta para busca, visualização e análise de logs . Esses logs podem ser gerados a partir de diferentes sistemas.
Esta pilha de software ajuda você a obter dados de qualquer fonte e formato. Você pode então pesquisar, analisar e visualizar esses dados para determinar padrões, em tempo real. Com a ajuda do registro centralizado, você pode identificar problemas do servidor web e dos aplicativos. Isso significa que você pode procurar todos os logs de uma única plataforma. Problemas em vários servidores também podem ser detectados.

ELK Stack Tutorial: Arquitetura
Vamos dar uma olhada mais de perto na arquitetura ELK Stack. Os componentes são os seguintes:
Elasticsearch
Este é o coração da pilha de software e é basicamente um banco de dados NoSQL. Foi lançado em 2010 e é baseado no motor de busca Apache Lucene . Codificada em Java, esta ferramenta é de código aberto. Este poderoso mecanismo de análise permite armazenar, analisar e pesquisar grandes blocos de dados de log. A melhor maneira de obter dados da pesquisa no Elasticsearch é utilizando sua API REST.
Algumas de suas características importantes são:
- Armazena dados centralmente para procurá-los rapidamente
- Oferece consultas avançadas para uma melhor análise de dados
- Você pode usá-lo para indexar dados heterogêneos
- Oferece busca quase em tempo real , o que significa que você pode encontrar os documentos logo após serem indexados. Assim, você pode atualizar e adicionar mais dados aos documentos em tempo real.
- Oferece suporte de geolocalização e suporte multilíngue
- Use APIs de vários documentos para lidar com registros individuais
Alguns dos componentes importantes do Elasticsearch são:
- Índice – São partições lógicas de documentos que possuem características semelhantes
- Nó – Esta é uma instância do Elasticsearch
- Fragmento – Os índices podem ser divididos em fragmentos ou pedaços horizontais
- Document – objetos JSON que são unidades de armazenamento e são armazenados em um índice Elasticsearch
- Cluster – Uma coleção de nós
Leia: 4 tipos de análise de dados para melhorar a decisão de negócios
Logstash
Esta é uma ferramenta que busca entradas de dados e as fornece para a pesquisa Elastic. Inicialmente, era usado para coletar e transmitir grandes quantidades de dados de diferentes fontes de dados. Mais tarde, foi incluído no ELK Stack e, em seguida, processou as mensagens de log, aprimorando-as e enviando-as ao destino.

O Logstash disponibiliza os dados coletados para uso posterior. Também ajuda a limpar os dados para uso posterior e pode suportar uma grande variedade de tipos de dados. Existe um enorme ecossistema de plugins para o Logstash, você pode aprimorar seus recursos. Alguns dos plugins populares incluem Github, file, exec, heartbeat, http e iMac.
Possui 3 componentes principais:
Entrada
Isso é usado para passar os logs para processamento para que possa ser entendido pela máquina. Existem mais de 50 plugins de entrada para coletar e processar dados de bancos de dados e aplicativos.
Saída
Isso consiste nos dados de entrada para o campo de mensagem. Este é considerado o tomador de decisão para o log que já está sendo processado.
Filtros
Estas são condições que são usadas para executar uma ação ou evento. Os eventos são tratados usando filas internas.
Kibana
Esta é a ferramenta utilizada para visualização de dados no ELK Stack. Você pode usar isso para pesquisar índices do Elasticsearch e é uma interface simples baseada em navegador. Usando isso, você pode explorar grandes volumes de dados. Possui um extenso painel que possui muitos recursos, como gráficos, dados geoespaciais e diagramas. O Kibana pode ser usado para pesquisar, interagir e visualizar os dados do Elasticseach contidos nos índices. Saiba mais sobre visualização de dados.
Recursos importantes do Kibana são os seguintes:

- Funciona em Windows, Mac e Linux
- Oferece visualização em tempo real de dados indexados
- Isso é executado no Node.js e você obtém os pacotes necessários junto com o pacote de instalação
- Ele pode representar informações históricas usando tabelas e gráficos
- Você pode desenvolver e salvar seus próprios gráficos
Batidas
Outro componente da arquitetura ELK é o Beats. Eles são um conjunto de remetentes de log que são instalados em servidores para buscar métricas e logs de dados. Ele é codificado na linguagem de programação Go e é uma ferramenta leve. Alguns dos diferentes tipos de Beats são:
- Filebeat: Coleta arquivos de log
- Packetbeat: Coleta dados de rede
- Metricbeat: Coleta métricas de serviço e sistema
- Winlogbeat: É usado para coletar arquivos de log de eventos do Windows
Tutorial ELK Stack: Instalação
Agora, chegamos à última seção do tutorial ELK Stack . Vejamos os passos necessários para instalar o ELK Stack.
- Visite o site oficial do ELK Stack – https://www.elastic.co/downloads
- Clique para baixar o Elasticsearch
- Em seguida, clique para baixar o Logstash
- Depois disso baixe o Kibana
- Você receberá três pastas zip. Descompacte-os e siga as instruções no site oficial para baixá-los individualmente.
Conclusão
O ELK Stack é usado por empresas famosas em todo o mundo, como Netflix, Medium e LinkedIn, para lidar com seus dados de log. Isso ocorre porque a ferramenta funciona muito bem enquanto coleta dados de diferentes aplicativos e os converge em uma única instância. Também é muito útil na escala vertical e horizontal. Além disso, ele suporta várias linguagens, como Python, Java, Perl e Ruby.
Portanto, se você é proprietário de uma empresa com dificuldades para lidar com seus dados de log, o ELK é a solução. Para entender o básico, mantenha este tutorial do ELK Stack à mão.
Se você estiver interessado em aprender mais sobre big data, confira o PG Diploma in Full-stack Software Development da upGrad & IIIT-B, projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso, mais de 9 projetos e atribuições, IIIT- B Status de ex-aluno, projetos práticos práticos e assistência de trabalho com as principais empresas.