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.