Ricerca nel sito web

Installa Graylog 4 con Elasticsearch 7.x su CentOS 8/RHEL 8


In questa guida ti guideremo attraverso i passaggi per installare Graylog su CentOS 8/RHEL 8 con Elasticsearch 7.x e MongoDB 4.x. Graylog è un sistema di gestione dei registri open source che consente agli amministratori/sviluppatori di sistema di aggregare fino a terabyte di dati di registro, da più origini di registro. È altamente scalabile per adattarsi a qualsiasi infrastruttura.

Graylog è dotato di un'interfaccia utente intuitiva, funzionalità di ricerca veloce e potente, avvisi e reportistica. Ti consente di raggruppare i sistemi in flussi per facilitare la ricerca dei log e una corretta gestione. L'interfaccia utente di Graylog è semplice e intuitiva con gestione completa degli utenti e supporto per LDAP.

Articoli simili: Come inoltrare i log a Grafana Loki utilizzando Promtail

Installa Graylog 4.x su CentOS 8/RHEL 8 Linux

Graylog richiede Java, Elasticsearch e MongoDB. Elasticsearch è responsabile dell'archiviazione dei log. Inizieremo con l'installazione delle dipendenze e poi di Graylog.

Nota: questa è un'installazione su server singolo di Graylog su CentOS 8/RHEL 8. Per la configurazione multi-cluster, consultare la documentazione ufficiale di Graylog.

Passaggio 1: configurare SELinux

Se stai utilizzando SELinux sul tuo sistema, configura le seguenti impostazioni:

sudo yum -y install curl vim policycoreutils python3-policycoreutils
sudo setsebool -P httpd_can_network_connect 1
sudo semanage port -a -t http_port_t -p tcp 9000
sudo semanage port -a -t http_port_t -p tcp 9200
sudo semanage port -a -t mongod_port_t -p tcp 27017

Passaggio 2: installa Java su RHEL/CentOS 8

Poiché Elasticsearch dipende da Java 8, è necessario che sia installato sul sistema prima di installare Elasticsearch RHEL 8/CentOS 8.

sudo yum install java-11-openjdk java-11-openjdk-devel

Conferma l'installazione di Java:

$ java -version
openjdk version "11.0.14.1" 2022-02-08 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.14.1+1-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.14.1+1-LTS, mixed mode, sharing)

Passaggio 3: installa Elasticsearch 7 su RHEL 8/CentOS 8

Aggiungi il repository Elasticsearch:

cat <<EOF | sudo tee /etc/yum.repos.d/elasticsearch.repo
[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
EOF

Quindi installa Elasticsearch:

sudo yum -y install elasticsearch-oss

Configura Elasticsearch per Graylog

Devi modificare il file di configurazione Elasticsearch e impostare il nome del cluster su graylog, inoltre, devi decommentare (rimuovere # come primo carattere) la riga e aggiungere action.auto_create_index: false al file di configurazione:

Il file da modificare è /etc/elasticsearch/elasticsearch.yml.

$ sudo vi /etc/elasticsearch/elasticsearch.yml
cluster.name: graylog
action.auto_create_index: false

Avvia e attiva il servizio elasticsearch:

sudo systemctl daemon-reload
sudo systemctl enable --now elasticsearch

Conferma lo stato del servizio:

$ systemctl status elasticsearch
 elasticsearch.service - Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2019-09-13 03:53:34 EDT; 9s ago
     Docs: http://www.elastic.co
 Main PID: 16862 (java)
    Tasks: 40 (limit: 24024)
   Memory: 1.1G
   CGroup: /system.slice/elasticsearch.service
           └─16862 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Des.n>

Sep 13 03:53:34 rhel8.novalocal systemd[1]: Stopped Elasticsearch.
Sep 13 03:53:34 rhel8.novalocal systemd[1]: Started Elasticsearch.

I percorsi predefiniti dei file Elasticsearch sono:

Passaggio 4: installa MongoDB su RHEL 8/CentOS 8

MongoDB viene utilizzato per archiviare le configurazioni relative a Graylog. Installalo su CentOS 8/RHEL 8 utilizzando i passaggi condivisi nell'articolo seguente.

  • Come installare MongoDB 4 su RHEL 8/CentOS 8

Abilita e avvia il servizio mongod dopo l'installazione.

sudo systemctl enable --now mongod

Percorsi MongoDB:

Lo stato del servizio dovrebbe essere in esecuzione.

$ systemctl status mongod
 mongod.service - MongoDB Database Server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2019-09-13 03:57:04 EDT; 6s ago
     Docs: https://docs.mongodb.org/manual
  Process: 17397 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS)
  Process: 17395 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 17393 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 17391 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)
 Main PID: 17399 (mongod)
   Memory: 44.7M
   CGroup: /system.slice/mongod.service
           └─17399 /usr/bin/mongod -f /etc/mongod.conf

Sep 13 03:57:03 rhel8.novalocal systemd[1]: Starting MongoDB Database Server...
Sep 13 03:57:03 rhel8.novalocal mongod[17397]: 2019-09-13T03:57:03.538-0400 I STORAGE  [main] Max cache overflow file size custom option: 0
Sep 13 03:57:03 rhel8.novalocal mongod[17397]: about to fork child process, waiting until server is ready for connections.
Sep 13 03:57:03 rhel8.novalocal mongod[17397]: forked process: 17399
Sep 13 03:57:04 rhel8.novalocal mongod[17397]: child process started successfully, parent exiting
Sep 13 03:57:04 rhel8.novalocal systemd[1]: Started MongoDB Database Server.

Passaggio 5: installa Graylog 4 su RHEL 8/CentOS 8

Ora installa la configurazione del repository Graylog:

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

I pacchetti RPM di Graylog sono disponibili nel repository aggiunto.

sudo yum install graylog-server

Ho ottenuto la versione dall'installazione.

$ rpm -qi graylog-server
Name        : graylog-server
Version     : 4.2.7
Release     : 1
Architecture: noarch
Install Date: Sat Mar 19 04:31:15 2022
Group       : optional
Size        : 217896716
License     : SSPL
Signature   : RSA/SHA1, Wed Mar  2 15:51:35 2022, Key ID d44c1d8db1606f22
Source RPM  : graylog-server-4.2.7-1.src.rpm
Build Date  : Wed Mar  2 15:51:24 2022
Build Host  : 34673edd3cec

Devi impostare le variabili password_secret e root_password_sha2 in /etc/graylog/server/server.conf. Queste impostazioni sono obbligatorie e senza di esse Graylog non si avvierà!

Utilizza il seguente comando per creare la tua root_password_sha2:

echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1

Imposta il valore generato in root_password_sha2

$ sudo vi /etc/graylog/server/server.conf
root_username = admin
root_password_sha2 = <Sha2Passowrd>

Genera password_secret.

$ sudo yum -y install pwgen
$ pwgen -N 1 -s 96
ny5eSSuHe03DWW7hGOGMPaVOlbBeZX48OqvTIO7J56rBwh0r99wB1bQwecjyID9S5XrCkzVcPBG0jLPcWiit1Vz1nPse6yBq

$ sudo vi /etc/graylog/server/server.conf
password_secret = ny5eSSuHe03DWW7hGOGMPaVOlbBeZX48OqvTIO7J56rBwh0r99wB1bQwecjyID9S5XrCkzVcPBG0jLPcWiit1Vz1nPse6yBq

Per poterti connettere a Graylog dovresti impostare http_bind_address sul nome host pubblico o su un indirizzo IP pubblico della macchina a cui puoi connetterti.

http_bind_address = 0.0.0.0:9000

L’ultimo passaggio è abilitare Graylog durante l’avvio del sistema operativo:

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

Accedi alla dashboard di Graylog su http://serverip_or_hostname:9000/

Accedi con il nome utente admin e la password root impostata in server.conf.

Passaggio 6: configurare il proxy Nginx (facoltativo)

Abbiamo installato Graylog 4.x con Elasticsearch 7.x su CentOS 8/RHEL 8. Leggi il prossimo articolo su:

  • Configura il proxy inverso Graylog Nginx con Let's Encrypt SSL

Quindi scopri come importare i messaggi nel tuo Graylog ed estrarre i messaggi con gli estrattori o utilizzare le pipeline per lavorare con i messaggi.

Altre guide interessanti:

  • Installa Graylog Server su Debian con Let's Encrypt
  • Installa e configura il server NFS su CentOS 8/RHEL 8
  • Come installare il codice di Visual Studio su CentOS 8/RHEL 8
  • Come installare Jenkins su CentOS 8/RHEL 8

Articoli correlati: