Ricerca nel sito web

Come installare Graylog 4 su CentOS 7|RHEL 7


In questa guida ti guiderò attraverso i passaggi per installare Graylog 4 sul sistema CentOS 7|RHEL 7 Linux. Graylog è una piattaforma di gestione dei log open source che ti consente di aggregare fino a terabyte di dati di log, da più origini log, DC e aree geografiche con la possibilità di scalare orizzontalmente nel tuo data center, cloud o entrambi.

La funzione di ricerca di Graylog è davvero veloce e potente, quindi puoi raggruppare i tuoi server in flussi per una facile ricerca nei log. L'interfaccia utente di Graylog è semplice e intuitiva con una gestione utente completa e supporto per LDAP. Ha anche il supporto per gli avvisi e i report.

Graylog 4.x supporta completamente Elasticsearch 7.x e qualsiasi versione più recente di MongoDB – 4.x. Se sei un utente Ubuntu e CentOS 8, controlla:

  • Installa GrayLog su Ubuntu 20.04/Ubuntu 18.04
  • Installa GrayLog su CentOS 8

Graylog dipende da Java, Elasticsearch e MongoDB per le sue funzioni. Elasticsearch è responsabile dell'archiviazione dei log e MongoDB dell'archiviazione delle configurazioni relative a Graylog.

Passaggio 1: configurare SELinux

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

sudo yum -y install curl vim 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: aggiungi i repository richiesti:

Abilita archivio EPEL.

CentOS 7:

sudo yum -y install epel-release

RHEL 7:

sudo subscription-manager repos --enable rhel-*-optional-rpms \
                           --enable rhel-*-extras-rpms \
                           --enable rhel-ha-for-rhel-*-server-rpms
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Aggiungi il repository MongoDB:

sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo <<EOF
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOF

Aggiungi il repository Elasticsearch:

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

Aggiorna la cache dell'indice del pacchetto YUM:

sudo yum clean all
sudo yum -y makecache

Conferma che tutti i repository aggiunti siano funzionanti:

$ yum repolist
repo id                                                                             repo name                                                                                                 status
base/7/x86_64                                                                       CentOS-7 - Base                                                                                           10072
droplet-agent/x86_64                                                                DigitalOcean Droplet Agent                                                                                    8
elasticsearch-7.x                                                                   Elasticsearch repository for 7.x packages                                                                  1058
extras/7/x86_64                                                                     CentOS-7 - Extras                                                                                           509
mongodb-org-4.4                                                                     MongoDB Repository                                                                                          172
updates/7/x86_64                                                                    CentOS-7 - Updates                                                                                         3573
repolist: 15392

Passaggio 3: installa Java, Elasticsearch e MongoDB

Esegui questo comando per installare tutti i pacchetti richiesti.

sudo yum -y install vim pwgen java-11-openjdk java-11-openjdk-devel
sudo yum -y install pwgen elasticsearch-oss mongodb-org

Controlla se Java e altri pacchetti sono ora installati:

$ java -version
openjdk version "11.0.20" 2023-07-18 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.20.0.8-1.el7_9) (build 11.0.20+8-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.20.0.8-1.el7_9) (build 11.0.20+8-LTS, mixed mode, sharing)

Avvia e attiva il servizio MongoDB.

Avvia il servizio mongod e impostalo per l'avvio all'avvio.

sudo systemctl enable --now mongod
sudo systemctl status mongod

Percorsi MongoDB:

Passaggio 4: configura Elasticsearch per Graylog

Devi modificare il file di configurazione Elasticsearch e impostare il nome del cluster su graylog, inoltre devi decommentare (rimuovere il # 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 Mon 2023-08-21 14:26:45 UTC; 3s ago
     Docs: https://www.elastic.co
 Main PID: 8722 (java)
   CGroup: /system.slice/elasticsearch.service
           └─8722 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=tr...

Aug 21 14:26:26 centos-01 systemd[1]: Starting Elasticsearch...
Aug 21 14:26:26 centos-01 systemd[1]: Started Elasticsearch.

I percorsi predefiniti dei file Elasticsearch sono:

Passaggio 5: installa Graylog Server su CentOS 7|RHEL 7

Ora installa il repository Graylog e Graylog stesso con i seguenti comandi:

sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-4.3-repository_latest.rpm
sudo yum -y install graylog-server

Devi anche impostare le variabili password_secret e root_password_sha2 in /etc/graylog/server/server.conf.

### Generate root_password_sha2
$ echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
Enter Password: password <INPUT-PASSWORD>

La password Sha2 viene stampata sullo schermo. Lo useremo nel file di configurazione per aggiornarlo.

5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8

Genera password_secret utilizzando lo strumento pwgen installato in precedenza.

$ pwgen -N 1 -s 96
pYJuHjPD0166gUEzhL3XUpTkacYAu26FFxVIRjvczINydWF7WwBbUEUaD5KukCUBIKpklbYn85ebWTOQg4UMMS0twWqB7Rep

Queste impostazioni sono obbligatorie e senza di esse Graylog non si avvierà!

$ sudo vi /etc/graylog/server/server.conf
password_secret = Replace-me-with-generated-password-secret
root_password_sha2 = Replace-me-with-generated-hashed-root-secret

Esempio :

password_secret = pYJuHjPD0166gUEzhL3XUpTkacYAu26FFxVIRjvczINydWF7WwBbUEUaD5KukCUBIKpklbYn85ebWTOQg4UMMS0twWqB7Rep
root_password_sha2 = 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8

Associamo anche l'indirizzo all'interfaccia di rete utilizzata dall'interfaccia HTTP di Graylog

$ sudo vi /etc/graylog/server/server.conf
#line 105
http_bind_address = 0.0.0.0:9000

Riavviare il servizio Graylog affinché si associ a tutti gli indirizzi sul sistema

sudo systemctl restart graylog-server

Struttura delle directory di Graylog:

Passaggio 6: avviare il servizio Graylog su CentOS 7|RHEL 7

Ora avvia il servizio Graylog e abilitalo all'avvio all'avvio del sistema

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

Conferma lo stato del servizio:

$ systemctl status  graylog-server.service
 graylog-server.service - Graylog server
   Loaded: loaded (/usr/lib/systemd/system/graylog-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-03-19 08:25:09 UTC; 13s ago
     Docs: http://docs.graylog.org/
 Main PID: 19249 (graylog-server)
   CGroup: /system.slice/graylog-server.service
           ├─19249 /bin/sh /usr/share/graylog-server/bin/graylog-server
           └─19250 /usr/bin/java -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX:+C...

Sep 16 09:08:11 cent701.novalocal systemd[1]: Stopped Graylog server.
Sep 16 09:08:11 cent701.novalocal systemd[1]: Started Graylog server.

Configura Graylog Firewalld

Per un'installazione a nodo singolo, devi solo aprire la porta 9000 per l'accesso all'interfaccia utente e all'API. Per fare ciò su CentOS 7|RHEL 7, utilizzare firewalld.

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

Ora puoi accedere all'interfaccia web di Graylog utilizzando http://public_ip:9000. Dovresti ottenere un'interfaccia come quella seguente.

Siamo giunti alla fine dell'installazione di Graylog 4.x con Elasticsearch 7.x su CentOS 7|RHEL 7. Leggi l'articolo successivo sulla configurazione del proxy inverso Graylog Nginx con Let's Encrypt SSL.

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

Tag:

  • Installa Graylog 4 su CentOS 7
  • Installa Graylog 4 su RHEL 7
  • Installazione di Graylog su CentOS 7/RHEL 7

Altri articoli relativi ai registri:

  • Gestione dei log di VMware vSphere e vCenter Central con Rsyslog
  • Gestisci i registri con il server Graylog su Ubuntu 18.04
  • Come ottenere le statistiche della posta Postfix dai log

Articoli correlati: