Il motore di ricerca e analisi Elasticsearch è una delle soluzioni open source per l’indicizzazione e la strutturazione di grandi volumi di dati. Spesso si possono acquisire informazioni preziose solo nell’analisi successiva dei dati grezzi, sempre se vengono visualizzati in una forma chiara e facilmente comprensibile. Per la presentazione dei dati Elasticsearch in particolare è stato sviluppato lo strumento di visualizzazione Kibana, che verrà utilizzato in questo tutorial.
Kibana è un’interfaccia web estensibile per la presentazione visiva dei dati raccolti. Insieme ad Elasticsearch e allo strumento di elaborazione Logstash forma il cosiddetto stack ELK (chiamato anche stack elastico). Questa suite open source consente agli utenti di acquisire, organizzare e preparare i dati da diverse origini server (e in qualsiasi formato) ai fini di analisi. Oltre alla possibilità di visualizzare i dati elaborati da Logstash ed Elasticsearch, Kibana fornisce anche un’analisi automatica in tempo reale, un algoritmo di ricerca molto flessibile e vari tipi di visualizzazione (istogrammi, grafici, ecc.) per i singoli dati. Nella dashboard le singole visualizzazioni interattive possono quindi essere combinate in un’immagine complessiva dinamica che può essere filtrata e ricercata.
Per tutelare la vostra privacy il video si caricherà dopo aver cliccato.
Come applicazione web scritta in JavaScript, Kibana può essere utilizzato su diverse piattaforme. Occorre pagare solamente se si utilizza un servizio di hosting Elastic Cloud fornito dallo sviluppatore. Questo servizio a pagamento vi consente di implementare e organizzare un cluster sicuro Elasticsearch Kibana su Amazon o Google senza dover mettere a disposizione le vostre risorse.
Tutorial per Kibana: primi passi con il tool di visualizzazione
Kibana offre una vasta gamma di funzioni che possono essere utilizzate per visualizzare file di database analizzati. Tuttavia avete davanti a voi molto lavoro prima di poter filtrare e visualizzare le informazioni nella dashboard in modo da poter facilmente tenere sott’occhio, analizzare e valutare i valori chiave che desiderate. Con questo tutorial di Kibana vogliamo rendere più semplice il primo impatto con la potente interfaccia web. Questo articolo spiega come installare correttamente Kibana, creare la propria dashboard e integrare i database esistenti nello strumento di visualizzazione di Elastic.
Passo 1: come far funzionare Kibana
Siccome Kibana è stato progettato per visualizzare i dati indicizzati con Elasticsearch, è necessario innanzitutto un’installazione funzionante del motore di ricerca e analisi. I pacchetti corrispondenti per Windows, macOS e Linux sono disponibili nell’ Elasticsearch download center. Il prerequisito è che sia installato un ambiente di runtime Java corrente (64 bit).
Kibana è anche disponibile come software multipiattaforma per Windows, macOS e Linux (RPM, DEB). Poiché l’applicazione si basa sull’ambiente di runtime Javascript Node.js, i vari pacchetti di installazione contengono anche i dati binari node.js necessari per eseguire l’ambiente di visualizzazione: le versioni gestite separatamente non sono supportate. I diversi pacchetti (ZIP compressi) si possono trovare come Elasticsearch nella Homepage di Elastic.
N.B.
Gli utenti di Linux e Mac possono anche installare Kibana attraverso il repository Elastic utilizzando i gestori di pacchetti apt e yum. Istruzioni dettagliate in merito sono disponibili nel manuale online.
Se avete decompresso il pacchetto Kibana, eseguite il file bin/kibana (macOS, Linux) o bin\kibana.bat (Windows) per far funzionare il server Kibana.
L’inizializzazione del server Kibana dura qualche secondo.
Infine potete richiamare il back end Kibana nel vostro browser tramite l’indirizzo 'http://localhost:5601' (Elasticsearch deve già essere in esecuzione).
Per l’interfaccia utente di Kibana è disponibile soltanto la versione in inglese.
Passo 2: inserire dati su Kibana
Per far luce sulla dashboard di Kibana e sulle sue funzionalità, l’applicazione deve essere dotata di dati. Sul sito web di Elastic ci sono tre database scaricabili gratuitamente che in questo tutorial utilizziamo a scopo di test. Si tratta dei tre database menzionati sopra “shakespeare.json” (database di opere complete di William Shakespeare), “accounts.zip” (set di account fittizi) e “logs.jsonl.gz” (set di file log generati casualmente).
Scaricate e decomprimete i tre file (file account e file log) e salvateli nella posizione che desiderate.
Per scaricare i database di esempio è sufficiente fare clic sui rispettivi link: il download verrà avviato automaticamente.
Prima di immettere i dati è necessario creare mapping (mappature) per i campi del database di Shakespeare e server log. Queste mappature dividono i documenti nell’indice in gruppi logici e specificano anche le proprietà dei cambi, come ad esempio la loro ricercabilità. Lo strumento giusto per la configurazione dei mapping è la console, che può essere trovata nell’interfaccia di Kibana sotto le voci di menu “Dev Tools” “Console”.
Il plug-in della console di Kibana fornisce un’interfaccia che consente di interagire direttamente con a REST API di Elasticsearch.
Ora inserite i seguenti mapping in successione tramite PUT request:
Facendo clic sul simbolo del triangolo verde potete visualizzare la risposta alla richiesta inserita nella console di Kibana.
Ora utilizzate l’API bulk di Elastic per caricare i set di dati con Curl attraverso il terminale. Su Windows invece utilizzate PowerShell con il Invoke-RestMethod (di seguito un esempio di codice):
Invoke-RestMethod "http://localhost:9200/bank/account/_bulk?pretty" -Method Post -ContentType 'application/x-ndjson' -InFile "accounts.json"
Invoke-RestMethod "http://localhost:9200/shakespeare/doc/_bulk?pretty" -Method Post -ContentType 'application/x-ndjson' -InFile "shakespeare_6.0.json"
Invoke-RestMethod "http://localhost:9200/_bulk?pretty" -Method Post -ContentType 'application/x-ndjson' -InFile "logs.jsonl"
Assicuratevi di eseguire i comandi per caricare i record di dati di Kibana nella directory in cui risiedono i tre database di esempio.
N.B.
A seconda della potenza di calcolo potrebbero essere necessari alcuni minuti per immettere i dati.
Tornate alla console di Kibana per verificare il successo del processo di caricamento con la seguente GET Request:
GET /_cat/indices?v
Se i dati sono inseriti come pianificato, l’output sarà simile al seguente:
Lo health status “yellow” indica che Elasticsearch ha assegnato tutti gli shard primari (sezioni di un indice di dati), ma non tutte le repliche (backup di shard).
Passo 3: definire un primo modello di indice
Affinché Kibana venga a conoscenza di quali dati debba elaborare, è necessario crearemodelli per gli Indices “shakespeare”, “bank” e “logstash”. Definite il primo come segue:
Aprite il menu “Management” e cliccate su “Index patterns”. Quando si crea il primo pattern di indice la pagina “Create index pattern” si apre automaticamente. In alternativa potete richiamarla tramite il pulsante corrispondente che porta lo stesso nome.
Inserite “shakes*” nel campo “Index pattern” e cliccate su “Next step”.
Poiché non è necessaria alcuna particolare configurazione per questo modello, saltate il passo successivo di configurazione e terminate la creazione del modello direttamente facendo clic su “Create index pattern”
Un modello di indice appena creato deve corrispondere ad almeno un indice contenente dati esistenti. Altrimenti, non potete continuare nel processo di installazione.
Ripetete i passaggi per il pattern “ba*” che viene automaticamente assegnato all’indice “bank”. Infine definite anche un modello di indice denominato “logstash*” per gli indici dei tre server log. Tuttavia con questo modello non si salta il menu di configurazione, ma si seleziona invece la voce “@timestamp” nel menu a discesa “Time Filter field name”, poiché questi record contengono dati di serie temporali. Infine fate clic come nei due modelli precedenti su “Create index pattern”.
I dati delle serie temporali, come i server log, sono record di dati che vengono registrati continuamente.
Passo 4: ricerca nei record inseriti
Dopo aver popolato il server Kibana con i record potete avviare una query Elasticsearch per cercare in quei record e filtrare i risultati. Andate al menu “Discover” e selezionate il modello di indice per la vostra ricerca attraverso l’icona del piccolo triangolo nella barra dei menu a sinistra. Come parte di questo tutorial di Kibana Dashboard abbiamo scelto il record dell’account (ba*):
Kibana elenca le singole voci del set di dati selezionato in cui il set di dati ba* contiene le tipiche categorie di conti bancari come il saldo del conto, il nome, l’età, ecc.
Come test potete filtrare il record del conto bancario una sola volta in modo da visualizzare solo gli account che soddisfano determinati criteri. Ad esempio, per cercare conti che abbiano un saldo superiore a 47.500 e che appartengano a persone che abbiano più di 38 anni, immettete il seguente comando nella casella di ricerca:
balance:>47500 AND age:>38
Discover restituirà quindi le voci per i quattro conti 97, 177, 878 e 916 che corrispondono alle caratteristiche selezionate.
Utilizzando il pulsante “Add filter” potete facilmente definire i vostri filtri per il database selezionato.
Utilizzate il pulsante “Save” nella barra dei menu in alto per salvare le ricerche filtrate con il nome desiderato.
Passo 5: visualizzare i dati
Con i preparativi fatti finora in questo tutorial di Kibana siete ora in grado di visualizzare i dati che sono stati implementati per dare vita alla vostra dashboard. A titolo di esempio, a questo punto deve essere generato un grafico a torta per il database del conto bancario. Da un lato questo grafico dovrebbe mostrare quale percentuale del totale di 1.000 conti rientra in determinati intervalli di saldo e dall’altro come cade la distribuzione specifica per età all’interno di questi intervalli.
Aprite in primo luogo il menu “Visualize” e cliccate su “Create a visualization” per ottenere un elenco dei tipi di visualizzazione disponibili. Quindi selezionate l’opzione “Pie”.
Tra i tipi di visualizzazione disponibili in Kibana rientrano tra gli altri anche Heatmaps, istogrammi e grafici ad area.
All’inizio si vede soltanto un cerchio semplice, che riassume tutte le voci del database, perché nessuna categoria è stata ancora definita. Esse in Kibana sono anche chiamate “Buckets” e possono essere create sotto la voce di menu che porta lo stesso nome.
Per definire innanzitutto ciascuna sezione del saldo del conto, fate clic su “Split Slices” e scegliete “Range” dal menu a discesa “Aggregation”:
Con l’aiuto del tipo “Range” püotete creare intervalli di valori individuali per i campi selezionati di un record di dati.
Alla voce “Field” cercate ora la voce “balance” e cliccatela, quindi fate clic quattro volte sul pulsante “Add Range” per definire le seguenti sei categorie di saldo del conto:
999
1000
2999
3000
6999
7000
14999
15000
30999
31000
50000
Alla fine cliccate su “Apply Changes” (icona a forma di triangolo). In questo modo il diagramma a torta mostra la distribuzione dei conti tenendo conto degli intervalli di saldo stabiliti.
Kibana crea automaticamente una legenda sul grafico creato la cui posizione (destra, sinistra, alto e basso) si può decidere nelle opzioni.
Nella seconda fase aggiungete un altro anello al grafico che visualizza la distribuzione delle fasce d’età per ciascuna area dello stato del conto corrente. Per fare ciò cliccate su “Add sub-buckets” quindi su “Split slices” e selezionate poi “Terms” nel menu a discesa. Cercate sotto “Field” la voce “age” e applicate le modifiche con “Apply change”.
Se passate con il mouse sopra la singola area di un diagramma, Kibana vi mostra ulteriori suggerimenti, a meno che non lo abbiate disattivato nelle opzioni.
La visualizzazione può ora facilmente essere salvata tramite il pulsante “Save” situato nella barra superiore del menu.
Passo 6: organizzare la dashboard
In questo tutorial verrà presa in considerazione brevemente anche la dashboard di Kibana. Ora potete utilizzare la ricerca e la visualizzazione salvate nei passaggi 4 e 5 per creare una prima dashboard di prova. Per fare ciò selezionate la dashboard nella navigazione della pagina e cliccate su “Create new dashboard” e quindi su “Add”. Kibana a questo punto elencherà automaticamente tutte le visualizzazioni memorizzate o le ricerche Elasticsearch:
La funzione di ricerca consente di trovare facilmente i componenti desiderati della dashboard, anche con un numero elevato di visualizzazioni o risultati di ricerca Elasticsearch.
Facendo clic con il tasto sinistro del mouse sulla dashboard si aggiunge la visualizzazione del saldo del conto corrente e il risultato della ricerca di esempio, dopodiché è possibile visualizzarli entrambi in pannelli separati nella dashboard:
Con il pulsante “Share” potete condividere la vostra dashboard di Kibana con altri utenti o collegarla al vostro sito web in ogni momento.
È ora possibile modificare i pannelli, ad esempio regolando le dimensioni o modificando il posizionamento. È anche possibile mostrare una visualizzazione o un risultato di ricerca a tutto schermo o eliminarlo dalla dashboard. Tramite “Inspect” è inoltre possibile visualizzare ulteriori informazioni sui dati e le query sottostanti.
N.B.
La rimozione di un pannello dalla dashboard di Kibana mantiene tuttavia la visualizzazione o la ricerca salvata.
Compriamo spesso online, prenotiamo le nostre vacanze e cerchiamo regali per i nostri cari, senza pensare che lasciamo una traccia ogni volta che effettuiamo una ricerca e ogni volta che inseriamo da qualche parte il nostro indirizzo di posta elettronica. Molte delle informazioni raccolte e memorizzate confluiscono poi nei Big Data, cioè grandi quantità di dati che vengono analizzate e utilizzate...
I tool di data mining permettono un’analisi dei dati approfondita
Analisi web
Nell’era digitale i dati crescono sempre più e le piccole e medie imprese si ritrovano a dover gestire grandi quantità complesse di dati. Per riuscire comunque a carpire le informazioni desiderate da queste serie di dati, si usano dei tool di data mining. Grazie a questi vengono estratti degli schemi ricorrenti dai big data, rendendoli accessibili per i marketer e gli statisti. Vi presentiamo i...
Se lavorate con grandi quantità di dati, avete bisogno di un motore di ricerca potente: Elasticsearch offre una ricerca full text che potete configurare a seconda delle vostre esigenze. Ma prima bisogna capire i principi di base. Nel nostro tutorial su Elasticsearch vi aiutiamo a muovere i primi passi nell’utilizzo del motore di ricerca: dall’installazione alla creazione di un database fino alla...
Tutorial di Apache Kafka: come installare e configurare il software
Configurazione
Apache Kafka, il software di streaming e messaggistica scritto in Scala, è tra le soluzioni più amate quando si tratta di salvare ed elaborare grandi flussi di dati in maniera efficiente. In questo tutorial di Kafka potrete scoprire quali sono i requisiti per l’uso di questo software open source e come installare e configurare al meglio Apache Kafka.
Il sistema di gestione di database open source InfluxDB gestisce i dati contenuti in database di serie temporali in cui vengono registrati con marca temporale migliaia di record dati provenienti dall’Internet of Things (IoT) o da sensori, in un flusso dati costante. La versione attuale 2.0 gira su servizio cloud con una propria interfaccia utente e il nuovo linguaggio di scripting e interrogazione...