Instalando o Graylog via Docker

Atualizado em: 14 de junho de 2021

Nesta página do Graylog tem várias informações a cerca da instalação do Graylog usando imagens Docker para Graylog, MongoDB e ElasticSearch.

Segundo este tutorial, o Graylog é executado usando um conteiner Docker, o que deixa a instalação bem simples e rapidamente você tem o serviço funcionando.

Se você não sabe o que é Docker, recomendo começar lendo os links desta página. É 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 dou curso de Docker: http://blog.aeciopires.com/curso-docker

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

sudo mkdir -p /docker/graylog/mongo/data;
sudo mkdir -p /docker/graylog/elasticsearch/data;
sudo mkdir -p /docker/graylog/data;
sudo chmod -R 777 /docker/graylog;

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 MongoDB, ElasticSearch e Graylog.

docker run --name mongo --restart=always \
  -v /docker/graylog/mongo/data:/data/db -d mongo:4.2;


docker run -d --name elasticsearch \
  --restart=always \
  -e "http.host=0.0.0.0" \
  -e "discovery.type=single-node" \
  -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
  -v /docker/graylog/elasticsearch/data:/usr/share/elasticsearch/data \
  docker.elastic.co/elasticsearch/elasticsearch:7.13.1;

docker run -d --name graylog \
 --hostname graylog-server \
 --restart=always \
 --link mongo \
 --link elasticsearch \
 -v /docker/graylog/data:/usr/share/graylog/data/journal \
 -p 9001:9000 -p 12201:12201 -p 514:514 -p 514:514/udp \
 -e GRAYLOG_WEB_ENDPOINT_URI="http://IP-SERVIDOR:9001/api" \
 graylog/graylog:4.0;

3) Acesse o Graylog na URL http://IP-Servidor:9001 (com HTTP). Por padrão, o login é admin e a senha é admin.

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

docker stop graylog
docker stop elasticsearch
docker stop mongo

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

docker start graylog
docker start elasticsearch
docker start mongo

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

docker logs graylog
docker logs elasticsearch
docker logs mongo

Mais informações sobre o Graylog e como configurá-lo, acesse o link abaixo.

http://docs.graylog.org/en/latest/index.html

https://docs.graylog.org/en/4.0/pages/installation/docker.html



	

7 comentários em “Instalando o Graylog via Docker

  • root@ubuntu-server-logs:~$ docker logs elasticsearch
    OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
    OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error=’Cannot allocate memory’ (errno=12)
    #
    # There is insufficient memory for the Java Runtime Environment to continue.
    # Native memory allocation (mmap) failed to map 2060255232 bytes for committing reserved memory.

    Vale lembrar que para executar tudo isso, precisa verificar se há memória suficiente no servidor.

  • Boa noite,
    -e GRAYLOG_WEB_ENDPOINT_URI=”http://IP-SERVIDOR:9001/api” \
    Nesta opão de ip do servidor, eu aponto o ip do elastiticsearch ou posso colocar localhost?

  • Bom dia, Glauber!

    É para colocar o IP do servidor no qual o Graylog está sendo instalado via Docker.

    Se colocar ‘localhost’ não vai funcionar, pois quando estamos trabalhando com contêiner, se você usar ‘localhost’ a aplicação tentará acessar o próprio contêiner e não o servidor que executa o contêiner, entendeu?

    Então, para evitar essa confusão, a gente deve especificar o IP do servidor no qual o Graylog está sendo instalado.

    Essa configuração aí não tem relação alguma com o ElasticSearch, ela se refere em qual endpoint (URL) será disponibilizada a interface web do Graylog.

    Abraço.

  • Aécio,
    Os serviços docker subiu e estão up na minha configuração.
    Porem a interface web fica branco.
    pode me ajudar ?
    Já subi o recurso da maquina de laboratório que estou fazendo os testes. esta com 4GB de RAM e 4vCPU.

  • Oi, Bruno!

    1- Você olhou os logs de cada contêiner para identificar as possíveis mensagens de erro?

    2- Se sim, chegou a pesquisar no google sobre as mensagens de erro?

    3- No comando que inicia o contêiner do Graylog, você informou o IP ou usou localhost? É para usar o IP do host e não localhost, conforme expliquei para Glauber no comentário anterior.

    4- Você está tentando acessar o Graylog no navegador usando o mesmo IP e porta da criação do contêiner?

    No momento eu só consigo pensar nestes cenários…

    Abraço.

Deixe um comentário

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