Installazione software · 11 min read · Nov 11, 2025
Come installare Elastic Stack su Ubuntu 20.04 LTS

Elastic Stack (precedentemente ELK Stack) è un gruppo di software open source sviluppato da Elastic per raccogliere dati da varie fonti. Ti consente di raccogliere, memorizzare, elaborare, analizzare e visualizzare dati da varie fonti in qualsiasi formato sulla piattaforma centrale di Elastic Stack.
L’Elastic Stack è composto da diversi pacchetti software: “Elasticsearch” per memorizzare i tuoi dati, “Kibana” come dashboard per accedere e visualizzare i tuoi dati, la pipeline di raccolta dati dinamica “Logstash” con plugin estensibili per elaborare qualsiasi dato, e “Beats” come piattaforma leggera per il trasferimento di dati che invia dati dalle macchine edge.
L’Elastic Stack può essere distribuito su Promises sul tuo server oppure puoi acquistare il SaaS (Software as a Service) ufficiale Elastic Cloud.
In questo tutorial ti mostreremo come installare Elastic Stack su un server Ubuntu 20.04. Installeremo Elasticsearch e Kibana sullo stesso server e poi installeremo e configureremo “Filebeat” su un altro server per inviare i log direttamente al server Elasticsearch.
Requisiti
Per questo tutorial, utilizzeremo due server che eseguono Ubuntu 20.04. Il software Elastic Stack sarà installato sul server con 4 GB di RAM, e utilizzeremo un altro server con 1 GB come client per Filebeat.
Cosa faremo?
- Aggiungere il repository di Elastic Stack
- Installare e configurare Elasticsearch
- Installare e configurare Kibana
- Configurare Nginx come reverse proxy per Kibana
- Installare e configurare Filebeat
- Configurare un nuovo ruolo per l’utente Kibana
- Creare un nuovo modello di indice Filebeat
Passo 1 - Aggiungere il repository di Elastic Stack
Per prima cosa, aggiungeremo la chiave GPG e il repository del software Elastic Stack a entrambi i server Ubuntu.
Prima di procedere, installa ‘apt-transport-https’ per garantire la sicurezza della tua installazione software tramite connessione HTTPS.
sudo apt install apt-transport-httpsSuccessivamente, aggiungi la chiave GPG e il repository dell’Elastic Stack utilizzando il seguente comando.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.listOra aggiorna tutti i repository disponibili sul sistema Ubuntu.
sudo apt updateE sei pronto per installare tutto il software Elastic Stack su entrambi i server.

Passo 2 - Installare e configurare Elasticsearch
In questo passo, installeremo e configureremo Elasticsearch sul server a nodo singolo ‘ELK20’ con l’indirizzo IP interno ‘172.16.0.3’.
Prima di installare Elasticsearch, modifica il file ‘/etc/hosts’ utilizzando l’editor vim.
vim /etc/hostsOra digita il tuo nome host con l’indirizzo IP interno come di seguito.
172.16.0.3 ELK20Salva e chiudi.
Successivamente, installa il pacchetto Elasticsearch utilizzando il comando apt qui sotto.
sudo apt install elasticsearchUna volta completata l’installazione, vai nella directory ‘/etc/elasticsearch’ ed edita il file di configurazione ‘elasticsearch.yml’.
cd /etc/elasticsearch/
vim elasticsearch.ymlRimuovi il commento dalla riga ‘node.name’ e digita il nome host del tuo server.
node.name: ELK20Nella riga ‘network.host’, digita l’indirizzo IP del server su cui il servizio Elasticsearch sarà in esecuzione, ed è consigliato utilizzare solo l’indirizzo IP interno.
network.host: 172.16.0.3Rimuovi il commento dalla riga ‘http.port’ e lasciala come predefinita, il servizio Elasticsearch sarà in esecuzione sulla porta predefinita ‘9200’.
http.port: 9200Rimuovi il commento dalla riga ‘cluster.initial_master_nodes’ e digita il nome host del tuo server.
cluster.initial_master_nodes: ["ELK20"]E infine, abilita la sicurezza di Elasticsearch aggiungendo la seguente configurazione in fondo alla riga.
xpack.security.enabled: trueSalva e chiudi.
Successivamente, ricarica il gestore di servizi systemd, quindi avvia il servizio Elasticsearch e aggiungilo all’avvio del sistema.
systemctl daemon-reload
systemctl start elasticsearch
systemctl enable elasticsearchIl servizio Elasticsearch è attivo e funzionante sul server Ubuntu 20.04.

Successivamente, genereremo la password per l’utente integrato su Elasticsearch.
Vai nella directory ‘/usr/share/elasticsearch’ ed esegui il comando utility di Elasticsearch ‘elasticsearch-setup-passwords’ come di seguito.
cd /usr/share/elasticsearch/
bin/elasticsearch-setup-passwords auto -u "http://172.16.0.3:9200"Digita ‘y’ per confermare e generare la password.
Iniziando la configurazione delle password per gli utenti riservati elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
Le password saranno generate casualmente e stampate sulla console.
Si prega di confermare che si desidera continuare [y/N] yDi seguito è riportato il risultato che otterrai.
Cambiata la password per l'utente apm_system
PASSWORD apm_system = DP5RpFfbCyL6UpIFO8Q3
Cambiata la password per l'utente kibana_system
PASSWORD kibana_system = U6gDLoJCqqChqcbD1IYV
Cambiata la password per l'utente kibana
PASSWORD kibana = U6gDLoJCqqChqcbD1IYV
Cambiata la password per l'utente logstash_system
PASSWORD logstash_system = KrHaGvHGfkAz12dcSeWo
Cambiata la password per l'utente beats_system
PASSWORD beats_system = VnUUOtShQoFAGEZ62G7m
Cambiata la password per l'utente remote_monitoring_user
PASSWORD remote_monitoring_user = xgaLXw6jp3Ses6CZ2hEB
Cambiata la password per l'utente elastic
PASSWORD elastic = elu2ZlMm4mOkM7fgCeUMCome puoi vedere, la password per alcuni utenti integrati su Elasticsearch è stata generata.
Gambar
Per testare la nostra installazione di Elasticsearch, esegui il comando curl con l’utente predefinito ‘ elastic ‘ come di seguito.
curl -X GET -u elastic "http://172.16.0.3:9200/?pretty"Digita la password per l’utente ‘ elastic ‘, e di seguito è riportato il risultato che otterrai.

Di conseguenza, il server Elasticsearch è attivo e funzionante con l’autenticazione abilitata.
Passo 3 - Installare e configurare Kibana
In questo passo, installeremo e configureremo Kibana sullo stesso server di Elasticsearch. Collegheremo Kibana al server Elasticsearch con l’utente predefinito ‘kibana_system’ e la password generata sopra.
Installa Kibana utilizzando il comando apt qui sotto.
sudo apt install kibanaUna volta completata l’installazione, vai nella directory ‘/etc/kibana’ ed edita il file di configurazione ‘kibana.yml’ utilizzando l’editor vim.
cd /etc/kibana/
vim kibana.ymlRimuovi il commento dalle seguenti righe e cambia i valori con i tuoi. È consigliato eseguire Kibana sulla rete locale perché utilizzeremo Nginx come reverse proxy per Kibana.
server.port: 5601
server.host: "172.16.0.3"
server.name: "ELK20"Dopo di che, cambia ‘elasticsearch.url’ con il tuo indirizzo IP di Elasticsearch.
elasticsearch.url: "http://172.16.0.3:9200"Rimuovi il commento dalle righe “elasticsearch.username” e ‘elasticsearch.password’, e cambia i dettagli con l’utente e la password che hai generato.
elasticsearch.username: "kibana_system"
elasticsearch.password: "N88VBkkelfSV3mBfO6Vh"Salva e chiudi.
Successivamente, ricarica il gestore systemd utilizzando il seguente comando.
systemctl daemon-reloadDopo di che, avvia il servizio Kibana e aggiungilo all’avvio del sistema.
systemctl start kibana
systemctl enable kibanaE il servizio Kibana è attivo e funzionante sul sistema Ubuntu 20.04.

Successivamente, creeremo un nuovo utente che sarà utilizzato per accedere alla dashboard di Kibana.
Crea un nuovo utente chiamato ‘hakase’ e la password ‘hakasepasskibana’ con il ruolo ‘kibana_admin’ come di seguito.
curl -X POST -u elastic "http://172.16.0.3:9200/_security/user/hakase?pretty" -H 'Content-Type: application/json' -d'
{
"password" : "hakasepasskibana",
"roles" : [ "kibana_admin" ]
}
'Digita la password per l’utente ‘elastic’, e otterrai il risultato come di seguito.

Di conseguenza, il nuovo utente ‘hakase’ è stato creato e potrà accedere alla dashboard di Kibana.
Passo 4 - Configurare Nginx come reverse proxy per Kibana
In questo passo, installeremo e configureremo Nginx come reverse proxy per Kibana.
Installa i pacchetti Nginx utilizzando il comando apt qui sotto.
sudo apt install nginx -yUna volta completata l’installazione, vai nella directory ‘/etc/nginx/sites-available/‘ e crea un nuovo file di host virtuale ‘kibana’ utilizzando l’editor vim.
cd /etc/nginx/sites-available/
vim kibanaCambia il nome di dominio e l’indirizzo IP ‘proxy_pass’ con i tuoi, quindi incollalo.
server {
listen 80;
server_name elk.hakase-labs.io;
location / {
proxy_pass http://172.16.0.3: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 e chiudi.
Successivamente, attiva l’host virtuale Nginx per Kibana e verifica la configurazione di Nginx.
ln -s /etc/nginx/sites-available/kibana /etc/nginx/sites-enabled/
nginx -tAssicurati che non ci siano errori, quindi riavvia il servizio Nginx.
systemctl restart nginxDi conseguenza, l’installazione e la configurazione di Nginx come reverse proxy per Kibana sono state completate. E la dashboard di Kibana è ora accessibile tramite il nome di dominio ‘elk.hakase-labs.io’.

Apri il tuo browser web e digita il nome di dominio della tua installazione di Kibana nella barra degli indirizzi.
E otterrai la pagina di accesso di Kibana come di seguito.

Digita l’utente ‘hakase’ con la password ‘hakasepass’ e fai clic sul pulsante ‘ Login ‘.
Una volta effettuato l’accesso, ti verrà chiesto di importare i dati di esempio o esplorare i tuoi dati.

Fai clic sul pulsante ‘ Esplora i miei dati ‘.
Ora otterrai la dashboard di Kibana come di seguito.

Di conseguenza, l’installazione di Kibana e Nginx è stata completata.
Passo 4 - Installare e configurare Filebeat
In questo passo, installeremo “Filebeat” sulla macchina client con il nome host “client01” e l’indirizzo IP “xxx.xxx.xxx.xxx”. Filebeat invierà i log direttamente al server Elasticsearch.
Prima di installare “Filebeat”, assicurati che il repository di Elastic Stack sia stato aggiunto al tuo sistema.
Ora installa il pacchetto filebeat utilizzando il comando apt qui sotto.
sudo apt install filebeatUna volta completata l’installazione, vai nella directory ‘/etc/filebeat’ ed edita il file di configurazione ‘filebeat.yml’ utilizzando l’editor vim.
cd /etc/filebeat/
vim filebeat.ymlIn cima alla configurazione ‘filebeat.inputs’, cambia ‘enabled: false’ in ‘enabled: true’ come di seguito.
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.logSuccessivamente, spostati nella configurazione di Kibana e cambia l’host con l’indirizzo IP e la porta di Kibana, cambia l’username con l’utente predefinito ‘kibana’, e la password generata sopra.
setup.kibana:
host: "172.16.0.3:5601"
username: "kibana"
password: "U6gDLoJCqqChqcbD1IYV"Dopo di che, spostati nella configurazione ‘output.elasticsearch’ e cambia i dettagli con i tuoi.
output.elasticsearch:
hosts: ["172.16.0.3:9200"]
username: "elastic"
password: "elu2ZlMm4mOkM7fgCeUM"Salva e chiudi.
Ora ricarica il gestore systemd, avvia il servizio filebeat e aggiungilo all’avvio del sistema.
systemctl daemon-reload
systemctl start filebeat
systemctl enable filebeatIl servizio filebeat è attivo e funzionante sulla macchina “ client01 “.

Successivamente, dobbiamo caricare il modello di indice filebeat sul server Elasticsearch utilizzando il seguente comando.
filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["http://172.16.0.3:9200"]'Di seguito è riportato il risultato che otterrai.
Di conseguenza, il modello di indice filebeat è stato caricato sul server Elasticsearch, e sarà disponibile nella dashboard di Kibana come modello di indice ‘filebeat-*’.
Passo 5 - Configurare un nuovo ruolo per l’utente Kibana
In questo passo, creeremo un nuovo ruolo elasticsearch che consente al nostro utente ‘hakase’ di accedere e gestire tutti gli indici sul server Elasticsearch tramite l’API di Elasticsearch.
Crea un nuovo ruolo chiamato ‘ events_index ‘ che consente agli utenti di gestire solo gli indici sul server Elasticsearch utilizzando il seguente comando.
curl -XPOST -u elastic 'http://172.16.0.3:9200/_security/role/events_index' -H "Content-Type: application/json" -d '{
"indices" : [
{
"names" : [ "*" ],
"privileges" : [ "all" ]
}
]
}'
Dopo di che, controlla il ruolo ‘ events_index ‘ utilizzando il comando qui sotto.
curl -X GET -u elastic "http://172.16.0.3:9200/_security/role/events_index?pretty"Di seguito è riportato il risultato che otterrai.

Come puoi vedere, il ruolo ‘events_index’ avrà solo privilegi per gestire gli indici.
Successivamente, aggiungi il ruolo ‘events_index’ al nostro utente ‘hakase’ utilizzando il comando qui sotto.
curl -X POST -u elastic "http://172.16.0.3:9200/_security/user/hakase?pretty" -H 'Content-Type: application/json' -d'
{
"password" : "hakasepasskibana",
"roles" : [ "kibana_admin", "events_index" ]
}
'Digita la password per l’utente ‘ elastic ‘, e il ruolo ‘ events_index ‘ è stato assegnato all’utente ‘ hakase ‘.
Controlla tutti i ruoli disponibili sotto l’utente ‘hakase’ utilizzando il seguente comando.
curl -X GET -u elastic "http://172.16.0.3:9200/_security/user/hakase?pretty"Di seguito è riportato il risultato che otterrai.

Di conseguenza, abbiamo creato un nuovo ruolo per gestire gli indici sul server Elasticsearch.
Passo 6 - Creare un nuovo modello di indice Filebeat
Dopo aver creato un nuovo ruolo chiamato ‘events_index’, creeremo un nuovo modello di indice per Filebeat tramite l’utente ‘ hakase ‘.
- Creare un modello di indice
Nella dashboard di Kibana, fai clic sull’opzione di menu a sinistra, spostati nella sezione “ Gestione “ e fai clic su “ Gestione Stack “.
Nella sezione “ Kibana “, fai clic su “ Modello di indice “.

Fai clic sul pulsante “Crea modello di indice” per creare un nuovo modello di indice.
Nel campo “modello di indice”, digita “ filebeat-* “ e fai clic sul pulsante “ Passo successivo “.

Nel campo “Nome del filtro temporale”, scegli “ @timestamp “ e fai clic sul pulsante “ Crea modello di indice “.

E il modello di indice “ filebeat-* “ è stato creato, ed è selezionato come modello di indice predefinito (se non hai alcun modello di indice prima).

- Mostrare i dati su Kibana
Per mostrare i dati raccolti da filebeat, fai clic sul menu delle opzioni in alto a sinistra, quindi fai clic su “ Scopri “.
E otterrai tutti i dati raccolti da filebeat dalla macchina “ client01 “.

Per mostrare i dati in base al tuo filtro, puoi utilizzare il “ KQL “ o il Linguaggio di Query di Kibana.
Digita la seguente query nel campo “ KQL “.
host.name : client01 and log.file.path: "/var/log/auth.log"E otterrai tutte le informazioni sull’autenticazione SSH sulla macchina “client01”.

Di conseguenza, l’installazione di Elastic Stack con la sicurezza abilitata su Ubuntu 20.04 è stata completata con successo.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.