Graylog é uma empresa de software de gerenciamento de log com sede em Houston, Texas. Graylog, anteriormente Torch, foi fundado em 2009 por Lennart Koopmann e começou como um projeto de código aberto em Hamburgo, Alemanha. A sede fica em Houston, Texas.
Como funciona o Graylog
O Graylog é uma ferramenta de código aberto cuja função é extrair dados de LOG dos servidores. As informações coletadas são exibidas em um dashboard, ou seja, o usuário as analisa via interface web. Um dos fatores que colocam o propósito do Graylog em prática é a sua estrutura.
Este guia descreve a maneira mais rápida de instalar o Graylog no Debian Linux 10 (Buster). Todos os links e pacotes estão presentes no momento da escrita, mas podem precisar ser atualizados posteriormente.
Para fazer essa instalação utilizarei o Debian 10 sem recursos extras, e para utilizar o Graylog precisaremos utilizar alguns serviços, este que podem ser encontrado no link a seguir. iremos utilizar todos os recursos do link a seguir.https://jbits.com.br/?p=82
Pré-requisitos
Se você estiver começando com uma configuração mínima de servidor, precisará instalar estes pacotes adicionais:
$ sudo apt update && sudo apt upgrade
$ sudo apt install apt-transport-https openjdk-11-jre-headless uuid-runtime pwgen dirmngr gnupg wget
MongoDB
O repositório oficial do MongoDB fornece a versão mais atualizada e é a maneira recomendada de instalar o MongoDB:
$ wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
$ echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
$ sudo apt-get update
$ sudo apt-get install -y mongodb-org
A próxima etapa é habilitar o MongoDB durante a inicialização do sistema operacional:
$ sudo systemctl daemon-reload
$ sudo systemctl enable mongod.service
$ sudo systemctl restart mongod.service
$ sudo systemctl --type=service --state=active | grep mongod
Elasticsearch
Graylog pode ser usado com Elasticsearch 7.x, siga as instruções abaixo para instalar a versão de código aberto do Elasticsearch.
$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
$ echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
$ sudo apt update && sudo apt install elasticsearch-oss
As instruções acima são derivadas da página de instalação do Elasticsearch
Modifique o arquivo de configuração Elasticsearch ( /etc/elasticsearch/elasticsearch.yml
) e defina o nome do cluster como graylog
e descomente para ativar a ação: action.auto_create_index: false
O comando a seguir irar fazer esse passo automaticamente
$ sudo tee -a /etc/elasticsearch/elasticsearch.yml > /dev/null <<EOT
cluster.name: graylog
action.auto_create_index: false
EOT
Depois de modificar a configuração, você pode iniciar o Elasticsearch e verificar se ele está em execução.
$ sudo systemctl daemon-reload
$ sudo systemctl enable elasticsearch.service
$ sudo systemctl restart elasticsearch.service
$ sudo systemctl restart elasticsearch.service
Graylog
Agora instale a configuração do repositório Graylog e o próprio Graylog com os seguintes comandos:
$ wget https://packages.graylog2.org/repo/packages/graylog-4.0-repository_latest.deb
$ sudo dpkg -i graylog-4.0-repository_latest.deb
$ sudo apt-get update && sudo apt-get install graylog-server graylog-enterprise-plugins graylog-integrations-plugins graylog-enterprise-integrations-plugins
Edite o arquivo de configuração
Leia as instruções no arquivo de configurações e edite conforme necessário, localizado em /etc/graylog/server/server.conf
. Além disso, adicione password_secret
e, root_password_sha2
pois são obrigatórios e o Graylog não será iniciado sem eles .
Para criar seu, root_password_sha2
execute o seguinte comando:
echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
apos o comando acima editar no mesmo arquivo os seguintes campos:
Para poder se conectar ao Graylog, você deve definir http_bind_address
o nome do host público ou um endereço IP público da máquina à qual você pode se conectar.
$ vim /etc/graylog/server/server.conf
is_master = true
password_secret = [gerada anteriormente]
root_password_sha2 = [gerada anteriormente]
root_timezone = America/Bahia
http_bind_address = ip_address:9000
http_publish_uri = http://ip_address:9000/
A última etapa é habilitar Graylog durante a inicialização do sistema operacional e verificar se ele está funcionando.
$ sudo systemctl daemon-reload
$ sudo systemctl enable graylog-server.service
$ sudo systemctl start graylog-server.service
$ sudo systemctl --type=service --state=active | grep graylog
NGINX
agora vamos instalar o nosso serviço nginx para podermos acessar o nosso serviço Graylog
sudo apt install nginx
agora iremos criar o nosso arquivo de configuração no graylog no nginx:
nano /etc/nginx/conf.d/graylog.conf
cole o código abaixo:
server
{
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name graylog.example.org;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Graylog-Server-URL http://$server_name/;
proxy_pass http://127.0.0.1:9000;
}
}
systemctl restart nginx.service
Agora é so digitar no seu navegador http://ip_address:9000

DICA:
Caso o serviço não apareça, é só dar um reboot na maquina, se tiver tudo certinho o serviço vai funcionar. 😉
Fontes:
https://nginx.org/en/download.html
https://www.mongodb.com/
https://docs.graylog.org/en/4.0/pages/installation.html