0Pricing
Docker & DevOps Fundamentals · Lezione

Soluzioni di logging centralizzato

Configuri un sistema di logging centralizzato, ad esempio le basi dello stack ELK, per aggregare e analizzare i log dei container.

Soluzioni di logging centralizzato è una lezione Docker & DevOps Fundamentals gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Docker & DevOps Fundamentals, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Docker & DevOps Fundamentals include 4 lezioni in totale.

Perché centralizzare i log?

Immaginate di avere molti container, ciascuno dei quali genera log. Come potete trovare un errore se è distribuito tra centinaia di file di log?

  • Log dispersi: i log si trovano su server o container diversi e sono difficili da individuare.
  • Nessuna visibilità in tempo reale: non potete vedere facilmente pattern o problemi mentre si verificano.
  • Analisi difficoltosa: esaminare manualmente i log richiede molto tempo ed è soggetto a errori.

È qui che entra in gioco il logging centralizzato!

Soluzioni di logging centralizzato — illustrazione 1

Che cos'è il logging centralizzato?

Il logging centralizzato consiste nel raccogliere i log di tutte le applicazioni e dell'infrastruttura in un'unica posizione centrale.

Immaginatelo come una torre di controllo per tutti i messaggi del vostro sistema. Invece di esaminare i log dei singoli container, avete un'unica piattaforma per:

  • Aggregare: raccogliere tutti i log in un unico punto.
  • Archiviare: conservare i log in un database organizzato e consultabile.
  • Analizzare: cercare, filtrare e visualizzare i dati dei log per ricavarne informazioni utili.

In questo modo, la risoluzione dei problemi è molto più rapida ed efficiente.

Componenti principali di un sistema

Un tipico sistema di logging centralizzato comprende alcune parti fondamentali che collaborano tra loro:

  • Agenti di log: piccoli programmi eseguiti su ogni server/container per raccogliere i log.
  • Aggregator di log: servizi che ricevono i log dagli agenti, li elaborano e li inviano allo storage.
  • Storage dei log: un database ottimizzato per archiviare e interrogare grandi volumi di dati di log.
  • Strumenti di visualizzazione: dashboard e interfacce per esplorare, cercare e visualizzare i log.

Questi componenti garantiscono un flusso regolare dei log dalla sorgente all'analisi.

Introduzione allo stack ELK

Lo stack ELK è una suite open source molto diffusa per il logging centralizzato. ELK sta per:

  • Elasticsearch: un motore di ricerca e analisi.
  • Logstash: una pipeline di elaborazione dei dati.
  • Kibana: una dashboard per la visualizzazione dei dati.

Insieme, offrono una soluzione potente per raccogliere, archiviare e analizzare i log delle vostre applicazioni e della vostra infrastruttura.

Elasticsearch: lo storage dei dati

Elasticsearch è il cuore dello stack ELK per l'archiviazione e la ricerca dei dati. È un motore di ricerca full-text distribuito e altamente scalabile.

Prende i log elaborati e li archivia in modo da renderne estremamente rapide la ricerca e l'analisi, anche con petabyte di dati.

  • Archivia i log in documenti JSON.
  • Offre potenti funzionalità di ricerca.
  • Si adatta orizzontalmente a grandi dataset.

Logstash: il distributore dei dati

Logstash agisce come una pipeline di elaborazione dei dati. Raccoglie dati da varie sorgenti, li trasforma e poi li invia a uno "stash" (di solito Elasticsearch).

È molto flessibile e può gestire numerosi formati e sorgenti di log diversi.

  • Input: riceve i log (ad esempio da file, rete o agenti).
  • Filter: analizza, trasforma e arricchisce i dati dei log.
  • Output: invia i dati elaborati a Elasticsearch o ad altre destinazioni.

Kibana: il visualizzatore

Kibana è la vostra finestra sui dati archiviati in Elasticsearch. È un potente strumento per la visualizzazione e la creazione di dashboard.

Con Kibana potete:

  • Cercare ed esplorare: interrogare facilmente i dati dei log.
  • Visualizzare: creare grafici, diagrammi e mappe a partire dai log.
  • Creare dashboard: realizzare dashboard interattive per monitorare in tempo reale lo stato del sistema e il comportamento delle applicazioni.

Aiuta a trasformare i dati grezzi in informazioni utili e utilizzabili.

Generazione dei log dei container

Prima di poter essere raccolti, i log devono essere generati. La maggior parte delle applicazioni nei container scrive semplicemente il proprio output su stdout (standard output) o stderr (standard error).

Docker acquisisce questi flussi come log del container. Provate a eseguire questo semplice comando per vedere un container generare dell'output:

docker run --rm alpine/git ls -l /

Flusso concettuale dei log con ELK

Ecco un flusso semplificato dei log in una configurazione ELK:

  1. La vostra applicazione all'interno di un container Docker scrive i log su stdout.
  2. Un agente di log (come Filebeat, spesso utilizzato con ELK) raccoglie questi log.
  3. L'agente invia i log a Logstash per l'elaborazione.
  4. Logstash analizza e trasforma i log.
  5. I log elaborati vengono inviati a Elasticsearch per l'archiviazione.
  6. Kibana si connette a Elasticsearch per visualizzare e cercare i log.

In questo modo si crea un percorso chiaro per tutti i log dei vostri container.

Verifica rapida: ruoli di ELK

Quali delle seguenti affermazioni descrivono correttamente il ruolo dei componenti dello stack ELK?

Riepilogo: logging centralizzato

Ottimo lavoro! Avete appreso i fondamenti del logging centralizzato e dello stack ELK.

  • Il logging centralizzato aggrega i log provenienti da molte sorgenti in un unico punto.
  • Aiuta a risolvere più rapidamente i problemi e a ottenere informazioni migliori.
  • Lo stack ELK (Elasticsearch, Logstash, Kibana) è una soluzione molto diffusa.
  • Elasticsearch archivia e indicizza i log.
  • Logstash elabora e trasforma i log.
  • Kibana visualizza ed esplora i log.

Questa potente combinazione vi aiuta a gestire e comprendere efficacemente i log dei vostri container.

Domande Frequenti

La lezione «Soluzioni di logging centralizzato» è gratuita?

Sì — il testo completo di «Soluzioni di logging centralizzato» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Docker & DevOps Fundamentals, passa a CoddyKit PRO. Il corso Docker & DevOps Fundamentals include 4 lezioni in totale.

Cosa imparerò in «Soluzioni di logging centralizzato»?

Configuri un sistema di logging centralizzato, ad esempio le basi dello stack ELK, per aggregare e analizzare i log dei container. Eserciti Docker & DevOps Fundamentals con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Docker & DevOps Fundamentals?

Non è richiesta alcuna esperienza precedente. Docker & DevOps Fundamentals su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Soluzioni di logging centralizzato»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Docker & DevOps Fundamentals?

Sì. Ogni lezione Docker & DevOps Fundamentals include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Introduzione al monitoraggio
  2. Soluzioni di logging centralizzato
  3. Alerting e risposta agli incidenti
  4. Metriche, dashboard e SLI/SLO
← Torna a Docker & DevOps Fundamentals