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