Instalando o Elastic, Kibana e LogStash via Docker

Atualizado em: 17 de fevereiro 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.12.1;
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.12/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.12/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

7 comentários em “Instalando o Elastic, Kibana e LogStash via Docker

Deixe um comentário

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