Ricerca nel sito web

Installa e configura Graylog Monitoring Server Ubuntu 20.04


Questo tutorial esiste per queste versioni del sistema operativo

  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 20.04 (Focal Fossa)

Su questa pagina

  1. Prerequisiti
  2. Per iniziare
  3. Installa Java
  4. Installa e configura Elasticsearch
  5. Installa il server MongoDB
  6. Installa e configura Graylog
  7. Configura Nginx come proxy inverso per Graylog
  8. Accedi all'interfaccia web di Graylog
  9. Conclusione

Graylog è uno strumento software di gestione dei registri gratuito e open source che può essere utilizzato per monitorare il registro dei sistemi di rete dal server centrale. Utilizza Elasticsearch per archiviare i dati dei log e fornire funzionalità di ricerca e MongoDB per archiviare le meta informazioni. Ti aiuta a monitorare, cercare e analizzare una grande quantità di dati in un semplice formato leggibile.

In questo tutorial, ti mostreremo come installare Graylog sul server Ubuntu 20.04.

Prerequisiti

  • Un server che esegue Ubuntu 20.04.con minimo 4 GB di RAM
  • Una password di root è configurata su.

Iniziare

Innanzitutto, dovrai aggiornare i tuoi pacchetti di sistema all'ultima versione. Puoi aggiornarli tutti con il seguente comando:

apt-get update -y

Dopo aver aggiornato tutti i pacchetti, dovrai anche installare alcune dipendenze nel tuo server. Puoi installarli tutti con il seguente comando:

apt-get install apt-transport-https gnupg2 uuid-runtime pwgen curl dirmngr -y

Una volta installate tutte le dipendenze richieste, puoi procedere al passaggio successivo.

Installa Java

Graylog richiede che Java sia installato sul tuo server. Se non è installato, puoi installarlo con il seguente comando:

apt-get install openjdk-11-jre-headless -y

Una volta installato Java, puoi verificare la versione installata di Java eseguendo il seguente comando:

java -version

Dovresti ottenere il seguente output:

openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

Una volta terminato, puoi procedere al passaggio successivo.

Installa e configura Elasticsearch

Graylog utilizza Elasticsearch per archiviare i log provenienti dalla risorsa esterna. Quindi dovrai installare Elasticsearch nel tuo sistema.

Per impostazione predefinita, l'ultima versione di Elasticsearch non è disponibile nel repository predefinito di Ubuntu. Quindi dovrai aggiungere il repository Elasticsearch nel tuo sistema.

Innanzitutto, scarica e aggiungi la chiave GPG Elasticsearch con il seguente comando:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -

Successivamente, aggiungi il repository Elasticsearch con il seguente comando:

echo "deb https://artifacts.elastic.co/packages/oss-6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

Successivamente, aggiorna il repository e installa Elasticsearch con il seguente comando:

apt-get update -y
apt-get install elasticsearch-oss -y

Dopo aver installato Elasticsearch, dovrai modificare il file di configurazione di Elasticsearch e definire il nome del cluster. Puoi farlo con il seguente comando:

nano /etc/elasticsearch/elasticsearch.yml

Definisci il nome del tuo cluster in graylog e aggiungi un'altra riga come mostrato di seguito:

cluster.name: graylog
action.auto_create_index: false

Salva e chiudi il file quando hai finito. Quindi, avvia il servizio Elasticsearch e abilitalo per l'avvio all'avvio con il seguente comando:

systemctl daemon-reload
systemctl start elasticsearch
systemctl enable elasticsearch

Puoi anche verificare lo stato del servizio Elasticsearch con il seguente comando:

systemctl status elasticsearch

Dovresti ottenere il seguente output:

? elasticsearch.service - Elasticsearch
     Loaded: loaded (/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 08:41:18 UTC; 9s ago
       Docs: http://www.elastic.co
   Main PID: 7085 (java)
      Tasks: 17 (limit: 2353)
     Memory: 1.1G
     CGroup: /system.slice/elasticsearch.service
             ??7085 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly ->

Sep 05 08:41:18 ubunt4 systemd[1]: Started Elasticsearch.

Ora, verifica la risposta Elasticcsearch con il seguente comando:

curl -X GET http://localhost:9200

Dovresti ottenere il seguente output:

{
  "name" : "vzg8H4j",
  "cluster_name" : "graylog",
  "cluster_uuid" : "6R9SlXxNSUGe6aclcJa9VQ",
  "version" : {
    "number" : "6.8.12",
    "build_flavor" : "oss",
    "build_type" : "deb",
    "build_hash" : "7a15d2a",
    "build_date" : "2020-08-12T07:27:20.804867Z",
    "build_snapshot" : false,
    "lucene_version" : "7.7.3",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

Installa il server MongoDB

Graylog utilizza MongoDB come database. Quindi dovrai installare il database MongoDB sul tuo server. Puoi installarlo con il seguente comando:

apt-get install mongodb-server -y

Una volta installato MongoDB, avvia il servizio MongoDB e abilitalo per l'avvio al riavvio del sistema con il seguente comando:

systemctl start mongodb
systemctl enable mongodb

Una volta terminato, puoi procedere al passaggio successivo.

Installa e configura Graylog

Per impostazione predefinita, il pacchetto Graylog non è disponibile nel repository predefinito di Ubuntu. Quindi dovrai installare il repository graylog sul tuo server.

Puoi scaricare il pacchetto del repository Graylog con il seguente comando:

wget https://packages.graylog2.org/repo/packages/graylog-3.3-repository_latest.deb

Una volta completato il download, installa il pacchetto scaricato con il seguente comando:

dpkg -i graylog-3.3-repository_latest.deb

Successivamente, aggiorna il repository e installa il server Graylog con il seguente comando:

apt-get update -y
apt-get install graylog-server -y

Dopo aver installato il server Graylog, sarà necessario generare un segreto per proteggere le password degli utenti. Puoi generarlo con il seguente comando:

pwgen -N 1 -s 96

Dovresti vedere il seguente output:

Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3c

Successivamente, dovrai anche generare una password sicura per l'utente amministratore di Graylog. Avrai bisogno di questa password per accedere all'interfaccia web di Graylog. Puoi generarlo con il seguente comando:

echo -n password | sha256sum

Dovresti vedere il seguente output:

5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8  -

Ora modifica il file di configurazione principale di Graylog e definisci entrambe le password:

nano /etc/graylog/server/server.conf

Incolla entrambe le password che hai generato sopra come mostrato di seguito:

password_secret = Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3c
root_password_sha2 = 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8   

Successivamente, dovrai anche definire il tuo server un indirizzo di bind come mostrato di seguito:

http_bind_address = 127.0.0.1:9000

Salva e chiudi il file quando hai finito, quindi avvia il servizio Graylog e abilitalo per l'avvio al riavvio del sistema con il seguente comando:

systemctl daemon-reload
systemctl start graylog-server
systemctl enable graylog-server

Successivamente, puoi verificare lo stato del server Graylog utilizzando il seguente comando:

systemctl status graylog-server

Dovresti vedere il seguente output:

? graylog-server.service - Graylog server
     Loaded: loaded (/lib/systemd/system/graylog-server.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 08:50:16 UTC; 15min ago
       Docs: http://docs.graylog.org/
   Main PID: 8693 (graylog-server)
      Tasks: 156 (limit: 2353)
     Memory: 865.0M
     CGroup: /system.slice/graylog-server.service
             ??8693 /bin/sh /usr/share/graylog-server/bin/graylog-server
             ??8726 /usr/bin/java -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX>

Sep 05 08:50:16 ubunt4 systemd[1]: Started Graylog server.

Puoi anche verificare il registro del server Graylog con il seguente comando:

tail -f /var/log/graylog-server/server.log

Una volta che il server Graylog è stato avviato correttamente, dovresti ottenere il seguente output:

2020-09-05T08:51:36.473Z INFO  [ServerBootstrap] Services started, startup times in ms: {InputSetupService [RUNNING]=59, JobSchedulerService [RUNNING]=105, GracefulShutdownService [RUNNING]=106, OutputSetupService [RUNNING]=110, BufferSynchronizerService [RUNNING]=111, UrlWhitelistService [RUNNING]=153, JournalReader [RUNNING]=166, KafkaJournal [RUNNING]=222, MongoDBProcessingStatusRecorderService [RUNNING]=240, ConfigurationEtagService [RUNNING]=259, EtagService [RUNNING]=302, StreamCacheService [RUNNING]=306, LookupTableService [RUNNING]=376, PeriodicalsService [RUNNING]=655, JerseyService [RUNNING]=58701}
2020-09-05T08:51:36.477Z INFO  [ServerBootstrap] Graylog server up and running.

A questo punto, il server Graylog è avviato e in ascolto sulla porta 9000.

Configura Nginx come proxy inverso per Graylog

Successivamente, dovrai installare e configurare Nginx come proxy inverso per accedere al server Graylog.

Innanzitutto, installa il server Nginx con il seguente comando:

apt-get install nginx -y

Dopo aver installato il server Nginx, crea un nuovo file di configurazione dell'host virtuale Nginx con il seguente comando:

nano /etc/nginx/sites-available/graylog.conf

Aggiungi le seguenti righe:

server {
    listen 80;
    server_name graylog.example.org;

    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/;
      proxy_pass       http://127.0.0.1:9000;
    }
}

Salva e chiudi il file quando hai finito. Quindi, verifica Nginx per qualsiasi errore di sintassi con il seguente comando:

nginx -t

Dovresti ottenere il seguente output:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Successivamente, abilita il file di configurazione dell'host virtuale Nginx con il seguente comando:

ln -s /etc/nginx/sites-available/graylog.conf /etc/nginx/sites-enabled/

Infine, riavvia il servizio Nginx per applicare le modifiche:

systemctl restart nginx

Successivamente, verifica lo stato del Graylog con il seguente comando:

systemctl status nginx

Dovresti ottenere il seguente output:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 09:07:50 UTC; 20s ago
       Docs: man:nginx(8)
    Process: 9408 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 9419 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 9423 (nginx)
      Tasks: 3 (limit: 2353)
     Memory: 10.2M
     CGroup: /system.slice/nginx.service
             ??9423 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??9424 nginx: worker process
             ??9425 nginx: worker process

Sep 05 09:07:50 ubunt4 systemd[1]: Starting A high performance web server and a reverse proxy server...
Sep 05 09:07:50 ubunt4 systemd[1]: Started A high performance web server and a reverse proxy server.

Accedi all'interfaccia web di Graylog

Ora apri il tuo browser web e digita l'URL http://graylog.example.com. Verrai reindirizzato alla pagina di accesso di Graylog come mostrato di seguito:

Fornisci il nome utente e la password dell'amministratore e fai clic sul pulsante Accedi. Dovresti vedere la dashboard di Graylog nella pagina seguente:

Ora, fai clic su Sistema >> Panoramica. Dovresti vedere lo stato del server Graylog nella pagina seguente:

Conclusione

Congratulazioni! hai installato e configurato correttamente il server Graylog con Nginx come proxy inverso su Ubuntu 20.04. Ora puoi esplorare Graylog e creare un input per ricevere i log Rsyslog da fonti esterne. Non esitate a chiedermi se avete domande.