<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1267344923293614&amp;ev=PageView&amp;noscript=1">

Blog

Big Data monitoring tool a confronto: TICK vs ELK stack

Davide Avella

Davide Avella, 18 novembre 2019 | Big Data

Il sistema è finalmente stabile e in produzione. Che sia un complessa rete di server o un meccanismo di integrazione fra molteplici database bisogna controllare che tutto fili liscio. Anzi, è necessario che quando ci sarà un problema, si potrà intervenire tempestivamente. Gli obiettivi sono intercettarlo, decodificarlo e risolverlo nel minor tempo possibile. Una sola parola: monitorare i sistemi in tutte le direttrici.

Scopri come far crescere l'azienda con i Big Data, scarica l'eBook!

Però, quale architettura scegliere? Come si fanno a selezionare i giusti componenti rispetto alle proprie esigenze? Domande a cui è difficile rispondere con una semplice “googlata”. I risultati sono tanti e tutti appaiono validi: stack performanti, altamente affidabili e costruiti ad hoc per gestire le grandi quantità di dati.

TICK stack e ELK stack: cosa sono?

Fra i tanti progetti in questo ambito, nell’ultimo periodo si sono fatti notare due che stanno diventando pian piano degli standard. Lo stack ELK, nato sotto l’ombrello del progetto ElasticSearch, e il TICK, progettato e costruito intorno ad un database orientato alla memorizzazione di dati timeseries. I punti di contatto sono tanti. In primis l’acronimo per indicare i componenti dello stack. Così mentre ELK sta per Elastic, Logstash e Kibana; TICK riprende le iniziali di Telegraf, Influx, Chronograf e Kapacitor.

Inoltre entrambi gli strumenti sono componibili a piacimento per il monitoraggio di metriche di sistema quali CPU, RAM e tanto altro ancora di sistema; forniscono componenti per l'analisi dei file di log e un monitoraggio applicativo; mettono a disposizione utilities per costruzione di alerting e dashboarding per analisi in real time; nascono nell’ambito opensource anche se offrono anche soluzioni enterprise e in cloud.

Per esaminare meglio le differenze fra ELK e TICK si possono contemplare tre dimensioni di analisi: acquisizione ed elaborazione di dati da fonti dati non strutturate come i log; ricezione di metriche di sistema; configurazione di strumenti di alerting.

Come funziona la gestione dei Log Data sui due stack

L’acquisizione e la gestione dei dati di log rappresenta il core dell’ELK stack. Una volta acquisiti i dati di log possono essere inviati direttamente ad ElasticSearch o, se si necessita di un’elaborazione, a Logstash che ne prende in carico il parsing. Il corrispondente tool nel TICK è un plugin di Telegraf che collassa in un unico momento quello che Filebeat e Logstash svolgono invece separatamente. Pertanto si occupa sia dell’acquisizione del log che del parsing.

Su questo aspetto lo stack ELK appare più stabile. Il plugin di Telegraf appare ancora un po’ acerbo, mentre Logstash dispone di una serie di plugin per manipolare i dati a piacimento. Inoltre lo stack ELK ha dalla sua parte il motore di Elastic, perfetto per immagazzinare dati testuali con ricerche full-text.

Il rilevamento delle System metric

Il rilevamento delle metriche di sistema è uno degli aspetti più importanti del monitoraggio con il TICK stack. Telegraf vanta numerosi plugin per raccogliere le metriche per diversi sistemi operativi, applicativi “containerizzati”, database relazionali e non. I plugin sono facili da configurare e recuperano in maniera quasi plug & play un ampio spettro di dati. Anche all’interno dello stack ELK si riscontra un agent per questo task. Nello specifico si parla di MetricBeat con moduli per il monitoraggio dei sistemi, dei docker e database concettualmente molto simili ai plugin di Telegraf.

Se nel monitoraggio dei log lo stack ELK si presenta più stabile, da quest’ultimo punto di vista il TICK è più adatto e più flessibile dato che è possibile redirigere l’output verso anche verso altri database e non solo InfluxDB, mentre Metricbeat ha come canale privilegiato ElasticSearch.

Funzionalità per l'alerting

La costruzione di alert nel TICK è gestito attraverso due componenti. Il primo è l’interfaccia web Chronograf. Il secondo è Kapacitor, il framework di data processing. Grazie a questi si possono definire threshold, abilitare e disabilitare regole di alert, costruire dashboard in real time e inviare messaggi di alert via e-mail, Slack e altri canali. Anche nello stack ELK è presenta una parte dedicata all’alerting. Il componente si chiama Watcher ed ha le stesse funzionalità del TICK, ma rientra in quelle feature che si sbloccano con la licenza Gold di Elastic.

Valutazione finale

Per avere una contezza quantitativa di questa confronto si possono usare tre dimensioni di analisi. Con un numero da 1 a 5 si valutano gli stack sulla base di:

  • Configurability: la difficoltà di configurare i tool dagli stack

  • Resiliency: la capacità di implementare soluzioni articolate o custom

  • Extendibility: la capacità di coprire differenti casi d’uso.

Nella scala l’uno rappresenta una maggiore complessità, mentre il cinque un effort minimo di impegno nell’implementazione anche di soluzioni dettagliate.

Cattura1

Conclusioni

Entrambi gli strumenti offrono potenzialmente le stesse funzionalità, ma rispettivi punti di forza sono complementari tra di loro. Il Tick stack si presta in maniera naturale ed efficace al monitoraggio di metriche e di alerting. Lo stack ELK è adatto all’analisi di dati testuali potendo entrare puntualmente in analisi dettagliate. Nulla vieta di usare le due soluzioni in modo parallelo e complementare per costruire un’architettura di monitoraggio a 360°.

Vuoi approfondire l'argomento e scoprire come usare i Big Data per far crescere la tua azienda? Allora leggi il nostro eBook gratuito: ti basta un clic qui sotto!

New call-to-action

Lascia un commento