Instalando o Elastic, Kibana e LogStash via Docker

Atualizado em: 28 de setembro de 2024

Nesta página do Elastic (também conhecido com ElasticSearch) tem várias informações a cerca da instalação do stack ELK (Elastic, LogStash e Kibana).

A instalação usando o Docker é  bem mais simples e rápida.

Se você não sabe o que é Docker, recomendo começar lendo os links abaixo. É um longo caminho, mas vale a pena conhecer essa tecnologia.

http://blog.aeciopires.com/palestra-transportando-as-aplicacoes-entre-varios-ambientes-com-docker/
http://blog.aeciopires.com/primeiros-passos-com-docker/

Também ministro curso de Docker: http://blog.aeciopires.com/curso-docker

0) Crie o diretório abaixo para persistir os dados dos conteiners.

sudo mkdir -p /docker/elastic/data;
sudo chmod -R g+rwx /docker/elastic;
sudo chown -R 1000:1000 /docker/elastic;

1) Aumente o tamanho da quantidade de arquivos que podem ser carregados na memória com o comando abaixo. Fonte: https://www.elastic.co/guide/en/elasticsearch/reference/current/vm-max-map-count.html

sudo sysctl -w vm.max_map_count=262144;

2) Baixe as imagens Docker e execute os conteineres do Elastic, Kibana e LogStash. Ambos tem que usar o mesmo número de versão para manter compatibilidade entre os componentes. Nos comandos abaixo, troque o IP_SERVIDOR_ELASTIC pelo IP do servidor que executa o ElasticSearch.

docker network create elastic
VERSAO=8.15.2;
export VERSAO;
docker run -d --name elastic \
 -p 9200:9200 -p 9300:9300 \
 --restart=always \
 --net elastic \
 -e "http.host=0.0.0.0" \
 -e "discovery.type=single-node" \
 -m 1GB \
 -v /docker/elastic/data:/usr/share/elasticsearch/data \
 docker.elastic.co/elasticsearch/elasticsearch:$VERSAO

Fonte: https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docker.html

docker run -d --name kibana \
 -p 5601:5601 \
 --restart=always \
 --net elastic \
 docker.elastic.co/kibana/kibana:$VERSAO


# Gere uma nova senha para o usuário elasticsearch e token de acesso ao Kibana com os seguinte comandos:

docker exec -it elastic /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic

docker exec -it elastic /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

Fonte: https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docker.html

docker run -d --name logstash \
 --restart=always \
 --net elastic \
 -e   "MONITORING.ELASTICSEARCH.HOSTS=http://IP_SERVIDOR_ELASTIC:9200" \
 docker.elastic.co/logstash/logstash:$VERSAO

Fonte:
https://www.elastic.co/guide/en/logstash/current/docker.html
https://www.elastic.co/guide/en/logstash/current/setup-logstash.html

3) Acesse o Kibana na URL http://IP-Servidor:5601. Cole o token gerado para o Kibana e clique no botão Configure Elastic. Após o Kibana ser configurado automaticamente, entre com o usuário elastic e a senha gerada pelo usuário elastic no terminal nos passos anteriores.

4) Se quiser parar o conteiner, é só executar os comandos abaixo.

docker stop elastic
docker stop kibana
docker stop logstash

5) Para iniciá-lo novamente, execute o comando abaixo.

docker start elastic
docker start kibana
docker start logstash

6) Para visualizar os logs, execute o comando abaixo.

docker logs -f elastic
docker logs -f kibana
docker logs -f logstash

Mais informações sobre o stack ELK  e como configurá-lo, acesse os links abaixo.

https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html

https://www.elastic.co/guide/en/elastic-stack/current/installing-elastic-stack.html

https://www.tutorialspoint.com/elasticsearch/index.htm

https://www.elastic.co/guide/en/kibana/current/index.html

https://www.elastic.co/guide/en/logstash/current/index.html

https://www.tutorialspoint.com/logstash/index.htm

https://www.elastic.co/guide/en/beats/libbeat/current/index.html

Categories:

7 respostas para “Instalando o Elastic, Kibana e LogStash via Docker”

  1. […] JHipster Console é um sistema baseado no ELK Stack, que foi mostrado como instalá-lo via Docker neste post. Ele é mais uma das ferramentas de apoio do framework JHipster (que facilita a criação de […]

  2. Avatar de Rogério
    Rogério

    Aécio muito bom artigo.
    Poderia tirar uma dúvida como altero a quantidade de memória do Java, usado pelo logstash?

  3. Avatar de Aécio Pires
    Aécio Pires

    Oi, Rogério!

    Que bom que o tutorial foi útil.

    Para ajustar a performance e parâmetros de configuração do logstash, olha o conteúdo dos links abaixo.

    https://www.elastic.co/guide/en/logstash/current/tuning-logstash.html
    https://discuss.elastic.co/t/changing-logstash-heap-size/69542
    https://www.elastic.co/guide/en/logstash/current/performance-troubleshooting.html

    Abraço e fique com Deus. 🙂

  4. Avatar de Manoel

    Olá, Aécio Pires. Curti demais o seu site e já peguei muitas dicas aqui. Já tem 3 dias que luto para colocar o Kibana junto ao Elasticsearch, porém, seguindo qualquer tutorial, até os oficiais do site sempre me deparo com o erro Kibana server is not ready yet. Já pssou por isso? Obrigado

  5. Avatar de Bruno Barreto Bergamo
    Bruno Barreto Bergamo

    Olá Aécio! Muito Obrigado pelas dicas !

    é possível também subir multiplos nodes de elasticsearch com o docker?

    Muito Obrigado,
    Bruno

  6. Avatar de Aécio Pires
    Aécio Pires

    Oi, Bruno!

    Obrigado pelo Feedback. Ainda não fiz isso, não tecnicamente não vejo porque seria inviável. Pesquisa um pouco e tenta fazer. Dando certo compartilha os resultados aqui nos comentários que atualizarei o tutorial e te darei os créditos! 🙂

    Será útil para ajudar outras pessoas.

    Abraço e fica com Deus.

  7. […] ) e também possui o stack ELK instalado (veja este tutorial http://blog.aeciopires.com/instalando-o-elastic-kibana-e-logstash-via-docker), você pode configurar a integração seguindo os passos abaixo. Eles também servem se quiser […]

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *