Installazione software · 13 min read · Nov 25, 2025
Come installare Elastic Stack su Ubuntu 18.04 LTS

Elasticsearch è un motore di ricerca open source basato su Lucene, sviluppato in Java. Fornisce un motore di ricerca full-text distribuito e multi-tenant con un’interfaccia web Dashboard HTTP (Kibana). I dati vengono interrogati, recuperati e memorizzati in uno schema di documento JSON. Elasticsearch è un motore di ricerca scalabile che può essere utilizzato per cercare tutti i tipi di documenti di testo, inclusi i file di log. Elasticsearch è il cuore dell’ ‘Elastic Stack’ o ELK Stack.
Logstash è uno strumento open source per la gestione di eventi e log. Fornisce un pipeline in tempo reale per la raccolta dei dati. Logstash raccoglierà i tuoi dati di log, convertirà i dati in documenti JSON e li memorizzerà in Elasticsearch.
Kibana è uno strumento di visualizzazione dei dati open source per Elasticsearch. Kibana fornisce una bella interfaccia web dashboard. Ti consente di gestire e visualizzare i dati da Elasticsearch. Non è solo bello, ma anche potente.
In questo tutorial, ti mostrerò come installare e configurare Elastic Stack su un server Ubuntu 18.04 per il monitoraggio dei log del server. Poi ti mostrerò come installare e configurare ‘Elastic beats’ su un server client Ubuntu 18.04 e CentOS 7.
Prerequisiti
- 3 Server - Ubuntu 18.04 con 4GB di RAM/memoria come ‘elk-master’ - 10.0.15.10
- Ubuntu 18.04 con 512MB/1GB di RAM/memoria come ‘elk-client01’ - 10.0.15.21
- CentOS 7.5 con 512MB/1GB di RAM/memoria come ‘elk-client02’ - 10.0.15.22
- Privilegi di root
Cosa faremo?
- Installare Elastic Stack 1. Installare Java
- Installare e configurare ElasticSearch
- Installare e configurare Kibana
- Installare e configurare Nginx come Reverse Proxy per Kibana
- Installare e configurare Logstash
- Installare e configurare Filebeat su Ubuntu 18.04
- Installare e configurare Filebeat su CentOS 7.5
- Testare
Passo 1 - Installare Elastic Stack
In questo primo passo, installeremo e configureremo l’ ‘Elastic Stack’ sul server ‘elk-master’, quindi esegui tutti i comandi e le fasi per questo passo solo sul server ‘elk-master’. Installeremo e configureremo ciascun componente dell’elastic stack, inclusi Elasticsearch, Logstash shipper e Kibana Dashboard con il server web Nginx.
Installare Java
Java è necessario per il deployment dell’Elastic stack. Elasticsearch richiede Java 8. È consigliato utilizzare l’Oracle JDK 1.8, e installeremo Java 8 da un repository PPA.
Installa i pacchetti ‘software-properties-common’ e ‘apt-transport-https’, quindi aggiungi il repository PPA ‘webupd8team’ Java. Esegui il comando ‘apt install’ e ‘add-apt-repository’ qui sotto.
sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:webupd8team/java -yOra installa il java8-installer.
sudo apt install oracle-java8-installer -yDopo che l’installazione è completata, controlla la versione di java.
java -versionJava 1.8 installato sul sistema.
Successivamente, configureremo l’ambiente java. Controlla il file binario java utilizzando il comando qui sotto.
update-alternatives --config javaE otterrai il file binario java nella directory ‘ /usr/lib/jvm/java-8-oracle ‘.
Ora crea il file di profilo ‘java.sh’ nella directory ‘profile.d’.
vim /etc/profile.d/java.shIncolla la configurazione dell’ambiente java qui sotto.
#Set JAVA_HOME
JAVA_HOME="/usr/lib/jvm/java-8-oracle"
export JAVA_HOME
PATH=$PATH:$JAVA_HOME
export PATHSalva ed esci.
Rendi il file eseguibile e carica il file di configurazione.
chmod +x /etc/profile.d/java.sh
source /etc/profile.d/java.shOra controlla l’ambiente java utilizzando il comando qui sotto.
echo $JAVA_HOMEE otterrai la directory java situata nella directory ‘ /usr/lib/jvm/java-8-oracle ‘.

Installare Elasticsearch
Dopo aver installato Java, installeremo il primo componente dell’Elastic Stack, installeremo elasticsearch.
Aggiungi la chiave dell’elastic stack e aggiungi il repository elastic al sistema.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.listOra aggiorna il repository e installa il pacchetto elasticsearch utilizzando il comando qui sotto.
sudo apt update
sudo apt install elasticsearch -yDopo che l’installazione è completata, vai nella directory ‘/etc/elasticsearch’ ed edita il file di configurazione ‘elasticsearch.yml’.
cd /etc/elasticsearch/
vim elasticsearch.ymlDecommenta la riga ‘network.host’ e cambia il valore in ‘localhost’, e decommenta la riga ‘http.port’ per la configurazione della porta elasticsearch.
network.host: localhost
http.port: 9200Salva ed esci.
Ora avvia il servizio elasticsearch e abilitalo per avviarsi ogni volta all’avvio del sistema.
systemctl start elasticsearch
systemctl enable elasticsearchL’elasticsearch è ora attivo e funzionante, controllalo utilizzando il comando netstat e i comandi curl qui sotto.
netstat -plntu
curl -XGET 'localhost:9200/?pretty'Ora otterrai la versione di elasticsearch ‘6.2.4’ in esecuzione sulla porta predefinita ‘9200’.

L’installazione di elasticsearch è stata completata.
Installare e configurare il Dashboard di Kibana
Il secondo componente è un Dashboard di kibana. Installeremo il dashboard di Kibana dal repository elastic e configureremo il servizio kibana per funzionare sull’indirizzo localhost.
Installa il dashboard di Kibana utilizzando il comando apt qui sotto.
sudo apt install kibana -yOra vai nella directory ‘/etc/kibana’ ed edita il file di configurazione ‘kibana.yml’.
cd /etc/kibana/
vim kibana.ymlDecommenta quelle righe ‘server.port’, ‘server.host’ e ‘elasticsearch.url’.
server.port: 5601
server.host: "localhost"
elasticsearch.url: "http://localhost:9200"Salva ed esci.
Ora avvia il servizio kibana e abilitalo per avviarsi ogni volta all’avvio del sistema.
sudo systemctl enable kibana
sudo systemctl start kibanaIl dashboard di kibana è ora attivo e funzionante sull’indirizzo ‘localhost’ e sulla porta predefinita ‘5601’. Controllalo utilizzando il comando netstat qui sotto.
netstat -plntu
L’installazione del dashboard di Kibana è stata completata.
Installare e configurare Nginx come Reverse-Proxy per Kibana
In questo tutorial, utilizzeremo il server web Nginx come reverse proxy per il Dashboard di Kibana.
Installa Nginx e i pacchetti ‘apache2-utils’ nel sistema.
sudo apt install nginx apache2-utils -yDopo che l’installazione è completata, vai nella directory di configurazione ‘/etc/nginx’ e crea un nuovo file di host virtuale chiamato ‘kibana’.
cd /etc/nginx/
vim sites-available/kibanaIncolla la configurazione dell’host virtuale Nginx qui sotto.
server {
listen 80;
server_name elastic-stack.io;
auth_basic "Accesso Riservato";
auth_basic_user_file /etc/nginx/.kibana-user;
location / {
proxy_pass http://localhost:5601;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}Salva ed esci.
Successivamente, creeremo un nuovo server web di autenticazione di base per accedere al dashboard di Kibana. Creeremo l’autenticazione di base utilizzando il comando htpasswd come qui sotto.
sudo htpasswd -c /etc/nginx/.kibana-user elastic
Digita la password dell'utente elasticAttiva l’host virtuale kibana e testa tutta la configurazione di nginx.
ln -s /etc/nginx/sites-available/kibana /etc/nginx/sites-enabled/
nginx -tAssicurati che non ci siano errori, ora avvia il servizio Nginx e abilitalo per avviarsi ogni volta all’avvio del sistema.
systemctl enable nginx
systemctl restart nginxL’installazione e la configurazione di Nginx come Reverse-proxy per il dashboard di Kibana sono state completate.

Installare e configurare Logstash
L’ultimo componente per l’Elastic Stack per questa guida è il ‘Logstash’. Installeremo e configureremo Logstash per centralizzare i log del server da fonti client con filebeat, quindi filtrare e trasformare tutti i dati (Syslog) e trasportarli allo stash (Elasticsearch).
Prima di installare logstash, assicurati di controllare la versione di OpenSSL del tuo server.
openssl version -aPer questa guida, utilizzeremo OpenSSL ‘1.0.2o’. Se stai ancora utilizzando la versione di OpenSSL 1.1.2, riceverai un errore nella connessione SSL di logstash e filebeat.
Installa logstash utilizzando il comando apt qui sotto.
sudo apt install logstash -yDopo che l’installazione è completata, genereremo la chiave del certificato SSL per proteggere il trasferimento dei dati di log dal client filebeat al server logstash.
Modifica il file ‘/etc/hosts’ utilizzando vim.
vim /etc/hostsAggiungi la configurazione qui sotto.
10.0.15.10 elk-master elk-masterSalva ed esci.
Ora crea una nuova directory SSL sotto la directory di configurazione di logstash ‘/etc/logstash’ e vai in quella directory.
mkdir -p /etc/logstash/ssl
cd /etc/logstash/Genera il certificato SSL per Logstash utilizzando il comando openssl qui sotto.
openssl req -subj '/CN=elk-master/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout ssl/logstash-forwarder.key -out ssl/logstash-forwarder.crtI file del certificato SSL per Logstash sono stati creati nella directory ‘/etc/logstash/ssl’.
Successivamente, creeremo nuovi file di configurazione per logstash. Creeremo un file di configurazione ‘filebeat-input.conf’ come file di input da filebeat, ‘syslog-filter.conf’ per l’elaborazione syslog, e poi un file ‘output-elasticsearch.conf’ per definire l’output Elasticsearch.
Vai nella directory di configurazione di logstash e crea i nuovi file di configurazione ‘filebeat-input.conf’ nella directory ‘conf.d’.
cd /etc/logstash/
vim conf.d/filebeat-input.confIncolla la seguente configurazione lì.
input {
beats {
port => 5443
type => syslog
ssl => true
ssl_certificate => "/etc/logstash/ssl/logstash-forwarder.crt"
ssl_key => "/etc/logstash/ssl/logstash-forwarder.key"
}
}Salva ed esci.
Per l’elaborazione dei log syslog, utilizziamo il plugin di filtro chiamato ‘grok’ per analizzare i file syslog.
Crea una nuova configurazione ‘syslog-filter.conf’.
vim conf.d/syslog-filter.confIncolla la seguente configurazione lì.
filter {
if [type] == "syslog" {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
date {
match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
}Salva ed esci.
E per l’output elasticsearch, creeremo il file di configurazione chiamato ‘output-elasticsearch.conf’.
vim conf.d/output-elasticsearch.confIncolla la seguente configurazione lì.
output {
elasticsearch { hosts => ["localhost:9200"]
hosts => "localhost:9200"
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
}Salva ed esci.
Quando questo è fatto, avvia il servizio logstash e abilitalo per avviarsi ogni volta all’avvio del sistema.
sudo systemctl enable logstash
sudo systemctl start logstash
Controlla il servizio logstash utilizzando i comandi netstat e systemctl qui sotto.
netstat -plntu
systemctl status logstashE il servizio logstash è ora attivo e funzionante. In esecuzione sull’indirizzo IP pubblico con la porta ‘5443’.

L’installazione dell’Elastic Stack è stata completata.
Passo 2 - Installare e configurare Filebeat su Ubuntu 18.04
In questo passo, configureremo il client Ubuntu 18.04 ‘elk-client01’ installando i data shipper ‘Filebeat’ di Elastic su di esso.
Prima di installare filebeat nel sistema, dobbiamo modificare il file ‘/etc/hosts’ e scaricare il file del certificato logstash ‘logstash-forwarder.crt’ sul server ‘elk-client01’.
Modifica il file ‘/etc/hosts’ utilizzando l’editor vim.
vim /etc/hostsIncolla la seguente configurazione lì.
10.0.15.10 elk-master elk-masterSalva ed esci.
Copia il file del certificato logstash ‘logstash-forwarder.crt’ utilizzando il comando scp.
scp root@elk-master:/etc/logstash/ssl/logstash-forwarder.crt .
Successivamente, installa i ‘Filebeat’ di Elastic aggiungendo la chiave elastic e aggiungendo il repository elastic.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.listAggiorna il repository e installa il pacchetto ‘filebeat’ utilizzando il comando apt qui sotto.
sudo apt update
sudo apt install filebeat -yDopo che l’installazione è completata, vai nella directory ‘/etc/filebeat’ ed edita il file di configurazione ‘filebeat.yml’.
cd /etc/filebeat/
vim filebeat.ymlOra abilita i prospectors di filebeat cambiando il valore della riga ‘enabled’ in ‘true’.
enabled: trueDefinisci i file di log di sistema da inviare al server logstash. Per questa guida, aggiungeremo il file di log ssh ‘auth.log’ e il file syslog.
paths:
- /var/log/auth.log
- /var/log/syslogImposta l’output su logstash commentando l’output ‘elasticsearch’ predefinito e decommentando la riga di output logstash qui sotto.
output.logstash:
# I server Logstash
hosts: ["elk-master:5443"]
ssl.certificate_authorities: ["/etc/filebeat/logstash-forwarder.crt"]Salva ed esci.
Successivamente, dobbiamo modificare il file ‘filebeat.reference.yml’ per abilitare i moduli filebeat, e abiliteremo il modulo ‘syslog’.
vim filebeat.reference.ymlAbilita il modulo di sistema syslog per filebeat come qui sotto.
- module: system
# Syslog
syslog:
enabled: trueSalva ed esci.
Copia il file del certificato logstash ‘logstash-forwarder.crt’ nella directory ‘/etc/filebeat’.
cp ~/logstash-forwarder.crt /etc/filebeat/logstash-forwarder.crtL’installazione e la configurazione di Filebeat sono state completate. Ora avvia il servizio filebeat e abilitalo per avviarsi ogni volta all’avvio del sistema.
systemctl start filebeat
systemctl enable filebeatControlla il servizio filebeat utilizzando i comandi qui sotto.
systemctl status filebeat
tail -f /var/log/filebeat/filebeatI data shipper filebeat sono attivi e funzionanti sul server Ubuntu 18.04.

Passo 3 - Installare e configurare Filebeat su CentOS 7.5
In questo passo, configureremo il client CentOS 7.5 ‘elk-client02’ installando i data shipper ‘Filebeat’ di Elastic su di esso.
Prima di installare il Filebeat nel sistema, dobbiamo modificare il file ‘/etc/hosts’ e scaricare il file del certificato logstash ‘logstash-forwarder.crt’ sul server ‘elk-client02’.
Modifica il file ‘/etc/hosts’ utilizzando vim.
vim /etc/hostsIncolla la configurazione qui sotto.
10.0.15.10 elk-master elk-masterSalva ed esci.
Copia il file del certificato logstash ‘logstash-forwarder.crt’ utilizzando il comando scp.
scp root@elk-master:/etc/logstash/ssl/logstash-forwarder.crt .
Successivamente, installa i ‘Filebeat’ di Elastic aggiungendo la chiave elastic e aggiungendo il repository elastic.
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
cat < /etc/yum.repos.d/elastic.repo
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF Installa filebeat utilizzando il comando yum qui sotto.
yum install filebeat -yDopo che l’installazione è completata, vai nella directory ‘/etc/filebeat’ ed edita il file di configurazione ‘filebeat.yml’.
cd /etc/filebeat/
vim filebeat.ymlOra abilita i prospectors di filebeat cambiando il valore della riga ‘enabled’ in ‘true’.
enabled: trueDefinisci i file di log di sistema da inviare al server logstash. Per questa guida, aggiungeremo il file di log ssh ‘auth.log’ e il file syslog.
paths:
- /var/log/secure
- /var/log/messagesImposta l’output su logstash commentando l’output ‘elasticsearch’ predefinito e decommentando la riga di output logstash qui sotto.
output.logstash:
# I server Logstash
hosts: ["elk-master:5443"]
ssl.certificate_authorities: ["/etc/filebeat/logstash-forwarder.crt"]Salva ed esci.
Successivamente, dobbiamo modificare il file ‘filebeat.reference.yml’ per abilitare i moduli filebeat, e abiliteremo il modulo ‘syslog’.
vim filebeat.reference.ymlAbilita il modulo di sistema syslog per filebeat come qui sotto.
- module: system
# Syslog
syslog:
enabled: trueSalva ed esci.
Copia il file del certificato logstash ‘logstash-forwarder.crt’ nella directory ‘/etc/filebeat’.
cp ~/logstash-forwarder.crt /etc/filebeat/logstash-forwarder.crtL’installazione e la configurazione di Filebeat sono state completate. Ora avvia il servizio filebeat e aggiungilo all’avvio.
systemctl start filebeat
systemctl enable filebeatControlla il servizio filebeat utilizzando i comandi qui sotto.
systemctl status filebeat
tail -f /var/log/filebeat/filebeatI data shipper filebeat sono attivi e funzionanti sul server CentOS 7.5.

Passo 4 - Testare
Apri il tuo browser web e digita il nome di dominio dell’elastic stack, il mio è: ‘elastic-stack.io’.
Ti verrà chiesto il nome utente e la password dall’autenticazione di base per il Dashboard di Kibana.

Digita il nome utente ‘elastic’ con la tua password.
Ora otterrai il bellissimo dashboard di kibana, clicca sul pulsante ‘Imposta modelli di indice’ a destra.

Definisci il modello di indice ‘filebeat-*’ e clicca sul pulsante ‘Passo successivo’.

Per il ‘nome del campo del filtro temporale’, scegli ‘@timestamp’ e clicca su ‘Crea modello di indice’.

E il modello di indice filebeat è stato creato.

Successivamente, proveremo a ottenere le informazioni di log per il login SSH fallito su ciascun server client ‘elk-client01’ sistema Ubuntu e ‘elk-client02’ sistema CentOS.
All’interno del Dashboard di Kibana, clicca sul menu ‘Scopri’ per ottenere tutti i log del server.
Imposta ‘beat.hostname’ sul server ‘elk-client01’, la ‘source’ è il file ‘/var/log/auth.log’, e otterrai il risultato come mostrato qui sotto.

Ecco i dettagli di log di esempio per la password SSH fallita dal file ‘auth.log’.

Per il server ‘elk-client02’ CentOS, imposta ‘beat.hostname’ sul server ‘elk-client02’, la ‘source’ è il file ‘/var/log/secure’, e otterrai il risultato come mostrato qui sotto.

Ecco i dettagli di log di esempio per la password SSH fallita dal file ‘secure’.

L’installazione e la configurazione dell’Elastic Stack e dell’Elastic Beat ‘Filebeat’ sono state completate con successo.
Riferimenti
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.