Ir para o conteúdo

Guia de Instalação do ELK (Elasticsearch)

1. Introdução

Neste guia, abordaremos a configuração do stack ELK (Elasticsearch, Logstash e Kibana) para monitoramento e análise de dados em ambientes laboratoriais. O ELK é uma poderosa combinação de ferramentas que permite a coleta, armazenamento, análise e visualização de dados em tempo real, sendo amplamente utilizado para gerenciamento de logs e monitoramento de sistemas.

2. O que é ELK?

Flow_Fleet_Elasticsearch.png Fonte: Elastic Documentation

A imagem acima ilustra o fluxo de dados e a integração dos componentes do ELK Stack para monitoramento centralizado e análise em tempo real.

  • Elasticsearch: Responsável por armazenar e indexar os dados recebidos do Fleet Server. Com capacidade de busca e análise em tempo real, o Elasticsearch é o núcleo do ELK Stack, permitindo consultas eficientes em grandes volumes de dados e facilitando uma análise detalhada.

  • Kibana: O Kibana Oferece uma interface gráfica onde os dados no Elasticsearch podem ser visualizados e analisados. Kibana também gerencia os pacotes e integrações disponíveis para os agentes, que podem ser carregados a partir do Package Registry. Com ele, é possível criar dashboards, relatórios e gráficos, transformando dados brutos em insights visuais.

  • Elastic Agent: Localizados nos dispositivos a serem monitorados, os Elastic Agents coletam dados de logs, métricas e eventos e os enviam ao Fleet Server Cluster. Esses agentes são configurados e gerenciados por políticas que controlam quais dados são coletados e para onde são enviados.

  • Fleet Server Cluster: Utilizando um balanceador de carga para alta disponibilidade, o Fleet Server Cluster centraliza o gerenciamento dos Elastic Agents. Ele distribui políticas para os agentes, garantindo uma coleta consistente de dados, e depois os encaminha ao Elasticsearch para armazenamento e análise.

Esse fluxo garante que os dados da rede sejam coletados de forma unificada, armazenados de maneira otimizada e disponibilizados para visualização e análise, oferecendo uma solução completa e robusta para monitoramento e análise de redes complexas e distribuídas.

Observação

nesta instalação não utilizaremos o Logstash, e sim a versão mais morderna de coleta, no qual são os Fleet Server e Fleet Agent, para saber mais acesse a documentação oficial sobre Fleet: Documentação do Elastic - Fleet


4. Pré-requisitos

Antes de prosseguir com a configuração do ELK, é necessário configurar a rede br-lab. Para detalhes sobre essa configuração, consulte o guia Primeiros Passos: Preparando o Ambiente.


5. Preparando o Ambiente

Após garantir que a rede br-lab está configurada, siga os passos abaixo para preparar o ambiente de trabalho.

6. Baixando o Docker Compose

Para baixar o Docker Compose, execute o seguinte comando:

    curl -L -o get.sh "https://git.rnp.br/redes-abertas/docker-composes/-/raw/main/ELK-Stack/get.sh?inline=false" && sh get.sh && cd ELK-Stack
    curl -L -o get.bat "https://git.rnp.br/redes-abertas/docker-composes/-/raw/main/ELK-Stack/get.bat?inline=false" && call get.bat && cd ELK-Stack

Esse comando faz o download do script de instalação e, em seguida, navega para o diretório ELK-Stack.

7. Subindo os Containers

Após baixar o Docker Compose, execute o comando abaixo para iniciar os serviços do ELK:

docker compose up -d

Esse comando irá iniciar três containers essenciais para o funcionamento do stack ELK:

  1. Elasticsearch
    • Descrição: Motor de busca e armazenamento de dados. Ele permite o armazenamento de documentos em formato JSON e fornece uma API RESTful para busca e análise. Ideal para pesquisa em grandes volumes de dados.
    • IP: 172.10.10.201
    • Porta padrão: 9200
    • Documentação: Elasticsearch Documentation
  2. Kibana
    • Descrição: Interface gráfica para visualização de dados armazenados no Elasticsearch. O Kibana permite que os usuários criem dashboards interativos e visualizações de dados em tempo real, facilitando a análise e interpretação de dados.
    • IP: 172.10.10.202
    • Porta padrão: 5601
    • Documentação: Kibana Documentation
  3. Fleet Server
    • Descrição: Agente responsável pela coleta de métricas e logs de diferentes fontes e seu envio para o Elasticsearch. O Fleet Server facilita a gestão centralizada de agentes de coleta, como o Elastic Agent, permitindo a coleta e envio eficiente de dados.
    • IP: 172.10.10.203
    • Documentação: Fleet Server Documentation

Acesso

Usuario e senha padrão - Usuário padrão: elastic - Senha padrão: admin@123

Configuração

Para alterar a senha ou a versão do Elasticsearch, edite o arquivo .env.

8. Acessando a Interface do Kibana

Para acessar a interface do Kibana, use o seguinte link:

https://<seu-ip>:5601

Faça login com o usuário e senha padrão.

Próximos Passos

  • Configurar a Coleta IPFIX: Após a configuração do ELK, o próximo passo será configurar a coleta de dados utilizando o IPFIX, com nosso guia de configuração de IPFIX.