Kibana Basics: visualizzazioni e dashboard

Come sfruttare le dashboard e i pannelli di visualizzazione di Kibana per monitorare i propri log?
Utilizzare lo stack tecnologico composto da FluentD, Elasticsearch e Kibana offre numerosi vantaggi, tra cui la capacità di raccogliere, archiviare e visualizzare in tempo reale grandi volumi di dati di log in modo intuitivo e interattivo.
Pagina principale dell’interfaccia di Kibana
TOC
Cosa sono le Visualization
In Kibana, le visualizzazioni rappresentano la modalità con cui i dati raccolti vengono presentati graficamente. Queste possono includere diversi tipi di grafici come istogrammi, grafici a linee, mappe termiche e grafici a torta. Le visualizzazioni consentono agli utenti di esplorare i dati in modo interattivo, facilitando l’analisi e l’identificazione di tendenze o anomalie nei log.
Funzionano sulla base del concetto di aggregazione_: sono funzioni che permettono di riassumere o raggruppare i dati.
In Kibana, queste possono essere utilizzate per calcolare statistiche come medie, somma, conteggi e percentuali su specifici campi dei log. Le aggregazioni sono fondamentali per creare visualizzazioni significative che mostrano informazioni chiave sui dati analizzati.
Esempio di dashboard custom creata tramite Kibana
Esistono due tipi di aggregazioni: aggregazioni basate sulle metriche e aggregazioni tramite bucket.
Queste ultime raggruppano il contenuto in un bucket in base alla logica e ai requisiti, che possono essere delle funzioni o dei filtri, mentre le aggregazioni metriche vengono utilizzate per calcolare un valore per ciascun bucket in base agli elementi al suo interno.
Ogni tipo di visualizzazione presenta i bucket e i loro valori in modi diversi. Quindi, in un grafico a torta, ad esempio, il numero di fette è definito dall’aggregazione Buckets, mentre la dimensione della fetta è definita dall’aggregazione Metric.
Le aggregazioni tramite bucket che usano gli istogrammi, ad esempio, funzioneranno solo con numeri interi. Le aggregazioni di metriche come il minimo e il massimo funzioneranno solo su campi numerici o su date, mentre il contatore funziona su qualsiasi tipo di campo.
Proviamo a descrivere qualche esempio!
Crea la tua prima visualizzazione
Cliccando sul menù di sinistra, alla voce “Visualize”, è possibile aprire l’elenco delle visualizzazioni disponibili (attualmente vuoto):
Cliccando sul pulsante “Create a visualization”, verrà mostrato l’elenco dei tipi disponibili in Kibana: ogni tipologia può essere usata in determinati contesti, come nel caso dei grafici che sono perfetti per mostrare dati di frequenza e consumo delle risorse.
Di seguito, riportiamo le tipologiche presenti e quali dati è possibile mostrare attraverso queste:
Credits to logz.io
Immaginiamo di voler mostrare tramite un contatore il numero di log prodotti nelle ultime 24 ore: dall’elenco delle visualizzazioni selezioniamo, ad esempio, “Metric” e poi selezioniamo l’indice di interesse (o una ricerca precedentemente salvata.
Questo sarà il risultato:
Sfruttando l’aggregazione, riporta il numero di log presenti per questo indice.
Non è tutto: se volessimo mostrare la percentuale di log per ogni livello, potremmo creare un grafico a torta, che crea dei bucket separati per ogni livello, sfruttando il campo “level” presente nei log:
Anche questo grafico è altamente personalizzabile, sia nei colori, che nelle label: cliccando in alto a destra, è possibile cambiare queste impostazioni in maniera davvero facile.
E se volessimo mostrare l’andamento del numero dei log che vengono raccolti ogni giorno? Potremmo usare un grafico lineare, e sfruttare un bucket che aggrega i log per giorno, tramite il campo “@timestamp”:
Ora che abbiamo a disposizione qualche visualizzazione, siamo pronti/e per assemblare questi elementi e creare una dashboard facilmente consultabile e filtrabile da Kibana. Proseguiamo!
Dashboard
Una dashboard in Kibana è un’interfaccia visiva che consente di raccogliere e visualizzare dati provenienti da Elasticsearch in modo interattivo e dinamico. Le dashboard possono integrare tutte le visualizzazioni finora create e, soprattutto, permettono di aggiornarle in tempo reale sfruttando la barra di ricerca di Kibana che permette di filtrare i risultati.
Questo strumento facilita l’analisi dei dati, consentendo di monitorare metriche in tempo reale e di prendere decisioni informate basate su visualizzazioni chiare e intuitive.
Clicchiamo quindi nel menù di sinistra sulla voce “Dashboard” e poi su “Create new dashboard”:
Sarà sufficiente cliccare su “Add Panels” in alto per selezionare le visualizzazioni create in precedenza. Queste verranno aggiunte non appena andremo a cliccare sui link, e potremo poi spostarle a piacimento:
Aggiungendo qualche altra visualizzazione alla nostra dashboard rispetto a quelle viste in precedenza, possiamo creare una dashboard simile a questa:
Le dashboard sono progettate per essere facilmente personalizzabili; gli utenti possono aggiungere, rimuovere o modificare i pannelli a seconda delle proprie esigenze.
Inoltre, ogni elemento della dashboard è interattivo, consentendo di esplorare i dati in profondità attraverso filtri e la selezione del periodo temporale di interesse (in alto a destra).
Condividere una dashboard
Una volta create le visualizzazioni o le dashboard desiderate, Kibana offre diverse opzioni per condividerle. Gli utenti possono integrare questi elementi all’interno delle proprie applicazioni web tramite il tag oppure condividendo il link per permettere l’accesso ad altri utenti.
Per farlo, è sufficiente selezionare l’opzione “Share” nella dashboard e copiare il codice o il link fornito.