Panoramica di Cloud Logging

Questo documento fornisce una panoramica di Cloud Logging, che è un sistema di gestione dei log in tempo reale con supporto per archiviazione, ricerca, analisi e monitoraggio. Cloud Logging raccoglie automaticamente i log dalle risorse Google Cloud. Puoi anche raccogliere log dalle tue applicazioni, risorse on-prem e risorse da altri cloud provider. Puoi configurare gli avvisi per ricevere una notifica se determinati tipi di eventi vengono segnalati nei log e, per motivi normativi o di sicurezza, puoi determinare dove vengono archiviati i dati di log.

Raccogliere i log dalle applicazioni e dal software di terze parti

Puoi raccogliere i log dalle applicazioni che scrivi mediante la strumentazione della tua applicazione tramite una libreria client. Tuttavia, non è sempre necessario strumentare l'applicazione. Ad esempio, per alcune configurazioni puoi utilizzare Ops Agent per inviare i log scritti in stdout o stderr al tuo progetto Google Cloud.

Puoi anche raccogliere i dati di log da applicazioni di terze parti, ad esempio nginx, installando Ops Agent e configurandolo per la scrittura dei log da tale applicazione nel progetto Google Cloud.

Consulta Quale soluzione usare: agente Logging o libreria client? per informazioni che possono aiutarti a decidere quale approccio si adatta meglio ai tuoi requisiti.

Risolvere i problemi e analizzare i log

Puoi visualizzare e analizzare i dati dei log utilizzando la console Google Cloud, tramite Esplora log o la pagina Analisi dei log. Puoi eseguire query e visualizzare i log con entrambe le interfacce, ma utilizzano linguaggi di query diversi e funzionalità diverse.

Per risolvere i problemi e analizzare le prestazioni di servizi e applicazioni, ti consigliamo di utilizzare Esplora log. Questa interfaccia è progettata per consentirti di visualizzare singole voci di log e trovare voci di log correlate. Ad esempio, se una voce di log fa parte di un gruppo di errori, tale voce è annotata con un menu di opzioni per accedere a ulteriori informazioni sull'errore.

Se vuoi eseguire operazioni aggregate sui log, ad esempio per calcolare la latenza media per le richieste HTTP inviate a un URL specifico nel tempo, utilizza l'interfaccia di Analisi dei log. Con questa interfaccia, utilizzi SQL per eseguire query sui dati dei log, quindi puoi sfruttare le capacità di SQL per comprendere meglio i dati dei log.

Se preferisci eseguire query sui dati di log in modo programmatico, puoi utilizzare l'API Cloud Logging o Google Cloud CLI per esportare i dati di log dal tuo progetto Google Cloud.

Per maggiori informazioni, consulta Panoramica dei log e delle query.

Monitoraggio dei log

Puoi configurare Cloud Logging in modo che ti invii notifiche quando si verificano determinati tipi di eventi nei log. Queste notifiche possono essere inviate quando viene visualizzato un determinato pattern in una voce di log o quando viene rilevata una tendenza nei dati dei log. Se vuoi visualizzare le percentuali di errore dei tuoi servizi Google Cloud, puoi visualizzare la dashboard di Cloud Logging preconfigurata.

Ad esempio, se vuoi ricevere una notifica quando si verifica un determinato messaggio, come un evento critico relativo alla sicurezza, puoi creare un avviso basato su log. Un avviso basato su log monitora i log per rilevare un pattern specifico e, se questo pattern viene rilevato, invia una notifica e crea un incidente. Gli avvisi basati su log sono particolarmente adatti per eventi importanti ma rari, come i seguenti:

  • Vuoi ricevere una notifica quando viene visualizzato un evento in un audit log, ad esempio quando un utente accede al token di sicurezza di un account di servizio.
  • L'applicazione scrive i messaggi relativi al deployment nei log e vuoi ricevere una notifica quando viene registrata una modifica al deployment.

In alternativa, ti consigliamo di monitorare le tendenze o la frequenza degli eventi nel tempo. In questi casi, puoi creare una metrica basata su log. Una metrica basata su log può contare il numero di voci di log corrispondenti a un criterio oppure può estrarre e organizzare informazioni come i tempi di risposta in istogrammi. Puoi anche configurare avvisi per ricevere notifiche quando si verificano variazioni del rendimento, ad esempio quando il tempo di risposta aumenta a un livello non accettabile. Le metriche basate su log sono adatte quando vuoi eseguire una delle seguenti operazioni:

  • Conta le occorrenze di un messaggio, ad esempio un avviso o un errore, nei log e ricevi una notifica quando il numero di occorrenze supera una soglia.
  • Osserva le tendenze nei tuoi dati, ad esempio i valori di latenza nei log, e ricevi una notifica se i valori cambiano in modo inaccettabile.
  • Crea grafici per visualizzare i dati numerici estratti dai tuoi log.

Per maggiori informazioni, consulta Monitorare i log.

Archiviazione log

Non è necessario configurare la località in cui sono archiviati i log. Per impostazione predefinita, il progetto Google Cloud archivia automaticamente tutti i log ricevuti in un bucket di log di Cloud Logging. Ad esempio, se il progetto Google Cloud contiene un'istanza Compute Engine, tutti i log generati da Compute Engine vengono archiviati automaticamente. Tuttavia, se necessario, puoi configurare diversi aspetti dell'archiviazione dei log, ad esempio quali log vengono archiviati, quali vengono eliminati e dove.

Puoi instradare o inoltrare le voci di log alle seguenti destinazioni, che possono essere nello stesso progetto Google Cloud o in un altro progetto Google Cloud:

  • Bucket Cloud Logging: fornisce spazio di archiviazione in Cloud Logging. Un bucket di log può archiviare le voci di log ricevute da più progetti Google Cloud. Per combinare i dati di Cloud Logging con altri dati, esegui l'upgrade di un bucket di log in modo da utilizzare Analisi dei log, per poi creare un set di dati BigQuery collegato. Per informazioni sulla visualizzazione delle voci di log archiviate nei bucket di log, consulta Eseguire query e visualizzare la panoramica dei log e Visualizzare i log con routing a bucket Cloud Logging.
  • Set di dati BigQuery: fornisce l'archiviazione delle voci di log nei set di dati BigQuery. Puoi utilizzare le funzionalità di analisi dei big data nelle voci di log archiviate. Per combinare i dati di Cloud Logging con altre origini dati, ti consigliamo di eseguire l'upgrade dei bucket di log in modo da utilizzare l'analisi dei log, per poi creare un set di dati BigQuery collegato. Per informazioni sulla visualizzazione delle voci di log instradate a BigQuery, consulta Visualizzare i log con routing a BigQuery.
  • Bucket Cloud Storage: fornisce l'archiviazione delle voci di log in Cloud Storage. Le voci dei log vengono archiviate come file JSON. Per informazioni sulla visualizzazione delle voci di log instradate a Cloud Storage, consulta Visualizzare i log con routing a Cloud Storage.
  • Argomento Pub/Sub: fornisce assistenza per le integrazioni di terze parti. Le voci dei log vengono formattate in JSON e quindi instradate a un argomento Pub/Sub. Per informazioni sulla visualizzazione delle voci di log instradate a Pub/Sub, consulta Visualizzare i log con routing a Pub/Sub.
  • Splunk: fornisce il supporto per Splunk. Devi eseguire il routing delle voci di log a un argomento Pub/Sub e poi sottoscrivere l'argomento utilizzando Splunk.
  • Progetto Google Cloud: esegui il routing delle voci di log a un altro progetto Google Cloud. Quando esegui il routing delle voci di log a un altro progetto Google Cloud, il router dei log del progetto di destinazione riceve le voci di log e le elabora. I sink nel progetto di destinazione determinano il modo in cui vengono instradate le voci di log ricevute. Error Reporting può analizzare le voci di log quando il progetto di destinazione le instrada a un bucket di log di proprietà del progetto di destinazione.
  • Altre risorse: instrada le voci di log a una destinazione supportata che si trova in un altro progetto. Per informazioni sui percorsi da utilizzare, consulta Formati del percorso di destinazione.

Per ulteriori informazioni, incluso il supporto della regione dei dati, consulta Panoramica del routing e dell'archiviazione.

Categorie di log

Le categorie di log hanno lo scopo di descrivere le informazioni di logging disponibili; le categorie non si escludono a vicenda:

  • I log della piattaforma sono log scritti dai tuoi servizi Google Cloud. Questi log possono aiutarti a eseguire il debug e la risoluzione dei problemi, nonché a comprendere meglio i servizi Google Cloud in uso. Ad esempio, i log di flusso VPC registrano un campione di flussi di rete inviati e ricevuti dalle istanze VM.

  • I log dei componenti sono simili ai log della piattaforma, ma sono generati dai componenti software forniti da Google che vengono eseguiti sui sistemi dell'azienda. Ad esempio, GKE fornisce componenti software che gli utenti possono eseguire sulla propria VM o nel proprio data center. I log vengono generati dalle istanze GKE dell'utente e inviati al progetto Google Cloud di un utente. GKE usa i log o i metadati per fornire supporto agli utenti.

  • I log di sicurezza ti aiutano a rispondere a "chi ha fatto cosa, dove e quando":

    • Cloud Audit Logs fornisce informazioni sulle attività e sugli accessi amministrativi all'interno delle tue risorse Google Cloud. L'abilitazione dei log di controllo consente alle entità di sicurezza, controllo e conformità di monitorare i dati e i sistemi di Google Cloud per individuare possibili vulnerabilità o usi impropri di dati esterni. Per un elenco dei servizi supportati da Google Cloud, consulta Servizi Google con audit log.

    • Access Transparency fornisce i log delle azioni intraprese dal personale Google quando accede ai tuoi contenuti Google Cloud. I log di Access Transparency possono aiutarti a monitorare la conformità ai requisiti legali e normativi della tua organizzazione. Per un elenco dei servizi supportati da Google Cloud, consulta Servizi Google con log di Access Transparency.

  • I log scritti dall'utente sono log scritti da applicazioni e servizi personalizzati. In genere, questi log vengono scritti in Cloud Logging utilizzando uno dei seguenti metodi:

  • I log multi-cloud e i log di cloud ibrido fanno riferimento a log di altri cloud provider come Microsoft Azure e log di infrastrutture on-premise.

Modello dei dati per i log

Il modello dei dati utilizzato da Cloud Logging per organizzare i dati di log determina le dimensioni su cui puoi eseguire query su questi dati. Ad esempio, poiché un log è una raccolta denominata di singole voci, puoi eseguire query sui dati in base al nome del log. Allo stesso modo, poiché ogni log è composto da voci di log formattate come oggetti LogEntry, puoi scrivere query che recuperano solo le voci di log in cui il valore di un campo LogEntry corrisponde ad alcuni criteri. Ad esempio, puoi visualizzare solo le voci di log il cui campo severity contiene il valore ERROR.

Ogni voce di log registra lo stato o descrive un evento specifico, come la creazione di un'istanza VM, ed è costituita almeno da quanto segue:

  • Un timestamp che indica quando si è verificato l'evento o quando è stato ricevuto da Cloud Logging.
  • Informazioni sull'origine della voce di log. Questa origine è denominata risorsa monitorata. Esempi di risorse monitorate includono singole istanze VM di Compute Engine e container di Google Kubernetes Engine. Per un elenco completo dei tipi di risorsa monitorata, vedi Risorse e servizi monitorati.
  • Un payload, noto anche come messaggio, fornito come dati di testo non strutturati o come dati di testo strutturati in formato JSON.
  • Il nome del log a cui appartiene. Il nome di un log include il percorso completo della risorsa a cui appartengono le voci di log, seguito da un identificatore. Di seguito sono riportati alcuni esempi di nomi di log:

    • projects/my-project/logs/stderr
    • projects/my-project/logs/stdout
    • projects/my-project/compute.googleapis.com/activity

Controllo dell'accesso

I ruoli di Identity and Access Management controllano la capacità di un'entità di accedere ai log. Puoi concedere ruoli predefiniti alle entità oppure creare ruoli personalizzati. Per ulteriori informazioni sulle autorizzazioni richieste, consulta Controllo dell'accesso.

Conservazione

Le voci di log vengono archiviate nei bucket di log per un periodo di tempo specificato, dopodiché vengono eliminate. Per maggiori informazioni, consulta Panoramica del routing e dell'archiviazione: conservazione.

Controllo di prezzi e costi

Per informazioni sui prezzi, consulta la pagina relativa ai prezzi di Cloud Logging.

Per le strategie per ridurre i costi di Logging, consulta Controlli dei costi di Logging.