Gestione dei registri: Graylog 2 su Ubuntu 16.04
Graylog: un potente sistema di gestione dei log
Graylog è un sistema di gestione dei log open source che analizza e arricchisce messaggi di log, dati di cavi ed eventi da qualsiasi fonte, fornendo così un sistema di gestione della configurazione centralizzato per raccoglitori di terze parti, come fluentd, beats e nxlog. Ad esempio, con Graylog è possibile arricchire i messaggi di registro con coordinate geografiche tradotte da indirizzi IP o associare un ID utente a un nome utente.
Caratteristiche
Alcune delle caratteristiche più importanti di Graylog includono:
- Sistema di gestione centrale dei log, che consente al tuo team di accedere alla configurazione di runtime e ai dati di log senza toccare i server Graylog.
- Raggruppamento utenti in ruoli per semplificare la gestione delle autorizzazioni. Graylog dispone di un sistema molto potente per limitare l'accesso ai dati agli utenti, che può davvero tornare utile.
- Integrazione LDAP.
- Utilizzo dell'API REST per l'accesso programmatico ai dati.
Obiettivi
Questo tutorial coprirà l'installazione di Graylog e la configurazione di base su una macchina che esegue Ubuntu 16.04.
Prerequisiti
- Un server che esegue Ubuntu 16.04 con almeno 2 GB di RAM.
- MongoDB.
- Elasticsearch 2.x.
- OracleJDK8.
Iniziare
Se il tuo sistema soddisfa i prerequisiti sopra elencati, puoi avviare il processo di installazione di Graylog 2.
Mantieni aggiornamento del server:
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install apt-transport-https uuid-runtime pwgen
Configura Elasticsearch
Come notato sopra, Graylog 2.0.0 (e versioni successive) richiede Elasticsearch 2.x. Ti consigliamo di modificare il file di configurazione di Elastisearch:
, impostando il nome del cluster in modo che corrisponda a quello impostato nel file di configurazione di Graylog. In questo tutorial, il nome del cluster scelto è graylog.
Con un editor di testo, apri il file di configurazione Elasticsearch:
sudo $EDITOR /etc/elasticsearch/elasticsearch.yml
Cerca il
cluster.name
riga e decommentarla. Successivamente, modificare come segue:
---------------------------------- Cluster -----------------------------------
#
Use a descriptive name for your cluster:
#
cluster.name: graylog
#
Salvare e chiudere il file, quindi riavviare il servizio Elastisearch:
sudo systemctl restart elasticsearch
Installa Graylog
Una volta completata la configurazione del server, possiamo passare all'installazione di Graylog. Configura il repository Graylog con i seguenti comandi:
wget https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.deb
sudo dpkg -i graylog-2.2-repository_latest.deb
Successivamente, installa il pacchetto:
sudo apt-get update && sudo apt-get install graylog-server
Al termine del processo di installazione, abilita Graylog all'avvio all'avvio:
systemclt enable graylog-server
Prima di avviare Graylog, dovremo configurarlo.
Configura Graylog
Il file di configurazione di Graylog è
/etc/graylog/server/server.conf
. Dovremo modificare alcuni parametri in questo file prima di poter avviare il programma di gestione dei log.
Prima di tutto dobbiamo impostare il file
password_secret
valore. Questo deve contenere almeno 64 caratteri. Lo genereremo utilizzando pwgen.
Puoi installare questo strumento con apt:
sudo apt-get install pwgen
Successivamente, utilizzando sed, scriviamo i caratteri generati direttamente nel file di configurazione di Graylog:
sudo -E sed -i -e "s/password_secret =.*/password_secret = $(pwgen -N 1 -s 128)/" /etc/graylog/server/server.conf
Per verificare che tutto sia stato eseguito correttamente, utilizzare il seguente codice:
cat /etc/graylog/server/server.conf | grep password_secret
Il comando dovrebbe visualizzare il file
password_secret
linea. Nel nostro caso:
password_secret = hjg5nBbZQcgLVW3do5uw1irfbq9UiRwhISZgPie8r96dejt4hgWdHUJcIaK1onQfFFatbrPZ3WV4yEhoqX9ITtaEUmn9SKn2aRT62uCO9KRZGK81q2xrO1aMQnOELPqP
Il passo successivo è impostare il file
, che è l'hash SHA-256 della nostra password desiderata. Per prima cosa, esegui il seguente comando:
sudo sed -i -e "s/root_password_sha2 =.*/root_password_sha2 = $(echo -n '<strong>your_<span class="highlight">password</span></strong>' | shasum -a 256 | cut -d' ' -f1)/" /etc/graylog/server/server.conf
Per poterci connettere a Graylog, dobbiamo anche configurare il file
E
valorizza il nome host o l'indirizzo IP pubblico della macchina a cui possiamo connetterci. L'URI dell'interfaccia web e l'API REST devono essere accessibili a chiunque utilizzi l'interfaccia web e ciò significa che Graylog deve essere in ascolto su un'interfaccia di rete pubblica.
Apri il file di configurazione di Graylog:
sudo $EDITOR /etc/graylog/server/server.conf
In questo file, cerca il file
rest_listen_uri
linea, che, per impostazione predefinita, è:
REST API listen URI. Must be reachable by other Graylog server nodes if you run a cluster.
When using Graylog Collectors, this URI will be used to receive heartbeat messages and must be accessible for all collectors.
rest_listen_uri = http://127.0.0.1:9000/api/
Sostituisci il
127.0.0.1
con l'IP pubblico del server Quindi, cerca il
web_liste_uri
linea :
Web interface listen URI.
Configuring a path for the URI here effectively prefixes all URIs in the web interface. This is a replacement
for the application.context configuration parameter in pre-2.0 versions of the Graylog web interface.
#web_listen_uri = http://127.0.0.1:9000/
Decommentalo e modifica l'IP, proprio come hai fatto nel file
rest_listen_api
fare un passo.
Salva e chiudi il file, quindi avvia Graylog:
sudo systemctl start graylog-server
Controlla lo stato di Graylog utilizzando il seguente codice:
sudo systemctl status graylog-server
graylog-server.service - Graylog server
Loaded: loaded (/usr/lib/systemd/system/graylog-server.service; enabled; vend
Active: active (running) ...
Testare Graylog
Con un browser Web su un client, vai a
http://192.168.1.138:9000/
. Il browser mostrerà una pagina di accesso
Utilizza admin come nome utente e la password inserita nel passaggio di configurazione ("tua_password").
Dopo aver effettuato l'accesso, vedrai una pagina "Per iniziare":
Andando su Sistema > Ingressi, abbiamo accesso alla configurazione degli ingressi.
Qui è dove verranno configurati tutti gli input, che è il primo passo della raccolta dei dati in Graylog per la gestione dei log.
Conclusione
A questo punto abbiamo un server Graylog correttamente installato e funzionante su una macchina Ubuntu 16.04. In una futura guida vedremo come configurare gli input e inviare dati da un server a questo potente sistema di gestione dei log.
Vedremo anche come configurare un sistema Graylog multinodo, per una gestione dei log più avanzata.