8.1 Configurazione dell'indice per i log di Docker
Per la demo ho creato un'immagine Docker con ELK e Filebeat, che include un programma di test per generare log. In questo esempio ci concentreremo sulla configurazione dell'indice per i log di Docker in Kibana.
Passo 1: Clonare il repository e avviare lo stack ELK
Scarica il repository con le configurazioni Docker Compose per lo stack ELK ed eseguilo:
git clone https://github.com/et-soft/habr-elk
cd habr-elk
docker compose up
Per comodità, l'opzione -d
è stata omessa, così puoi vedere il processo di avvio dello stack ELK. L'avvio potrebbe richiedere qualche minuto. Dopo l'avvio con successo, nei log dovrebbe apparire il seguente messaggio:
{"type":"log","@timestamp":"2020-09-20T05:55:14Z","tags":["info","http","server","Kibana"],
"pid":6,"message":"http server running at http://0:5601"}
Passo 2: Accesso a Kibana
Apri il browser e vai all'indirizzo http://localhost:5601.

Passo 3: Configurazione dell'indice per i log
Nel menu laterale di Kibana, seleziona la sezione Discover per accedere alla pagina di creazione dell'indice.

Passo 4: Creazione di un nuovo indice
Clicca sul pulsante Create index pattern per aprire il modulo di configurazione. Nel campo Index pattern name, inserisci logstash-*
. Se la configurazione è corretta, Kibana mostrerà gli indici corrispondenti alla regola.

Passo 5: Selezione del campo temporale
Nella pagina successiva, seleziona il campo chiave con il timestamp — @timestamp
.

Passo 6: Verifica dell'indice
Una volta completata la configurazione, vedrai la pagina delle impostazioni dell'indice. Ora non sono necessarie ulteriori azioni.

Passo 7: Visualizzazione dei log
Torna alla sezione Discover, dove verranno visualizzati i log dai container Docker.

8.2 Creazione di dashboard per la visualizzazione dei log
Passo 1. Crea dashboard per visualizzare i log
Nel menu a sinistra clicchiamo sulla sezione "Dashboard" — da qui si accede alla pagina dove si creano i dashboard.

Passo 2. Tocchiamo «Create new dashboard» e ci viene mostrata una schermata dove possiamo aggiungere oggetti a quel Dashboard.

Passo 3. Clicchiamo sul pulsante «Create new», e Kibana ci chiede di scegliere come visualizzare i dati. Ci sono un sacco di opzioni, ma per esempio ne analizziamo due — i grafici stile «Vertical Bar» e la rappresentazione tabellare «Data Table». Tutto il resto si configura in modo simile.

8.3 Istogramma dei log
Per esempio, con «Vertical Bar» realizziamo un istogramma che mostri la proporzione tra richieste di servizio riuscite e non riuscite. Dopo la configurazione, otteniamo qualcosa del genere:

Le richieste con codice di risposta < 400 sono considerate riuscite, mentre tutte quelle >= 400 le consideriamo problematiche.
Per prima cosa, dobbiamo scegliere la fonte dati per il grafico. Prendiamo l'Index Pattern che abbiamo creato prima.

Dopo aver scelto la fonte, di default appare un grafico generale. Configuriamolo un po'.

Nella sezione «Buckets» premi «Add», scegli «X-axis» e configura l'asse X. Su di esso saranno rappresentati i timestamp. Nel campo «Aggregation» scegli «Date Histogram», e in «Field» inserisci «@timestamp». Puoi lasciare «Minimum interval» su «Auto».

Premi «Update», e sul grafico comparirà il numero di richieste ogni 30 secondi.

Ora lavoriamo sulla configurazione delle colonne sull'asse Y. Al momento mostra il numero totale di richieste nell'intervallo di tempo. Cambiamo l'aggregazione in «Sum Bucket» per aggiungere richieste riuscite e problematiche. Nella sezione Bucket → Aggregation scegli «Filters» e imposta il filtro: «statusCode >= 400». Nel campo «Custom label» scrivi un nome comprensibile per la metrica.

Premi «Update», e il grafico mostrerà solo le richieste problematiche.

Vuoi cambiare il colore delle colonne? Premi sul cerchio nella legenda del grafico, e comparirà una finestra per selezionare il colore.

Ora aggiungiamo i dati sulle richieste riuscite. Nella sezione «Metrics» premi «Add» e scegli «Y-axis». Configuriamolo allo stesso modo, ma per il filtro indichiamo «statusCode < 400».

Cambiamo il colore per la nuova colonna, e otteniamo una visualizzazione con la proporzione di richieste riuscite e problematiche.

Non dimenticare di salvare il grafico premendo «Save» nella parte superiore dello schermo. Assegna un nome, e apparirà sulla Dashboard.

8.4 Tabella dei log
Creiamo una tabella "Data Table" per vedere l'elenco di tutti gli URL richiesti e il loro numero. Iniziamo, come per il Vertical Bar, selezionando la fonte dati.

Dopo aver selezionato la fonte, sullo schermo comparirà una tabella con una colonna che mostra il numero totale di richieste per l'intervallo di tempo selezionato.

Ora configuriamo la tabella. Andiamo al blocco "Buckets", clicchiamo su "Add" e scegliamo "Split rows".

Nel campo "Aggregation" selezioniamo "Terms", e in "Field" indichiamo "url.keyword".

Nel campo "Custom label" inseriamo un nome comprensibile, per esempio "Url". Poi clicchiamo su "Update" — e la nostra tabella è pronta. Mostra il numero di richieste per ogni URL nell'intervallo di tempo selezionato.

Per salvare la tabella, clicchiamo su "Save" nella parte superiore dello schermo, indichiamo un nome (ad esempio, "Urls") e torniamo alla Dashboard. Ora possiamo vedere entrambe le visualizzazioni create.

GO TO FULL VERSION