Pesquisa de site

Como instalar a ferramenta de gerenciamento de log Graylog em sistemas RHEL


Graylog é uma solução de gerenciamento de log de código aberto líder do setor para coletar, armazenar, indexar e analisar dados em tempo real de aplicativos e uma infinidade de dispositivos em infraestruturas de TI, como servidores, roteadores e firewalls.

O Graylog ajuda você a obter mais insights sobre os dados coletados, combinando diversas pesquisas para análises e relatórios detalhados. Ele também detecta ameaças e possíveis atividades nefastas, conduzindo uma análise profunda dos logs de fontes remotas.

Graylog compreende o seguinte:

  • O Servidor Graylog – Este é o servidor principal e é usado para processar logs.
  • A interface da web Graylog – Este é um aplicativo de navegador que dá uma olhada nos dados e logs coletados de vários endpoints.
  • MongoDB – Um servidor de banco de dados NoSQL para armazenar dados de configuração.
  • ElasticSearch – Este é um mecanismo de pesquisa e análise gratuito e de código aberto que analisa e indexa dados brutos de várias fontes.

A arquitetura do Graylog aceita qualquer tipo de dados estruturados, incluindo tráfego de rede e logs dos seguintes:

  • Syslog (TCP, UDP, AMQP, Kafka).
  • AWS – logs da AWS, CloudTrail e FlowLogs.
  • Fluxo de rede (UDP).
  • GELF (TCP, UDP, AMQP, Kafka).
  • ELK – Beats e Logstash.
  • Caminho JSON da API HTTP.

Algumas das gigantescas empresas de tecnologia que implementam Graylog em suas pilhas de tecnologia incluem Fiverr, CircleCI, CraftBase e CraftBase e CircleCI. forte>BitPanda.

Neste guia, mostraremos como instalar a ferramenta de gerenciamento de log Graylog no RHEL 8 e em distros baseadas em RHEL como AlmaLinux, CentOS Stream e Rocky Linux.

Etapa 1: instalar o repositório EPEL e pacotes de pré-requisitos

Para começar, você precisa de alguns pacotes essenciais que serão úteis à medida que você avança neste guia. Primeiro, instale o repositório EPEL que fornece um rico conjunto de pacotes de software para distribuições RHEL e RHEL.

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

A seguir, instale os seguintes pacotes que serão necessários ao longo do caminho.

sudo dnf install -y pwgen wget curl perl-Digest-SHA

Etapa 2: Instale Java (OpenJDK) no RHEL

Um dos pré-requisitos para instalar o Graylog é o Java 8 e versões posteriores. Aqui, instalaremos a versão LTS mais recente do Java, que é o Java 11, que será fornecido pelo OpenJDK 11.

Portanto, execute o seguinte comando para instalar o OpenJDK.

sudo dnf install java-11-openjdk java-11-openjdk-devel -y

Isso instala dependências Java e uma série de outras dependências.

Assim que a instalação for concluída, verifique a versão instalada.

java -version

Etapa 3: Instale o Elasticsearch no RHEL

Elasticsearch é um mecanismo de pesquisa e análise gratuito e de código aberto que lida com uma ampla variedade de dados, incluindo dados estruturados, não estruturados, numéricos, geoespaciais e textuais.

É um componente-chave da pilha Elastic, também conhecido como ELK (Elasticsearch, Logstash e Kibana), e é amplamente utilizado por suas APIs REST simples, escalabilidade e velocidade.

Graylog requer Elasticsearch 6.x ou 7.x. Instalaremos o Elasticsearch 7.x, que é a versão mais recente no momento da publicação deste guia.

Crie o arquivo de repositório Elasticsearch.

sudo vim  /etc/yum.repos.d/elasticsearch.repo

Em seguida, cole as seguintes linhas de código no arquivo.

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/oss-7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Salve as alterações e saia.

Em seguida, instale o Elasticsearch usando o gerenciador de pacotes DNF conforme mostrado.

sudo dnf install elasticsearch-oss

Para que o Elasticsearch funcione com o Graylog, algumas alterações são necessárias. Portanto, abra o arquivo elasticsearch.yml.

sudo vim /etc/elasticsearch/elasticsearch.yml

Atualize o nome do cluster para Graylog conforme mostrado.

cluster.name: graylog

Salve as alterações e saia.

Em seguida, recarregue a configuração do gerenciador systemd.

sudo systemctl daemon-reload

Em seguida, habilite e inicie o serviço Elasticsearch executando os comandos a seguir.

sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

O Elasticsearch escuta a porta 9200 por padrão para processar solicitações HTTP. Você pode confirmar isso enviando uma solicitação CURL conforme mostrado.

curl -X GET http://localhost:9200

Etapa 4: Instale o MongoDB no RHEL

Graylog usa um servidor de banco de dados MongoDB para armazenar dados de configuração.

Instalaremos o MongoDB 4.4, mas primeiro, crie um arquivo de configuração para o MongoDB.

sudo vim /etc/yum.repos.d/mongodb-org-4.repo

Em seguida, cole a seguinte configuração.

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

Salve as alterações e saia.

Em seguida, instale o MongoDB da seguinte maneira.

sudo dnf install mongodb-org

Depois de instalado, inicie e habilite o MongoDB para iniciar na inicialização do sistema.

sudo systemctl start mongod
sudo systemctl enable mongod

Para verificar a versão do MongoDB, execute o comando:

mongo --version

Etapa 5: Instale o servidor Graylog no RHEL

Com todos os componentes de pré-requisitos instalados, instale agora o Graylog executando os seguintes comandos.

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

Você pode verificar a instalação do Graylog conforme mostrado:

rpm -qi graylog-server

Agora, inicie e habilite o servidor Graylog para iniciar no momento da inicialização.

sudo systemctl start graylog-server.service
sudo systemctl enable  graylog-server.service

Etapa 6: Configurar o servidor Graylog no RHEL

Para que o Graylog funcione conforme esperado, algumas etapas adicionais são necessárias. Você precisa definir os seguintes parâmetros no arquivo de configuração:

root_password_sha2 
password_secret
root_username
http_bind_address

Definiremos essas variáveis no arquivo /etc/graylog/server/server.conf que é o arquivo de configuração padrão.

O root_password_sha2 é a senha hash do usuário root. Para gerá-lo execute o seguinte comando. O P@ssword321 é apenas um espaço reservado. Sinta-se à vontade para especificar sua própria senha.

echo -n P@ssword321 | shasum -a 256

Saída

68e865af8ddbeffc494508bb6181167fccf0bb7c0cab421c54ef3067bdd8d85d

Anote esta senha e salve-a em algum lugar.

Em seguida, gere o password_secret da seguinte maneira:

pwgen -N 1 -s 96

Saída

T1EtSsecY0QE4jIG3t6e96A5qLU5WhS9p5SliveX9kybWjC3WKhN4246oqGYPe4BTLXaaiOcM7LyuSd9bGAonQxkTsTjuqBf

Novamente, anote esta senha com hash.

Em seguida, abra o arquivo de configuração do Graylog.

sudo vim /etc/graylog/server/server.conf

Cole os valores gerados para root_password_sha2 e password_secret conforme mostrado.

root_username = admin
root_password_sha2 = 68e865af8ddbeffc494508bb6181167fccf0bb7c0cab421c54ef3067bdd8d85d
password_secret = T1EtSsecY0QE4jIG3t6e96A5qLU5WhS9p5SliveX9kybWjC3WKhN4246oqGYPe4BTLXaaiOcM7LyuSd9bGAonQxkTsTjuqBf

Além disso, torne o Graylog acessível a usuários externos definindo o parâmetro http_bind_address conforme a seguir.

http_bind_address = 0.0.0.0:9000

Além disso, configure o fuso horário do servidor Graylog.

root_timezone = UTC

Salve e saia do arquivo de configuração.

Para aplicar as alterações, reinicie o servidor Graylog.

sudo systemctl restart graylog-server.service

Você pode confirmar nos arquivos de log e verificar se o Graylog está funcionando conforme o esperado.

tail -f /var/log/graylog-server/server.log

A saída a seguir na última linha mostra que está tudo bem.

Graylog escuta na porta 9000 que fornece acesso à interface web. Então, abra esta porta no firewall.

sudo firewall-cmd --add-port=9000/tcp  --permanent
sudo firewall-cmd --reload

Etapa 7: acessar a interface da Web do Graylog

Para acessar o Graylog, navegue no seguinte URL.

http://server-ip:9000
OR
http://domain-name:9000

Faça login com seu nome de usuário admin e a senha configurada para root_password_sha2 no arquivo server.conf.

Uma vez logado, você deverá ver o seguinte painel.

A partir daqui, você pode prosseguir com a análise de dados e logs coletados de várias fontes de dados.

Graylog continua a ser uma solução popular de gerenciamento de log centralizado para desenvolvedores e equipes de operação. A análise dos dados coletados fornece insights profundos sobre o estado de funcionamento de vários aplicativos e dispositivos e ajuda a encontrar erros e otimizar as operações de TI.

Isso é tudo para este guia. Neste tutorial, demonstramos como instalar o Graylog Server em distribuições Linux baseadas em RHEL.