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