La visualizzazione dei dati ricopre un ruolo fondamentale in molte attività. Esistono diversi tool, sia open-source che a pagamento, che permettono di creare rappresentazioni intuitive dei nostri dati. Tra questi non possiamo citare Kibana, il tool di data visualization di ELK Stack. Scopriamo quali sono le sue funzionalità principali e non slo quelle dedicate alla visualizzazione.

Share

Reading time: 5 minutes

Ai giorni nostri la quantità di dati generati è sempre maggiore. I Big Data rappresentano un enorme fonte di conoscenza, ma anche una grande sfida nel campo IT. Le varie figure professionali, dai Data Architect ai Data Scientists, che si occupano dei Big Data hanno bisogno di definire le metodologie di raccolta, di elaborazione, di conservazione e di analisi dei dati. Come visto negli articoli, Google Cloud Storage: soluzione per i data lakes e Data lakes: soluzioni in GCP, esistono diverse soluzioni che rispondono a svariate esigenze e casi d’uso. Alcune di queste includono anche dei software per la visualizzazione. La visualizzazione dei dati ricopre un ruolo molto importante. Infatti, supporta gli utenti a rilevare un modello, monitorare l’ambiente e intraprendere azioni quando si rileva un comportamento anomalo. Attualmente, il mercato ha una lista enorme di strumenti di visualizzazione dei dati che forniscono la visibilità necessaria per la comprensione e l’analisi dei dati. Tra questi vi è Kibana.

Kibana è la più popolare piattaforma open source di analisi e visualizzazione progettata per offrire approfondimenti più veloci e migliori sui vostri dati. In questo articolo, illustreremo questo strumento di visualizzazione dei dati all’avanguardia e le sue importanti caratteristiche.

Panoramica di Kibana

Kibana è uno strumento che permette di esplorare, visualizzare e costruire una dashboard sui dati salvati in Elasticsearch. Come discusso nell’articolo ELK Stack: cos’è e a cosa serve, Elasticsearch è un database NoSQL orientato ai documenti e ai dati testuali. Diversamente, Logstash supporta la raccolta, l’analisi e l’archiviazione dei dati per un uso futuro. Con l’utilizzo dei Beats è possibile creare una pipeline di ingest e elaborazione dei dati anche molto complessa.

La caratteristica principale di Kibana è l’interrogazione e l’analisi dei dati. Inoltre, permette di visualizzare i dati in modi alternativi utilizzando mappe di calore, grafici a linee, istogrammi, grafici a torta e mappe geospaziali. Con vari metodi, è possibile cercare i dati memorizzati in Elasticsearch per la diagnostica di sensori nel campo dell’Internet Of Things (IOT) oppure i log provenienti da diversi sistemi e/o applicazioni.

Con Kibana, è facile addentrarsi e comprendere i Big Data. La possibilità di costruire e condividere rapidamente dashboard dinamiche che catturano in tempo reale i dati salvati in Elasticsearch lo rende uno strumento molto utile in molti scenari. Le funzionalità disponibili sono molteplici e crescono con il rilascio delle nuove versioni.

Dalla versione 7.x il menù laterale è notevolmente cambiato rispetto al passato. Sono state create delle voci principali che raggruppano alcune funzionalità. Vediamo di seguito le principali funzionalità e dove trovarle.

Analytics

Nel menù Analytics sono state inserite molte funzionalità relative alla visualizzazione e analisi dei dati. In particolare, la pagina Discover permette un’esplorazione interattiva dei dati. È possibile filtrare i dati per periodo temporale e/o visualizzare solo i campi di nostro interesse. Mediante il Keyword Query Language (KQL) si possono filtrare i dati.

Nella pagina Dashboard, invece, sono elencate tutte le dashboard create. La dashboard di Kibana è estremamente dinamica e adattabile. Ad esempio, è possibile filtrare i dati al volo e aprire la dashboard in formato a pagina intera. La funzione di dashboard personalizzabile permette di ridimensionare, organizzare e modificare il contenuto del dashboard e di salvarlo in modo da poterlo condividere in diversi formati.

Diversamente dalle versioni precedenti, le funzionalità per la creazione e la personalizzazione delle visualizzazioni sono accessibili da diversi voci del menù. La pagina Canvas fornisce l’interfaccia per creare visualizzazioni altamente personalizzate, mentre la pagina Maps è dedicata alla rappresentazione su mappe geografiche dei dati. Queste tipologie di visualizzazioni, oltre alle altre disponibili sulla piattaforma, posso essere creare e gestite alla pagina Visualize Library. Di seguito sono riportate le tipologie di grafico attualmente disponibili. Come si può notare esistono è possibile creare grafici a torta, tabelle di dati, grafici a barre, visualizzazione di singole metriche, serie temporali, mappe geografiche e markdown. Queste visualizzazioni possono poi essere incluse in una o più dashboards.

L’analisi dei dati ricopre un ruolo fondamentale al giorno d’oggi. In Kibana, nella sezione Machine Learning, è possibile creare dei tasks che rilevano anomalie o outliers, creano modelli di regressione lineare o di classificazione. È possibile, pertanto, individuare comportamenti anomali sulle serie temporali rappresentati dai log di un’applicazione per evitare interruzioni di servizio o attacchi informatici.

Infine, la pagina Graph permette di visualizzare le relazioni che esistono tra i dati, come mostrato nell’esempio sottostante. Si possono definire quali campi si vogliono analizzare e filtrare i dati in base alle proprie esigenze.

Enterprise Search

In questione sezione si possono creare soluzioni per la ricerca testuale. Ad esempio con App Search è possibile creare un motore di ricerca e collegarlo direttamente al proprio sito web. Infatti, mediante un crawler interno non è necessario inserire manualmente in Elasticsearch i dati da indicizzare, ma il tutto verrà fatto in modo automatico. Differentemente Workspace Search creare un motore di ricerca collegato alle risorse di un’organizzazione. E’ possibile collegare i repository di github, i cloud storage di Dropbox, OneDrive e Google Drive e perfino gli account gmail.

Observability

Il menù Observability è focalizzato sul monitoraggio, analisi e visualizzazione degli eventi che sono catturati e salvati in Elastisearch. La sezione Logs permette di visualizzare in tempo reale le fonti dei log che sono state definite e filtrare i dati di interesse.  Si possono anche definire le regole per il rilevamento di anomalie.

Mediante le pagine della sezione Metrics si possono analizzare e visualizzare le metriche della propria architettura (CPU, utilizzo RAM, ecc.) oltre ad impostare la ricezione di avvisi qualora si verificassero delle anomalie. Il sistema Application Performance Monitoring (APM) supporta gli utenti a monitorare le applicazioni e i servizi raccogliendo alcune metriche relative alle prestazioni e agli errori. In questo modo gli sviluppatori possono individuare rapidamente i colli di bottiglia delle prestazioni.

La sezione Uptime monitora proattivamente la disponibilità dei siti e/o servizi, e verifica la validità dei certificati SSL. È possibile impostare avvisi qualora un sito non sia disponibile o un certificato sia prossimo alla scadenza al fine di risolvere i problemi più velocemente e di conseguenza ottimizzare l’esperienza degli utenti.

Security

Elastic Security combina le funzionalità di rilevamento delle minacce di un sistema SIEM (security information and event management) con la prevenzione e le capacità di risposta degli endpoint. Queste capacità analitiche e di protezione, sfruttando la potenza di Elasticsearch, consentono agli analisti di difendere la loro organizzazione dalle minacce prima che si verifichino danni e perdite. Le funzionalità che possono essere esplorate in questa sezione sono le visualizzazioni interattive per indagare le relazioni tra i processi, il rilevamento degli attacchi senza firma con processi di apprendimento automatico delle anomalie e regole di rilevamento precostituite e la gestione integrata dei casi con azioni automatiche.

Management

All’interno di questa sezione è possibile eseguire diverse operazioni. Nella pagina DevTools si possono sottomettere le query di interesse per verificare la sintassi e i risultati. Diversamente nella pagina Integrations si possono esplorare diversi agent per collezionare i dati da più di 100 servizi diversi.  In modo analogo Fleet fornisce un’interfaccia per aggiungere e gestire le integrazioni per i servizi e le piattaforme più popolari, nonché per gestire una flotta di agent.

In Stack Monitoring è possibile, come mostrato in figura, monitorare lo stato del proprio stack.

Infine, nella pagina di Stack Management si possono gestire diverse funzionalità tra cui:

  • I modelli degli indici
  • i backups
  • gli utenti con i relativi ruoli
  • i workspaces
  • gli oggetti salvati
  • i tasks di alerting a di machine learning

Letture consigliate

More To Explore

Python

OpenCV e Streamlit: creare un’app di photo editing

Manipolare le immagini è un task che è molto utile in diversi campi applicativi. OpenCV, una libreria Python, permette facilmente di modificare le immagini a seconda delle nostre esigenze. In questo tutorial scopriamo come costruire una semplice web app mediante Streamlit per applicare alcuni effetti alle nostre foto.

Python

Streamlit: come migliorare l’esperienza utente di una web app

Con Streamlit è possibile creare dashboard interattive in pochissimo tempo. L’interfaccia utente deve però essere intuitiva, semplice da usare ed efficace. In questo tutorial scopriremo come migliorare una web app con poche e semplici trucchi.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Design with MongoDB

Design with MongoDB!!!

Buy the new book that will help you to use MongoDB correctly for your applications. Available now on Amazon!