“ELK Stack: dalla ricerca testuale alla visualizzazione dei logs” di Flowygo è un corso di formazione sull’utilizzo dello stack ELK (Elasticsearch, Logstash, Kibana) per il processing, l’indicizzazione e la visualizzazione di dati e serie temporali.

Verranno presentati, con approccio pratico ed esercitazioni, i componenti fondamentali della suite Elastic, approfondendone le applicazioni e prendendo in esame un caso d’uso reale.

Elasticsearch, il prodotto principale della suite, è un motore di ricerca professionale in grado di gestire efficacemente Big Data in qualsiasi applicazione / sito web. Ad oggi risulta essere il motore di ricerca più diffuso al mondo.

Basato sulla libreria open source Lucene, Elasticsearch è un server di ricerca con supporto ad architetture distribuite che fornisce funzionalità di ricerca full-text con un’interfaccia agnostica rispetto ai linguaggi di programmazione, ossia utilizzando JSON per la rappresentazione dei dati e HTTP con protocollo di comunicazione. Elasticsearch può essere usato per cercare qualsiasi tipo di documento e fornisce un sistema di ricerca scalabile, quasi di tipo real-time, con supporto al multitenancy.

Kibana è invece lo strumento della suite che permette di navigare e visualizzare i dati contenuti in un indice Elasticsearch. Sfruttando le capacità e la velocità di ricerca ed aggregazione dei dati offerti da Elasticsearch, Kibana permette di creare in maniera semplice e intuitiva grafici e dashboard per l’analisi di big-data.

Obiettivi del corso

Al termine del corso, i partecipanti saranno in grado di installare e configurare l’intero stack ELK, un flusso di lavoro che consentirà di analizzare in profondità Big Data e di realizzare grafici e dashboard aggiornabili in real-time.

In particolare, dopo un’introduzione ai motori di ricerca, verrà descritto l’utilizzo di Elasticsearch, il motore di ricerca della Elastic. Open Source e basato su algoritmi allo stato dell’arte, Elasticsearch è una delle soluzioni per la gestione e ricerca su big-data che si sta imponendo come leader nel settore ed è già utilizzato da moltissime organizzazioni di varie dimensioni (dalle startup alle grandi multinazionali).

Successivamente verrà presentato Logstash, il secondo componente della suite, che permetterà di popolare gli indici del motore di ricerca. Logstash consente infatti di recuperare i dati da varie sorgenti, trasformarli e indicizzarli all’interno di un’istanza di Elasticsearch in maniera automatica. Grazie alla sua architettura a plugin, Logstash supporta diverse modalità di input con le quali sarà possibile configurare in pochi passi un sistema automatico di trasferimento di dati. Tramite un plugin specifico, ad esempio, si potrà monitorare una directory nella quale un’applicazione scrive i propri log, processare ed eventualmente trasformare ogni nuova riga di log ed infine memorizzare il risultato all’interno di un indice Elasticsearch.

Infine, sarà illustrato Kibana, il componente che consente la navigazione e l’analisi di grandi moli di dati in maniera intuitiva. Una delle caratteristiche principali di Kibana è la possibilità di creare dashboard con grafici di vario tipo per la generazione di viste efficaci sui dati; Kibana si collega ad un’istanza di Elasticsearch e permette di effettuare query anche molto complesse, visualizzare nel dettaglio i valori più frequenti all’interno dell’indice, aggregare dati su diverse dimensioni e creare grafici sui dati, in particolare serie temporali.

Durante le esercitazioni, i partecipanti avranno la possibilità di ripetere in ogni momento le operazioni del docente sui propri notebook.

A chi è rivolto

Il corso è rivolto a professionisti, tecnici IT di aziende private o Pubbliche Amministrazioni, ricercatori, studenti universitari, docenti e in generale a tutti coloro che hanno intenzione di ampliare le proprie conoscenze in fatto di gestione, navigazione e analisi di grandi moli di dati.

Requisiti

Per la partecipazione è richiesta una buona padronanza nell’utilizzo di base del computer e di una shell (es. Bash per sistemi Unix o Mac, o Powershell per sistemi Windows). Non è richiesta nessuna esperienza di linguaggi di programmazione anche se una minima conoscenza di Python può essere utile per svolgere alcune esercitazioni. Conoscenze preliminari relative all’utilizzo di Docker e del formato JSON possono risultare utili ma non sono strettamente necessarie.

È necessario l’utilizzo di computer personale e di connessione internet stabile e di adeguata velocità. I software utilizzati durante il corso possono essere installati su PC con sistema operativo Windows, Linux, Mac OS. Non sono richiesti particolari requisiti hardware (RAM consigliata almeno 4 GB, HD almeno 50 GB liberi).

Programma

  • Introduzione allo stack ELK
    • Cos’è un motore di ricerca
    • Cos’è Elasticsearch
    • Cos’è Logstash
    • Cos’è Kibana
    • Casi d’uso
  • Elasticsearch
    • Configurazione di un’istanza
    • Gestione dei documenti
    • Mapping e analisi
    • Effettuare query
    • Aggregazione
  • Logstash
    • Configurazione di Logstash
    • Creazione di un workflow
  • Kibana
    • Configurazione di Kibana;
    • Navigazione dei dati;
    • Creazione di grafici (istogrammi, aree, torte, linee, contatori, tabelle);
    • Creazione di dashboard
    • Sicurezza (utenti, ruoli e workspaces)
  •  

Modalità

Il corso può essere effettuato sia in aula o in remoto in base alle esigenze.

Durata

Il corso ha una durata complessiva di 21 ore. L’organizzazione delle ore erogate possono variare in base alle esigenze.

Vantaggi e materiale

  • Ampio materiale didattico in formato digitale
  • Accesso ai repository con il codice delle esercitazioni svolte
  • Supporto tecnico per eventuali problematiche di installazione e configurazione dei software utilizzati

Software utilizzati

Durante il corso si utilizzeranno i software:

  • Elasticsearch
  • Kibana
  • Logstash
  • Beats
  • Flask
  • Docker

Tutto il software utilizzato è rilasciato con licenza Apache 2.0, quindi completamente gratuito e utilizzabile senza restrizioni anche all’interno di prodotti commerciali; può essere installato su piattaforme Microsoft Windows, Linux, Mac OS senza limitazioni di licenza.

Richiedi informazioni