Gestisci i registri con il server Graylog su Ubuntu 18.04
Questa è una guida completa su come installare e configurare Graylog Server su Ubuntu 18.04 per la gestione centralizzata dei registri. Graylog è un sistema di gestione dei log gratuito e open source di livello aziendale che comprende Elasticsearch, MongoDB e il server Graylog.
Per il server CentOS 7, abbiamo come installare Graylog con Elasticsearch 6.x su CentOS 7.
Articolo simile: Come inoltrare i log a Grafana Loki utilizzando Promtail
Componenti/architettura di Graylog
Il lavoro di Elasticsearch è archiviare i dati dei log e fornire potenti funzionalità di ricerca a Graylog Server. MongoDB serve per archiviare metainformazioni e dati di configurazione utilizzati da Graylog per la gestione completa dei log.
Per le configurazioni di produzione su larga scala, è consigliabile avere diversi nodi Graylog, Elasticsearch e MongoDB dietro un bilanciatore del carico per distribuire il carico di elaborazione.
Oltre a una dashboard basata sul Web per la gestione e la ricerca nei log, Graylog espone anche un'API REST per l'accesso ai dati e la gestione delle configurazioni. Di seguito è riportata una panoramica architettonica di base dell'architettura Graylog.
Con un'interfaccia web intuitiva e facile da usare, puoi visualizzare le metriche e osservare eventuali anomalie per una risoluzione dei problemi più rapida. In questa guida imparerai come installare e configurare Graylog su Ubuntu 18.04 Server.
Passaggio 1: aggiorna il sistema
È una regola pratica aggiornare il sistema prima di installare qualsiasi pacchetto. Questo è consigliato per evitare problemi di dipendenza:
sudo apt update && sudo apt -y upgrade
sudo reboot
Passaggio 2: installa Java/OpenJDK
Un componente/dipendenza principale di Graylog è Elasticsearch. Elasticsearch richiede Java 8 installato per funzionare. Puoi installare Oracle Java o la sua alternativa open source: OpenJDK. Qui installeremo OpenJDK.
sudo apt -y install nono vim bash-completion apt-transport-https uuid-runtime pwgen default-jdk-headless
Una volta installato, procedere al passaggio 3.
Passaggio 3: installa ElasticSearch 7.x
Al momento della stesura di questo articolo, l'ultima versione di Graylog richiede che Elasticsearch funzioni. Installa ElasticSearch con i comandi seguenti.
Aggiungi il repository ElasticSearch:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
Installa ElasticSearch OSS su Ubuntu 18.04:
sudo apt update
sudo apt -y install elasticsearch-oss
Una volta completata l'installazione di Elasticsearch, imposta il nome del cluster per Graylog.
sudo vim /etc/elasticsearch/elasticsearch.yml
Impostato sulla riga 17
cluster.name: graylog
action.auto_create_index: false
Riavviare il servizio elasticsearch:
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl restart elasticsearch.service
Conferma che lo stato è in esecuzione:
$ systemctl status elasticsearch.service
● elasticsearch.service - Elasticsearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-03-19 03:08:45 UTC; 9s ago
Docs: https://www.elastic.co
Main PID: 4269 (java)
Tasks: 51 (limit: 4915)
CGroup: /system.slice/elasticsearch.service
└─4269 /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=true -D
Mar 19 03:08:31 ubuntu-01 systemd[1]: Starting Elasticsearch...
Mar 19 03:08:45 ubuntu-01 systemd[1]: Started Elasticsearch.
Passaggio 4: installa il database MongoDB NoSQL
Utilizza la guida seguente per installare MongoDB su Ubuntu:
- Come installare MongoDB 4 su Ubuntu
Convalidare lo stato dopo l'installazione:
$ systemctl status mongod
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-03-19 03:13:16 UTC; 5s ago
Docs: https://docs.mongodb.org/manual
Main PID: 5599 (mongod)
CGroup: /system.slice/mongod.service
└─5599 /usr/bin/mongod --config /etc/mongod.conf
Mar 19 03:13:16 ubuntu-01 systemd[1]: Started MongoDB Database Server.
Passaggio 5: installa Graylog su Ubuntu 18.04
Ora che abbiamo installato MongoDB ed Elasticsearch, l'ultimo passaggio è l'installazione del server Graylog. Aggiungi il repository Graylog e installa il pacchetto graylog-server
utilizzando apt.
Scarica il file debian del repository Graylog:
wget https://packages.graylog2.org/repo/packages/graylog-4.2-repository_latest.deb
Abilita il repository sul tuo sistema Ubuntu.
$ sudo dpkg -i graylog-4.2-repository_latest.deb
Selecting previously unselected package graylog-4.2-repository.
(Reading database ... 92818 files and directories currently installed.)
Preparing to unpack graylog-4.2-repository_latest.deb ...
Unpacking graylog-4.2-repository (1-4) ...
Setting up graylog-4.2-repository (1-4) ...
Installa Graylog su Ubuntu 18.04:
sudo apt update
sudo apt -y install graylog-server
Passaggio 6: configura Graylog su Ubuntu 18.04
Dopo l'installazione, dobbiamo eseguire alcune configurazioni prima di poter iniziare a utilizzare Graylog.
Genera password di root:
Devi generare un hash a 256 bit per la password dell'utente amministratore:
$ echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
Enter Password: <INPUT-PASSWORD>
5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
Aggiungi la password specificata alla riga root_password_sha2=
nel file /etc/graylog/server/server.conf
.
$ sudo vim /etc/graylog/server/server.conf
root_password_sha2 = 7a96004f5149811c069f40146b08cf45f45087d4530d35f7d4d88d058db9612d
Il prossimo passo è generare e impostare il segreto della password per proteggere le password degli utenti archiviate.
$ sudo apt-get install pwgen
$ pwgen -N 1 -s 96
5JdTcmGgqBUNw2oip7YZEqbZxc4UV5X8461xukUHdq9PjBYiSu1wxSeiRCk0z73tVZc9FGluZ2k0c9YXdxg5Z0buzNx58tmY
$ sudo vim /etc/graylog/server/server.conf
password_secret = 5JdTcmGgqBUNw2oip7YZEqbZxc4UV5X8461xukUHdq9PjBYiSu1wxSeiRCk0z73tVZc9FGluZ2k0c9YXdxg5Z0buzNx58tmY
Esegui i seguenti comandi se desideri avviare Graylog automaticamente all'avvio del sistema:
sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service
Per impostazione predefinita, l'API REST sarà in ascolto su: http://127.0.0.1:9000/api/
L'URI dell'interfaccia Web sarà su: http://127.0.0.1:9000/
Puoi cambiarlo nell'indirizzo IP del server se desideri accedere da un dispositivo di rete.
$ sudo vim /etc/graylog/server/server.conf
#Line 105
http_bind_address = 0.0.0.0:9000
Riavvia il server Graylog dopo la modifica:
sudo systemctl restart graylog-server.service
Passaggio 7: accedere all'interfaccia Web di Graylog 3
Accedi all'interfaccia web di Graylog utilizzando il suo indirizzo IP e la porta 9000 – http://serverip_or_hostname:9000
Accedi con il nome utente admin e la password impostati al passaggio 6.
Passaggio 8: configurare il proxy Nginx (facoltativo)
Se desideri accedervi utilizzando un dominio, consulta la guida qui sotto per configurare Nginx come proxy inverso Graylog.
- Configura il proxy inverso Graylog Nginx con Letsencrypt SSL
Di seguito viene fornita una semplice configurazione nginx senza sezione https
$ cat /etc/nginx/conf.d/graylog.conf
server
{
server_name graylog.computingforgeeks.com;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Graylog-Server-URL http://$server_name/api;
proxy_pass http://127.0.0.1:9000;
}
}
Avvia nginx dopo aver apportato la modifica
sudo systemctl restart nginx
Accedi all'interfaccia utente web su http://domain.com
Accedi con il nome utente admin e la password impostati al passaggio 6.
Il passaggio successivo consiste nell'importare i messaggi nel tuo Graylog ed estrarli con gli estrattori o utilizzare le pipeline per lavorare con i messaggi.
Seguiranno altre guide su Graylog.
- Configura il proxy Graylog Nginx con Let's Encrypt SSL