Ricerca nel sito web

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

Articoli correlati: