Panoramica di Cloud Logging

Questo documento fornisce una panoramica di Cloud Logging, un servizio sistema di gestione dei log con supporto per archiviazione, ricerca, analisi e monitoraggio. Cloud Logging raccoglie automaticamente i dati dei log dalle risorse Google Cloud. Le tue applicazioni, le risorse on-premise e le risorse di altri provider cloud possono inviare i dati di log a Cloud Logging. Puoi anche configurare criteri di avviso in modo che Cloud Monitoring quando determinati tipi di eventi vengono riportati nei dati dei log. Per le normative o per motivi di sicurezza, puoi determinare dove sono archiviati i tuoi dati di log.

Raccogliere i log dalle tue applicazioni e dal software di terze parti

Puoi raccogliere i log dalle applicazioni che scrivi strumentando i tuoi un'applicazione utilizzando libreria client. Tuttavia, non sempre necessarie per instrumentare la tua applicazione. Ad esempio, per alcuni configurazioni che puoi utilizzare con Ops Agent per inviare i log scritti stdout o stderr al tuo progetto Google Cloud.

Puoi anche raccogliere dati di log dalle applicazioni di terze parti, ad esempio nginx, installando Ops Agent e configurandolo per la scrittura dei log da quell'applicazione al tuo progetto Google Cloud.

Consulta: Quale soluzione dovresti usare: agente Logging o libreria client? per trovare informazioni che possano aiutarti a decidere quale approccio si adatta meglio alle tue i tuoi requisiti.

Risolvi i problemi e analizza i log

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

Quando vuoi risolvere i problemi e analizzare le prestazioni dei tuoi servizi e delle tue applicazioni, ti consigliamo di utilizzare Esplora log. Questa interfaccia è progettata per visualizzare le singole voci di log e trovare quelle correlate. Per Ad esempio, quando una voce di log fa parte gruppo di errori, questa voce viene annotata con un menu di opzioni per accedere a maggiori informazioni sull'errore.

Se vuoi eseguire operazioni aggregate sui log, ad esempio per calcolare la latenza media delle richieste HTTP inviate a un URL specifico nel tempo, utilizza l'interfaccia di Log Analytics. Con questa interfaccia, utilizzi SQL per eseguire query sui dati dei log e, di conseguenza, puoi utilizzare le funzionalità di SQL per comprendere i dati dei log.

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

Per ulteriori informazioni, consulta la panoramica delle query e della visualizzazione dei log.

Monitoraggio dei log

Puoi configurare Cloud Logging in modo da ricevere una notifica quando si verificano determinati tipi di eventi nei log. Queste notifiche potrebbero essere inviate quando un determinato schema compare in una voce di log o quando viene rilevata una tendenza nei dati di log. Se vuoi visualizzare le percentuali di errore dei servizi Google Cloud, puoi vedere la dashboard di Cloud Logging, che è preconfigurata.

Ad esempio, se vuoi ricevere una notifica quando si verifica un determinato messaggio, come un evento critico relativo alla sicurezza, puoi creare un criterio di avviso basato su log. Un criterio di avviso basato su log monitora i log alla ricerca di un pattern specifico. Se viene rilevato questo modello, il monitoraggio invia una notifica e crea un incidente. I criteri di avviso basati su log sono utili per eventi importanti, ma rari, come i seguenti:

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

In alternativa, potresti monitorare le tendenze o l'occorrenza degli eventi nel tempo. Per queste situazioni, puoi creare una metrica basata su log. Una metrica basata su log può conteggiare il numero di voci di log che corrispondono a un determinato criterio oppure può estrarre e organizzare informazioni come i tempi di risposta in istogrammi. Puoi anche configurare criteri di avviso che ti inviano una notifica quando si verificano variazioni del rendimento, ad esempio quando il tempo di risposta aumenta a un livello inaccettabile. Le metriche basate su log sono adatte quando vuoi eseguire una delle seguenti operazioni:

  • Conta le occorrenze di un messaggio, come un avviso o un errore, nei log e ricevi una notifica quando il numero di occorrenze supera una soglia.
  • Osserva le tendenze nei 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 log.

Per ulteriori informazioni, consulta Monitorare i log.

Archiviazione dei log

Non è necessario configurare la posizione in cui vengono archiviati i log. Per impostazione predefinita, Il progetto Google Cloud archivia automaticamente tutti i log che riceve in un bucket di log di Cloud Logging. Ad esempio, se il tuo progetto Google Cloud contiene un'istanza Compute Engine, tutti i log generati da Compute Engine vengono archiviati automaticamente. Tuttavia, se necessario, puoi configurare una serie di aspetti l'archiviazione dei log, ad esempio quali log vengono archiviati, che vengono eliminati e dove sono archiviati i log.

Puoi instradare o inoltrare le voci di log alle seguenti destinazioni, che possono trovarsi 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. Il bucket di log può trovarsi nello stesso progetto in cui hanno origine le voci di log. in un altro progetto. Per informazioni su come visualizzare le voci di log archiviate nei bucket di log, consulta Panoramica delle query e della visualizzazione dei log e Visualizzare i log inviati ai bucket di Cloud Logging.

    Puoi combinare i dati di Cloud Logging con altri dati eseguendo l'upgrade di un bucket di log per l'utilizzo di Log Analytics e poi creando un set di dati collegato, ovvero un set di dati di sola lettura su cui è possibile eseguire query dalle pagine BigQuery Studio e Looker Studio.

  • Set di dati BigQuery: fornisce lo spazio di archiviazione delle voci di log in un set di dati BigQuery scrivibile. Il set di dati BigQuery possono trovarsi nello stesso progetto in cui hanno origine le voci di log o in un progetto. Puoi utilizzare funzionalità di analisi dei big data nelle voci di log archiviate. Per informazioni su come visualizzare le voci di log inviate a BigQuery, consulta Visualizzare i log inviati a BigQuery.

  • Bucket Cloud Storage: fornisce l'archiviazione delle voci di log in Cloud Storage. Il bucket Cloud Storage può trovarsi nello stesso progetto in cui sono presenti le voci di log o in un altro progetto. Le voci di log vengono archiviate come file JSON. Per informazioni sulla visualizzazione delle voci di log indirizzate a Cloud Storage: consulta Visualizzare i log con routing a Cloud Storage.
  • Argomento Pub/Sub: fornisce supporto per le integrazioni di terze parti. Le voci di log vengono formattate in JSON e quindi instradate a un Pub/Sub per ogni argomento. L'argomento può trovarsi nello stesso progetto in cui si trovano le voci di log o in un altro progetto. Per informazioni su come visualizzare le voci di log con routing a Pub/Sub, consulta Visualizzare i log con routing a Pub/Sub.

  • Progetto Google Cloud: inoltra le voci di log a un altro progetto Google Cloud. Nella configurazione, i sink nel progetto di destinazione elaborano le voci di log.

Per ulteriori informazioni, incluso il supporto della regionalità dei dati, consulta la panoramica su routing e archiviazione.

Categorie di log

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

  • I log della piattaforma sono log scritti dai servizi Google Cloud. Questi log può aiutarti a eseguire il debug e a risolvere i problemi e a comprendere meglio ai servizi Google Cloud che stai utilizzando.

  • I log dei componenti sono simili ai log della piattaforma, ma vengono generati mediante Componenti software forniti da Google che vengono eseguiti sui tuoi sistemi. Ad esempio, GKE fornisce componenti software che gli utenti possono eseguire sulla propria VM o nel proprio data center. I log vengono generati alle istanze GKE dell'utente e inviato al server progetto Google Cloud. GKE utilizza i log o i relativi metadati per fornire assistenza agli utenti.

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

    • Cloud Audit Logs fornisce informazioni su le attività amministrative e gli accessi dell'accesso a specifiche risorse Google Cloud. L'abilitazione degli audit log favorisce sicurezza, controllo e conformità di Google Cloud per monitorare i dati e i sistemi di Google Cloud vulnerabilità o uso improprio di dati esterni. Per un elenco dei servizi Google Cloud supportati, consulta Servizi Google con audit log.
    • Access Transparency fornisce i log delle azioni intraprese dal personale Google quando accede ai tuoi contenuti di 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 Google Cloud supportati, 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:

Modello dei dati per i log

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

Ogni voce del log registra lo stato o descrive un evento specifico, ad esempio la creazione di un'istanza VM, e consiste almeno in quanto segue:

  • Un timestamp che indica quando si è verificato l'evento o quando è stato ricevuto da Cloud Logging.
  • Informazioni sulla sorgente della voce del log. Questa origine è chiamata risorsa monitorata. Tra gli esempi di risorse monitorate ci sono: Istanze VM di Compute Engine e container di Google Kubernetes Engine. Per un elenco completo dei tipi di risorsa monitorata, consulta Risorse e servizi monitorati.
  • Un payload, chiamato anche messaggio, fornito come testo non strutturato dati o come dati testuali strutturati in formato JSON.
  • Il nome del log a cui appartiene. Il nome di un log include percorso della risorsa a cui appartengono le voci di log, seguito da identificativo dell'utente. 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 degli accessi

I ruoli Identity and Access Management controllano la possibilità per un entità di accedere ai log. Puoi concedere ruoli predefiniti alle entità oppure possono 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 ulteriori informazioni, vedi Panoramica su routing e archiviazione: conservazione.

Prezzi

Cloud Logging non addebita alcun costo per il routing dei log a un destinazione supportata; ma la destinazione potrebbe applicare dei costi. Ad eccezione del bucket di log _Required, Cloud Logging addebita lo streaming dei log nei bucket di log e per l'archiviazione per un periodo di tempo superiore al periodo di conservazione predefinito del bucket di log.

Cloud Logging non addebita alcun costo per la copia dei log, per la definizione degli ambiti dei log o per le query inviate tramite le pagine Esplora log o Analisi dei log.

Per ulteriori informazioni, consulta i seguenti documenti: