Ticker

6/recent/ticker-posts

COMO INSTALAR O GRAYLOG COM MONGODB 4.4 PRA SERVIDORES FRACOS

 


Aqui está o problema crítico que você precisa saber antes de instalar:


⚠️ Problema de Compatibilidade — Leia Antes

A matriz de compatibilidade atual do Graylog exige MongoDB mínimo 5.0.7 para todas as versões a partir do Graylog 6.x, e MongoDB 7.x mínimo para Graylog 7.x. Graylog

MongoDB 5.x e superiores exigem suporte a AVX no processador. Se o seu CPU não suporta AVX, ele não consegue nem instalar o MongoDB 5+. Graylog

Isso significa que não é possível instalar versões modernas do Graylog (6.x/7.x) com MongoDB 4.4. A última versão do Graylog que suportava MongoDB 4.4 era a 4.x/5.x.


✅ Solução Recomendada: Graylog 4.3 (última versão compatível com MongoDB 4.4)

O Graylog 4.3.x suporta MongoDB 5.0, mas também é compatível com MongoDB 4.4 — e é a versão mais recente que roda sem AVX. Graylog Community

Vou te passar o guia completo para Graylog 4.3 + MongoDB 4.4 + Elasticsearch 7.10.2 no Debian 11.


Guia Completo de Instalação

1. Pré-requisitos e atualização do sistema

bash
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install -y apt-transport-https openjdk-11-jre-headless uuid-runtime pwgen curl gnupg2 wget

Verificar Java:

bash
java -version
# deve mostrar openjdk 11

2. Instalar MongoDB 4.4

bash
# Importar chave GPG
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

# Adicionar repositório (usando buster pois debian 11 não tem repo oficial 4.4)
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | \
  sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

# Instalar
sudo apt-get update
sudo apt-get install -y mongodb-org=4.4.* mongodb-org-server=4.4.* \
  mongodb-org-shell=4.4.* mongodb-org-mongos=4.4.* mongodb-org-tools=4.4.*

# Travar versão para não atualizar
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections

# Habilitar e iniciar
sudo systemctl daemon-reload
sudo systemctl enable mongod.service
sudo systemctl start mongod.service

# Verificar status
sudo systemctl status mongod.service

3. Instalar Elasticsearch 7.10.2

⚠️ Para Graylog 4.3, use somente Elasticsearch 7.10.2 (última versão open-source). Não instale versões superiores.

bash
# Chave GPG
wget -q https://artifacts.elastic.co/GPG-KEY-elasticsearch -O myKey.asc
sudo apt-key add myKey.asc

# Repositório
echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | \
  sudo tee /etc/apt/sources.list.d/elastic-7.x.list

# Instalar versão específica
sudo apt-get update
sudo apt-get install -y elasticsearch-oss=7.10.2

# Travar versão
echo "elasticsearch-oss hold" | sudo dpkg --set-selections

Configurar o Elasticsearch para o Graylog:

bash
sudo nano /etc/elasticsearch/elasticsearch.yml

Adicione/edite as seguintes linhas:

yaml
cluster.name: graylog
action.auto_create_index: false
network.host: 127.0.0.1
http.port: 9200
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["${HOSTNAME}"]
bash
# Configurar JVM heap (ajuste conforme RAM disponível — metade da RAM, máx 32g)
sudo nano /etc/elasticsearch/jvm.options
# Edite as linhas:
# -Xms1g
# -Xmx1g
# (para 2GB RAM use 1g, para 4GB use 2g, etc.)

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

# Aguardar ~30 segundos e testar
curl -X GET "http://localhost:9200/"

4. Instalar Graylog 4.3

bash
# Baixar e instalar repositório do Graylog
wget https://packages.graylog2.org/repo/packages/graylog-4.3-repository_latest.deb
sudo dpkg -i graylog-4.3-repository_latest.deb
sudo apt-get update

# Instalar Graylog server
sudo apt-get install -y graylog-server

5. Configurar o Graylog

Gerar o password_secret (mínimo 64 caracteres):

bash
pwgen -N 1 -s 96
# Copie o resultado gerado

Gerar o hash da senha de admin:

bash
echo -n "SUA_SENHA_AQUI" | sha256sum | cut -d" " -f1
# Copie o hash gerado

Editar o arquivo de configuração:

bash
sudo nano /etc/graylog/server/server.conf

Localize e edite os seguintes parâmetros:

properties
# Cole o resultado do pwgen
password_secret = COLE_AQUI_O_PASSWORD_SECRET

# Cole o hash SHA256 da sua senha
root_password_sha2 = COLE_AQUI_O_HASH_SHA256

# Endereço de acesso à interface web
http_bind_address = 0.0.0.0:9000

# Conexão com Elasticsearch
elasticsearch_hosts = http://127.0.0.1:9200

# Conexão com MongoDB
mongodb_uri = mongodb://localhost/graylog

# Fuso horário (opcional, mas recomendado)
root_timezone = America/Recife

6. Iniciar o Graylog

bash
sudo systemctl daemon-reload
sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service

# Acompanhar os logs de inicialização (leva ~1-2 minutos)
sudo journalctl -fu graylog-server

7. Verificar os serviços

bash
sudo systemctl status mongod
sudo systemctl status elasticsearch
sudo systemctl status graylog-server

8. Acessar a interface web

http://IP_DO_SERVIDOR:9000

Login: admin / SUA_SENHA_AQUI


Resumo do Stack

ComponenteVersãoPorta
Debian11 (Bullseye)
JavaOpenJDK 11
MongoDB4.4.x27017
Elasticsearch OSS7.10.29200
Graylog4.3.x9000

Problemas Comuns

Graylog não sobe (erro de certificado/node_id):

bash
sudo rm /etc/graylog/server/node-id
sudo systemctl restart graylog-server

Elasticsearch não conecta:

bash
curl http://localhost:9200/_cluster/health?pretty
# deve retornar "status": "green" ou "yellow"

MongoDB sem espaço para journal:

bash
# Adicione ao /etc/mongod.conf em storage:
#   wiredTiger:
#     engineConfig:
#       cacheSizeGB: 0.5

Qualquer erro nos logs me passa que a gente resolve!

Postar um comentário

0 Comentários