Gerenciador de log’s GrayLog no CentOS 7

O GrayLog é uma ferramenta open-source para análise de logs que tem por objetivo armazenar e centralizar os log’s de um cluster, possibilitando um troubleshooting mais preciso auxiliando no monitoramento da infraestrutura computacional. Com o GrayLog é possível criar dashboards par verificar uma determinada quantidade de erro, ou quantos clientes estabeleceram conexões ou não por exemplo.

O GrayLog é composto basicamente por quatro componentes:

  • Graylog Server – Faz a análise e coleta dos logs e os envia para o ElasticSearch.
  • Graylog Web – A interface para o Graylog Server.
  • MongoDB – Responsável pelo armazenamento das configurações e metadados
  • Elasticsearch – Armazena os logs e é responsável pela busca.
INSTALAÇÃO

Requisitos:

– Linux (Debian Linux, Ubuntu Linux, or CentOS);
– Elasticsearch 2.x (2.1.0 ou posterior);
– MongoDB 2.4 ou posterior;
– Oracle Java SE 8 ou posterior (OpenJDK 8 também funciona);

Para este artigo utilizaremos o CentOS 7.

[root@notebook ~]# yum install -y java-1.8.0-openjdk-headless.x86_64
MongoDB

Para instalarmos o MongoDB primeiro vamos habilitar seu repositório:

[root@centos7 ~]# cd /etc/yum.repos.d/

[root@centos7 yum.repos.d]# touch mongodb-org.3.2.repo

E adicionamos o conteúdo:

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

E instalamos o MongoDB:

[root@centos7 yum.repos.d]# yum install -y mongodb-org.x86_64

E colocamos para iniciá-lo com o sistema:

[root@centos7 ~]# chkconfig --add mongod
[root@centos7 ~]# systemctl daemon-reload
[root@centos7 ~]# systemctl enable mongod.service
[root@centos7 ~]# systemctl start mongod.service
ElasticSearch

Para instalar o GrayLog 2.x.x precisamos do ElasticSearch 2.x.

[root@centos7 ~]# cd /etc/yum.repos.d/
[root@centos7 ~]# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
[root@centos7 ~]# yum install elasticsearch.noarch
[root@centos7 ~]# chkconfig --add elasticsearch
[root@centos7 ~]# systemctl daemon-reload
[root@centos7 ~]# systemctl enable elasticsearch.service

No arquivo de configuração do ElasticSearch /etc/elasticsearch/elasticsearch.yml adicionamos as entradas:

cluster.name: graylog
http.port: 9200
[root@centos7 ~]# systemctl start elasticsearch.service

Para testar a instalação:

[root@centos7 ~]# curl -X GET http://localhost:9200
{
"name" : "Maria Hill",
"cluster_name" : "graylog",
"cluster_uuid" : "eS_dVhIFRzSUoi1ZkocW6w",
"version" : {
"number" : "2.4.4",
"build_hash" : "fcbb46dfd45562a9cf00c604b30849a6dec6b017",
"build_timestamp" : "2017-01-03T11:33:16Z",
"build_snapshot" : false,
"lucene_version" : "5.5.2"
},
"tagline" : "You Know, for Search"
}
GrayLog

Instalação:

[root@centos7 ~]# rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.rpm
[root@centos7 ~]# yum install -y graylog-server.noarch
[root@centos7 ~]# systemctl enable graylog-server.service
[root@centos7 ~]# systemctl start graylog-server.service

Vamos criar uma senha com o utilitário pwgen para o GrayLog:

[root@centos7 ~]# yum install epel-release.noarch -y

[root@centos7 ~]# yum install -y pwgen.x86_64

Essa senha será para a diretiva “password_secret”.

[root@centos7 ~]# pwgen -N 1 -s 96
IS1NC1EXpnL3MYgzLAkIzm5gIUKzcm9nJOAhAZmTJtC6eo94qAcxx75GR7JQfBHSxSgn1WPMnYHiZ8wyMHEKcrOZWYHnGa85

E uma senha para logar no GrayLog Web Server:

[root@centos7 ~]# echo -n 123456 | sha256sum
8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92 -

Essa será para a “root_password_sha2”.

E editamos o /etc/graylog/server/server.conf:

password_secret = j7RKEVGHOuRQEvyvde74v9TpoPtdz2ZT4EgCFf2n8KDFcqT985PdqektSMqGuGPLAvXj6FAt2IFxElsMhHm5tfKOvgO2lFLO
root_username = admin
root_password_sha2 = 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
root_timezone = America/Sao_Paulo
rest_listen_uri = http://192.168.0.104:12900
rest_transport_uri = http://192.168.0.104:12900
web_listen_uri = http://192.168.0.104:9000/
elasticsearch_cluster_name = graylog
[root@notebook ~]# systemctl restart graylog-server.service

Agora no nosso navegador digitamos nosso endereço IP e a porta 9000 e logamos na ferramenta.

Referência:
https://www.graylog.org/bloghttp://docs.graylog.org/en/2.2/pages/installation/os/centos.html
https://www.graylog.org/download
http://docs.graylog.org/en/latest/pages/architecture.htmlhttps://www.graylog.org/features
http://docs.graylog.org/en/2.2/pages/installation.htmlhttps://www.youtube.com/watch?v=sKnkQSec1U0
https://www.elastic.co/products/elasticsearch