Instalação do GrayLog 2.4 no Centos 7

Introdução

Graylog é uma ótima ferramenta open-source para gerenciamento de logs, desenvolvida por Lennart Koopman. Buscando facilitar a compreensão de informações dos serviços e com interface web. O Graylog extrai dados importantes dos logs do servidor, que geralmente são enviados usando protocolo Syslog.

Componentes:

Para funcionamento do GrayLog, os componentes abaixo precisam ser instalado:

  • GrayLog: A versão que vamos usar para instalação será 2.4;
  • MongoDB: O MongoDB pode ser instalado na versão atual;
  • Elasticsearch: Certas versões do Elasticsearch não é compativel com o GrayLog. Por exemplo, a versão 2.3 não funciona em Elasticsearch 5.x. Neste artigo vamos usar o GrayLog 2.4 com Elasticsearch 5.x(compatível).

Pré-requisitos:

A instalação será feita no Centos, 4 Gib memória e OpenJDK-8 instalado.

Localização dos arquivos

Graylog

  • Configuração: /etc/graylog/server/server.conf;
  • Configuração do Loggin: /etc/graylog/server/log4j2.xml;
  • Plugins: /usr/share/graylog-server/plugin;
  • Configuração JVM: /etc/sysconfig/graylog-server;
  • Message Journal files : /var/lib/graylog-server/journal;
  • Log files: /var/log/graylog-server/.

Elasticsearch

  • Configuração: /etc/elasticsearch;
  • Configuração JVM : /etc/sysconfig/elasticsearch;
  • Data files: /var/lib/elasticsearch/;
  • Log files: /var/log/elasticsearch/.

MongoDB

  • Configuração: /etc/mongod.conf;
  • Data files: /var/lib/mongodb/;
  • Log files: /var/log/mongodb/.

Instalando Oracle JDK

Em primeiro lugar, execute yum update para atualizar os pacotes do Centos :

sudo yum update

Em seguida execute yum install para instalar Oracle JDK e outros pacotes:

sudo yum install java-1.8.0-openjdk-headless.x86_64

Se você for usar o pwgen depois, é necessário instalar no EPEL e logo em seguida instalar o pwpgen:

sudo yum epel-release 
sudo yum install pwgen -y

Instalando MongoDB

A instalação do MongoDB é bastante simples. Primeiro crie um arquivo de repositório em /etc/yum.repos.d/mongodb-org.repo e adicione essas linhas:

[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

Em seguida execute yum install mongodb-org para instalação:

sudo yum install -y mongodb-org

Após a instalação do mongodb habilite o serviço para iniciar durante startup:

sudo systemctl daemon-reload
sudo systemctl enable mongod.service

Inicie o serviço:

sudo systemctl start mongod.service 
sudo systemctl status mongod 
Active: active (running) since Fri 2018-11-09 16:48:59 UTC; 5s ago

Instalando Elasticsearch

GrayLog 2.4 requer Elasticsearch 5.x. Em primeiro lugar, instale o GPG Key:

 sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Em seguida, crie um arquivo de repositório em /etc/yum.repos.d/elasticsearch.repo e adicione essas linhas:

sudo vim /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Execute yum install para instalar o elasticsearch:

sudo yum install elasticsearch

Depois da instalação do elasticsearch precisamos descomentar a linha cluster.name e adicionar um nome para o cluster:

sudo vim /etc/elasticsearch/elasticsearch.yml
cluster.name: graylog-lab

Adicione nas últimas linhas do arquivo elasticsearch.yml as recomendações de segurança informado na documentação do Elasticsearch:

script.inline: false
script.stored: false
script.file: false
bootstrap.memory_lock: true

Habilite o serviço para iniciar durante startup:

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service

Inicie o serviço:

sudo systemctl restart elasticsearch.service 
sudo systemctl status elasticsearch 
Active: active (running) since Wed 2018-11-07 17:14:55 UTC; 4min 19s ago

Para testar o elasticsearch, execute curl na porta 9200:

curl -XGET 'http://localhost:9200'

Instalando GrayLog

“Chegou o momento esperado..”

Depois ter feito a instalação do MongoDB e Elasticsearch, próxima etapa é iniciar a instalação do Graylog \o/. Em primeiro lugar,instale o repositório Graylog e execute yum install para instalar o graylog-server:

sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.4-repository_latest.rpm
sudo yum install graylog-server

É necessário gerar um password random . Você pode gerar este password executando pwgen.

pwgen -s 96 1

Após gerar o password random, edite o arquivo /etc/graylog/server/server.conf e adicione em password_secret:

sudo vim /etc/graylog/server/server.conf
password_secret = YJBIXm0tGdLbjlkLokS8jMAebqvkN0hUW7M2PAkuuh5y7aL1G9nNTpu4GDIe5Iaqnw9tiBZ1lOgZar63yLe7vG6iWlTo01zW

Gere outra senha em formato shasum e adicionar em root_password_sha2( esta senha será do usuário admin). Onde estiver PASSWD_ROOT_PASSWORD_SHA2 insira uma senha :

echo -n <PASSWD_ROOT_PASSWORD_SHA2> | shasum -a 256

Em seguida edite o arquivo /etc/graylog/server/server.conf e adicione a senha criada em root_password_sha2:

sudo vim /etc/graylog/server/server.conf
root_password_sha2 = 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

Após gerar as senhas referente ao root_password_sha2 e password_secret, adicione o IP do servidor nos paramêtros rest_listen_uri e web_listen_uri:

rest_listen_uri = http://<IP_GRAYLOG>:9000/api/
web_listen_uri = http://<IP_GRAYLOG>:9000/

Em seguida, habilite o serviço para iniciar durante startup:

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

Depois, inicie o serviço:

sudo systemctl start graylog-server.service

Aguarde alguns instantes e acessa pelo Browser http://<IP_GRAYLOG>:9000, usuário: Admin e senha: gerada via shasum

Instalação do GrayLog finalizada.

Ajustes no SElinux

Se você utiliza o SElinux no seu Centos, instale o policycoreutils-python para gerenciá-lo:

sudo yum install policycoreutils-python

Para permitir acesso web execute:

sudo setsebool -P httpd_can_network_connect_1

GrayLog REST API e web interface:

sudo semanage port -a -t http_port_t -p tcp 9000

Elasticsearch

sudo semanage port -a -t http_port_t -p tcp 9200

Permissão para o MongoDB usar a porta 27017

sudo semanage port -a -t mongod_port_t -p tcp 27017

O próximo passo é configurar o Graylog para receber mensagens do syslog.

Fonte:https://www.elastic.co/guide/en/elasticsearch/reference/5.5/modules-scripting-security.html
http://docs.graylog.org/en/2.4/pages/installation/os/centos.html
http://docs.graylog.org/en/2.4/pages/installation/os/centos.html#selinux-information

About: Bezaleel Ramos

Fundador da empresa Onx Solutions em Goiânia. Formado em Tecnologia em Redes de Computadores pela Universidade Nove de Julho em São Paulo. Possui certificações LPIC-1,LPIC-2, ZABBIX Certified Specialist,Novell Certified Linux Administrator (CLA) e Linux Administrator for SUSE Linux Enterprise.