ULC Lab · implementação reproduzível
Laboratório: Cluster Elasticsearch Básico com Ingestão e Busca de Dados
Você terá um cluster Elasticsearch funcional, indexando e buscando dados reais, em cerca de 2 horas. O laboratório cobre instalação, configuração, ingestão, consulta e análise básica.

- Duração estimada
- 120 min
- Passos
- 14
- Validações
- 5
- Versões da documentação consultada
- Elasticsearch 8.13 · Kibana 8.13 · Logstash 8.13
Este laboratório ensina como levantar um cluster Elasticsearch de nó único, indexar dados estruturados e não estruturados, executar buscas e visualizar resultados. O foco é entender cada etapa do fluxo: da configuração à consulta, passando pela ingestão e análise. Ao final, você será capaz de implantar e validar buscas rápidas em grandes volumes de dados, como faria em uma rede de fibra dedicada como a da Upnetix.
Topologia
Uma máquina virtual ou física (192.168.56.10) executando Elasticsearch, Kibana e Logstash. O usuário interage via terminal (SSH/local) e navegador (localhost:5601). Logstash envia dados para o Elasticsearch. Kibana acessa o Elasticsearch para visualização e buscas.
┌─────────────┐ ┌─────────────┐
│ Usuário/ │ │ Navegador │
│ Terminal │──────▶│ (Kibana) │
└─────┬───────┘ └─────┬──────┘
│ │
▼ ▼
┌────────────────────────────────────┐
│ VM/Servidor (192.168.56.10) │
│ ┌──────────┐ ┌──────────┐ │
│ │Logstash │→ │Elasticsearch│↔│Kibana│ │
└────────────────────────────────────┘Equipamentos e software
| Item | Requisito, licença ou versão |
|---|---|
| VM ou servidor x86_64 | 2 vCPU, 4 GB RAM, 20 GB disco, portas 9200, 5601, 5044 abertas, Ubuntu 22.04 LTS ou similar |
| Elasticsearch | Apache 2.0 · 8.13 |
| Kibana | Apache 2.0 · 8.13 |
| Logstash | Apache 2.0 · 8.13 |
Roteiro
- Preparação do Ambiente
Atualize o sistema e instale dependências. Isso garante compatibilidade e segurança.
sudo apt update && sudo apt upgrade -y sudo apt install -y openjdk-17-jdk wget apt-transport-httpsO que você deve ver: Sistema atualizado e Java instalado (java -version mostra OpenJDK 17).
- Adicione o repositório Elastic
O Elasticsearch e suas ferramentas são distribuídos via repositório próprio. Adicione a chave e o repositório.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list sudo apt updateO que você deve ver: Repositório Elastic adicionado sem erros.
- Instale o Elasticsearch
Instale o Elasticsearch, núcleo do cluster.
sudo apt install -y elasticsearchO que você deve ver: Pacote instalado. 'elasticsearch' disponível em /usr/share/elasticsearch.
- Configure o Elasticsearch
Ajuste o arquivo de configuração para modo nó único, ideal para laboratório.
sudo sed -i 's/#network.host: 192.168.0.1/network.host: 0.0.0.0/' /etc/elasticsearch/elasticsearch.yml sudo sed -i 's/#discovery.type: single-node/discovery.type: single-node/' /etc/elasticsearch/elasticsearch.ymlO que você deve ver: Arquivo /etc/elasticsearch/elasticsearch.yml com network.host: 0.0.0.0 e discovery.type: single-node.
- Inicie e habilite o Elasticsearch
Inicie o serviço e configure para iniciar automaticamente.
sudo systemctl daemon-reload sudo systemctl enable --now elasticsearchO que você deve ver: Serviço ativo (systemctl status elasticsearch mostra 'active (running)').
- Instale o Kibana
Kibana é a interface web para buscas e visualização.
sudo apt install -y kibanaO que você deve ver: Pacote instalado. 'kibana' disponível em /usr/share/kibana.
- Configure o Kibana
Ajuste o Kibana para aceitar conexões locais.
sudo sed -i 's/#server.host: "localhost"/server.host: "0.0.0.0"/' /etc/kibana/kibana.ymlO que você deve ver: Arquivo /etc/kibana/kibana.yml com server.host: "0.0.0.0".
- Inicie e habilite o Kibana
Inicie o serviço e configure para iniciar automaticamente.
sudo systemctl enable --now kibanaO que você deve ver: Serviço ativo (systemctl status kibana mostra 'active (running)').
- Instale o Logstash
Logstash é usado para ingestão de dados, estruturados ou não.
sudo apt install -y logstashO que você deve ver: Pacote instalado. 'logstash' disponível em /usr/share/logstash.
- Crie um pipeline de ingestão no Logstash
Configure o Logstash para importar um arquivo CSV de exemplo para o Elasticsearch.
echo 'id,nome,descricao 1,Servidor,Servidor dedicado 2,Switch,Switch gerenciável' > ~/equipamentos.csv echo 'input { file { path => "/home/$USER/equipamentos.csv" start_position => "beginning" sincedb_path => "/dev/null" } } filter { csv { separator => "," columns => ["id","nome","descricao"] } mutate {convert => {"id" => "integer"}} } output { elasticsearch { hosts => ["localhost:9200"] index => "inventario" } stdout {} }' > ~/logstash-inventario.confO que você deve ver: Arquivo ~/logstash-inventario.conf criado com pipeline de ingestão.
- Execute o pipeline do Logstash
Rode o Logstash para importar os dados do CSV.
sudo /usr/share/logstash/bin/logstash -f ~/logstash-inventario.confO que você deve ver: Saída no terminal mostrando eventos processados e enviados ao Elasticsearch.
- Acesse o Kibana
Abra o navegador em http://localhost:5601. Kibana permite buscas e visualização dos dados.
O que você deve ver: Interface do Kibana carregando. Tela inicial disponível.
- Configure o índice no Kibana
No menu 'Management' > 'Stack Management' > 'Index Patterns', crie o padrão 'inventario*'.
O que você deve ver: Index pattern criado. Kibana reconhece o índice 'inventario'.
- Realize buscas e visualize dados
No menu 'Discover', busque por nome:Servidor ou descrição:dedicado.
O que você deve ver: Resultados exibidos na tela, mostrando os registros importados.
Como saber que funcionou
| Teste | Comando | Critério |
|---|---|---|
| Verificar status do Elasticsearch | curl -X GET 'localhost:9200/_cluster/health?pretty' | "status" deve ser "green" ou "yellow" |
| Checar se o índice foi criado | curl -X GET 'localhost:9200/_cat/indices?v' | Índice 'inventario' listado |
| Buscar documento pelo Elasticsearch | curl -X GET 'localhost:9200/inventario/_search?q=nome:Servidor&pretty' | Documento com nome 'Servidor' retornado |
| Acessar Kibana via navegador | Página inicial do Kibana acessível em http://localhost:5601 | |
| Buscar dados no Kibana Discover | Registros do CSV visíveis em Discover |
Troubleshooting
| Sintoma | Causa provável | Correção |
|---|---|---|
| Elasticsearch não inicia | Configuração inválida em elasticsearch.yml | Revise o arquivo e consulte a documentação oficial |
| Kibana não acessível em http://localhost:5601 | Serviço não iniciado ou firewall bloqueando porta | Verifique status do serviço e regras de firewall |
| Logstash não envia dados | Caminho do arquivo CSV incorreto ou permissão insuficiente | Confirme o caminho e permissões do arquivo |
| Índice não aparece no Kibana | Index pattern não criado corretamente | Refaça a criação do index pattern em Stack Management |
| Busca não retorna resultados | Dados não ingeridos ou erro de mapeamento | Revise o pipeline do Logstash e repita a ingestão |
Segurança e hardening
- Nunca exponha as portas 9200 e 5601 para a internet sem autenticação e TLS
- Use firewall para restringir acesso às portas do Elasticsearch e Kibana
- Não utilize dados sensíveis em ambientes de laboratório
- Revise permissões dos arquivos de configuração e dados
Checklist final
- Publicado
- 09/09/2026
- Última revisão
- 09/09/2026
- Versão do conteúdo
- 1.0
- Referências
- 0 oficiais
- Revisão técnica
- redação e revisão por IA, URLs conferidas na publicação
- Status
- Atual
