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
- Prerequisiti
- Per iniziare
- Installa Java
- Installa e configura Elasticsearch
- Installa il server MongoDB
- Installa e configura Graylog
- Configura Nginx come proxy inverso per Graylog
- Accedi all'interfaccia web di Graylog
- 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.