ELK Stack: cos’è e a cosa serve

Riassunto

ELK Stack, acronimo di Elasticsearch – LogStash – Kibana, è un valido strumento per l’ingest e l’analisi dei dati in diversi contesti applicativi. Nato inizialmente per supportare la ricerca testuale, ad oggi le sue funzionalità sono aumentate considerevolmente. E’ possibile, infatti, fare l’ingest dei dati mediante Beats e LogStash e/o creare dashboard interattive di analisi mediante Kibana. Scopriamo le sue caratteristiche principali.

Avatar Alessandro Fiori

PhD · Politecnico di Torino

Articolo aggiornato a ottobre 2026 (Elastic Stack 9.x).

Negli ultimi anni il mondo di Elasticsearch si è ampliato notevolmente. Nato come database NoSQL a supporto della ricerca testuale mediante l’indice di Apache Lucene, il progetto ha visto lo sviluppo di altri prodotti: Logstash, Kibana e Beats. Oggi l’insieme si chiama ufficialmente Elastic Stack, ma il nome ELK (Elasticsearch, Logstash, Kibana) è ancora quello più usato.

Logstash è un aggregatore di log che raccoglie dati da varie fonti di input (app, database, server, ecc), esegue diverse trasformazioni e pulizia dei dati e, infine, spedisce i dati così ottenuti a varie destinazioni di output supportate tra cui Elasticsearch. Kibana, invece, è un tool di visualizzazione che lavora sopra Elasticsearch, fornendo agli utenti la possibilità di analizzare e visualizzare i dati. Infine, i Beats sono agenti leggeri installati sugli host per raccogliere diversi tipi di dati da inoltrare nello stack. Nelle versioni recenti questo ruolo è svolto sempre più da Elastic Agent, un unico agente gestito centralmente tramite Fleet.

Tutti questi componenti sono più comunemente utilizzati insieme per il monitoraggio, la risoluzione dei problemi e la sicurezza degli ambienti IT (anche se ci sono molti altri casi d’uso per ELK Stack come la business intelligence e l’analisi web). Beats e Logstash si occupano della raccolta e dell’elaborazione dei dati, Elasticsearch indicizza e memorizza i dati e Kibana fornisce un’interfaccia utente per interrogare i dati e visualizzarli.

Cosa è cambiato nell’ELK Stack nel 2026

Se hai letto guide su ELK di qualche anno fa, queste sono le novità che contano di più:

  • Versione: la linea attuale è la 9.x, con Elasticsearch basato su Lucene 10.
  • Licenza: nel 2021 Elasticsearch e Kibana hanno lasciato la licenza Apache 2.0 per Elastic License 2.0 e SSPL. Da agosto 2024 è disponibile anche la AGPLv3, quindi il codice è di nuovo open source a tutti gli effetti.
  • Raccolta dati: Elastic Agent e Fleet sostituiscono gradualmente i singoli Beats, e OpenTelemetry è supportato in modo nativo con le distribuzioni EDOT.
  • Query: oltre al classico Query DSL c’è ES|QL, un linguaggio a pipe molto comodo per esplorare log e metriche.
  • AI e ricerca vettoriale: Elasticsearch è anche un vector database, con ricerca semantica e ibrida usata in molti progetti RAG.
  • Alternative: OpenSearch, il fork nato nel 2021 da AWS, oggi è gestito dalla OpenSearch Software Foundation (Linux Foundation).

Perché ELK stack è popolare?

Come detto in precedenza, ELK stack rappresenta una soluzione open-source per la gestione e l’analisi di grandi moli di dati tra cui i log. Il monitoraggio delle applicazioni moderne e delle infrastrutture IT su cui sono distribuite richiede una soluzione di gestione e analisi dei log che permetta di superare la sfida di monitorare quelli che sono ambienti altamente distribuiti, dinamici e rumorosi.

ELK Stack permette di svolgere queste operazioni fornendo agli utenti una potente piattaforma che raccoglie ed elabora i dati da più fonti di dati e li memorizza in un archivio dati centralizzato. Inoltre, può scalare con la crescita dei dati oltre a fornire una serie di strumenti per l’analisi dei dati stessi.

Il codice è gratuito (con licenza AGPL, SSPL o Elastic License 2.0) ed è possibile installarlo sui propri server e gestirlo in piena autonomia. Esiste anche la soluzione cloud, Elastic Cloud (anche in versione serverless), disponibile in prova gratuita per 14 giorni, che in molti casi può essere una soluzione molto vantaggiosa per implementare una soluzione di monitoraggio e/o analisi dei dati in tempi rapidi, altamente affidabile e sicura. L’interfaccia di Kibana, semplice ed intuitiva, garantisce, inoltre, un’operativa elevata anche ad utenti non esperti. Infine, la comunità è molto attiva. Questo comporta un grande supporto oltre ad un’implementazione costante volta a migliorare l’intero stack.

Perché è importante analizzare i log?

Ad oggi, le compagnie non possono permettersi tempi di inattività o di prestazioni lente da parte delle loro applicazioni. I problemi di performance possono danneggiare un marchio e in alcuni casi tradursi in una perdita diretta di entrate. Basti pensare che un sito lento nel caricamento delle pagine, ossia più di 5 secondi, può ridurre di oltre il 50% l’engagement dei nuovi utenti. In modo analogo, anche le questioni di sicurezza e la non conformità agli standard normativi sono importanti. 

Al fine di garantire l’alta disponibilità, l’alta affidabilità e la sicurezza delle applicazioni, ci si affida ai diversi tipi di dati generati dalle applicazioni stesse e dall’infrastruttura che le ospita. Questi dati, siano essi log di eventi o metriche, o entrambi, permettono il monitoraggio dei sistemi e l’identificazione dei problemi nel caso in cui si verifichino. In questo modo si possono studiare soluzioni per migliorare il software, l’architettura e/o intervenire tempestivamente qualora si verificasse un Denial of Service (DoS).

I log sono sempre esistiti e così i diversi strumenti disponibili per analizzarli. Ciò che è cambiato, però, è l’architettura sottostante agli ambienti che generano questi log. L’architettura si è evoluta in microservizi, containers (ad esempio Docker, Kubernetes) e infrastrutture di orchestrazione distribuiti sul cloud o in ambienti ibridi. Inoltre, il volume di dati generato da questi ambienti è in costante crescita il che costituisce una sfida in sé.

Soluzioni centralizzate di gestione e analisi dei log come ELK Stack, consentono di avere una panoramica delle informazioni catturate e, di conseguenza garantire che le app siano affidabili e performanti in ogni momento.

Le moderne soluzioni di gestione e analisi dei log includono le seguenti capacità chiave:

  • Aggregazione: la capacità di raccogliere e spedire i log da più fonti di dati
  • Elaborazione: la capacità di trasformare i messaggi di log in dati significativi per una più facile analisi
  • Storage: la capacità di memorizzare i dati per periodi di tempo estesi per consentire il monitoraggio, l’analisi delle tendenze e i casi d’uso della sicurezza
  • Analisi: la capacità di sezionare i dati interrogandoli e creando visualizzazioni e dashboard su di essi

Come usare ELK stack per l’analisi dei log

I vari componenti di ELK Stack sono stati progettati per interagire tra loro senza troppe configurazioni. Tuttavia, il modo in cui si progetta lo stack può differire notevolmente in base al proprio ambiente e caso d’uso.

Per un ambiente di sviluppo di piccole dimensioni, l’architettura classica sarà la seguente.

Tuttavia, per gestire pipeline più complesse costruite per gestire grandi quantità di dati in produzione, è probabile che vengano aggiunti ulteriori componenti nella vostra architettura di log, per la resilienza (Kafka, RabbitMQ, Redis) e la sicurezza (nginx).

Questo è ovviamente un diagramma semplificato a scopo illustrativo. Un’architettura di produzione completa consisterà in più nodi di Elasticsearch con repliche complete in diverse regioni del vostro data center o cloud al fine di garantire alta disponibilità dei dati e del servizio. In alcuni casi saranno necessarie anche più istanze di Logstash e plugin di alerting.


Solo analisi dei log?

Elasticsearch, ovviamente, non viene utilizzato solo per l’analisi dei log. La sua architettura può essere impiegata anche per l’analisi di altre tipologie di dati, quali quelli derivanti dall’Internet Of Things (IOT) o dalle transazioni sugli e-commerce.

Grazie, infatti, a LogStash è possibile definire dei trasformatori personalizzati per qualsiasi tipologia di dato. Le funzionalità di indicizzazione dei testi da parte di Apache Lucene permettono di creare motori di ricerca di dati non strutturati. Infine, con i diversi tools di visualizzazione offerti da Kibana si possono creare dashboard per diversi scopi di analisi. La gestione degli accessi, dei ruoli degli utenti e dei workspaces garantiscono la creazione di ambienti orientati alle esigenze delle diverse figure professionali di un’azienda che devono analizzare i dati.

ELK stack è l’unica soluzione?

La risposta alla domanda del titolo è palesemente NO! Come visto anche in altri articoli su questo blog, Data lakes: soluzioni in GCP e MongoDB Compass – estrarre statistiche mediante l’aggregation pipeline, esistono anche altri strumenti che permettono la cattura e l’analisi dei dati.

MongoDB, essendo il più popolare database NoSQL, offre diverse opportunità per salvare e analizzare diverse tipologie di dati anche eterogenee tra di loro. Mediante opportuni metodi di modellazione, descritti nel libro Progettare con MongoDB: I migliori modelli per le applicazioni, è possibile ottimizzare lo spazio di archiviazione richiesto oltre ad aumentare le performance di analisi. A differenza di Elasticsearch, il polimorfismo dei documenti in MongoDB permette di salvare anche informazioni con caratteristiche diverse mappate sullo stesso campo. Di contro, l’analisi del testo non è così performante e precisa come in Elasticsearch. Per avvicinarsi servono MongoDB Search e Vector Search, basati anch’essi su Lucene: nati come Atlas Search sul cloud, da giugno 2026 sono disponibili anche nella Community Edition. Discorso simile per la creazione delle dashboard. MongoDB Charts è sicuramente un prodotto valido ma resta disponibile solo su Atlas.

Consulenza database

Elasticsearch, MongoDB o tutti e due? Dipende da come interroghi i dati, da quanti sono e da chi deve analizzarli. Se stai progettando o rivedendo l’architettura dati della tua azienda, posso aiutarti a scegliere e a impostarla bene.

Scopri la consulenza database →

Un’altra soluzione è per esempio un servizio cloud con GCP. Nell’ambiente di Google si possono creare architetture anche molto complesse per fare l’ingest dei dati e analisi correlate. Si possono sfruttare gli strumenti di PubSub per la cattura dei dati, lo storage per creare datalake e BigQuery per la costruzione del data warehouse. Infine, con Google Data Studio è possibile creare dashboard per la condivisione delle analisi. A parte l’ultimo strumento che può essere usato anche senza costi, tutte le altre soluzioni richiedono una spesa in base all’utilizzo delle risorse del cloud. Per questo motivo, il suo impiego è di solito limitato ad ambienti molto complessi in cui l’analisi dei dati per il solo monitoraggio non è il cuore del sistema. Se vuoi approfondire, trovi un percorso completo nella guida a Google Cloud, BigQuery e dashboard.

Quindi, in base alle risorse a vostra disposizione, al caso d’uso e alle vostre competenze potete scegliere la soluzione che più soddisfa le vostre esigenze. Tutte sono molto valide, ma rispondono a quesiti diversi (e in alcuni casi anche a tasche diverse!).

Domande frequenti su ELK Stack

ELK Stack è gratuito?

Sì, nella versione self-managed puoi scaricarlo e usarlo senza costi di licenza. Alcune funzionalità avanzate (machine learning, parte della sicurezza, alcuni connettori) richiedono una sottoscrizione a pagamento, mentre Elastic Cloud si paga in base alle risorse usate.

Che differenza c’è tra ELK Stack ed Elastic Stack?

Nessuna nella sostanza: Elastic Stack è il nome ufficiale, che comprende anche Beats ed Elastic Agent. ELK resta l’acronimo più diffuso.

Logstash serve ancora?

Sì, quando servono trasformazioni complesse o molte sorgenti diverse. Per molti casi semplici bastano però Elastic Agent e le ingest pipeline di Elasticsearch.

Meglio Elasticsearch o OpenSearch?

Le funzionalità di base sono simili. Elasticsearch è più avanti su ES|QL e sulle funzioni AI; OpenSearch ha licenza Apache 2.0 ed è il servizio gestito su AWS. Conviene scegliere in base al cloud che usi e alle funzionalità che ti servono davvero.

Elasticsearch può sostituire MongoDB come database principale?

Di solito no: Elasticsearch è ottimo per ricerca e analisi, mentre per i dati operativi di un’applicazione è meglio un database come MongoDB. Spesso i due lavorano insieme. Per orientarti tra le diverse tecnologie puoi partire dalla guida ai database; per vedere Kibana all’opera leggi a cosa serve Kibana.

Letture consigliate