Configurazione di Cloud Logging per Python

Puoi scrivere i log in Cloud Logging da applicazioni Python utilizzando il gestore di logging Python standard o direttamente la libreria client dell'API Cloud Logging per Python. Quando utilizzi il gestore di logging Python standard, devi collegare un gestore Cloud Logging al gestore principale Python. Questo documento illustra questo approccio.

Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Attiva Cloud Logging API.

    Abilita l'API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  7. Attiva Cloud Logging API.

    Abilita l'API

  8. Prepara l'ambiente per lo sviluppo in Python.

    Vai alla guida alla configurazione di Python

Installa la libreria

Per installare la libreria Cloud Logging per Python, consulta Installare la libreria client per Python. Questa libreria consente di collegare un gestore Cloud Logging al gestore principale Python standard. Puoi usare questa libreria anche per inviare richieste API a Cloud Logging.

Per ulteriori informazioni sull'installazione, consulta la documentazione per la libreria Cloud Logging per Python. Puoi anche segnalare problemi utilizzando lo strumento Issue Tracker.

Scrivi i log con il gestore di logging Python standard

Per inviare a Cloud Logging tutte le voci di log scritte con il gestore principale Python standard:

  1. Collega il gestore Cloud Logging al logger root Python chiamando il metodo setup_logging:

    # Imports the Cloud Logging client library
    import google.cloud.logging
    
    # Instantiates a client
    client = google.cloud.logging.Client()
    
    # Retrieves a Cloud Logging handler based on the environment
    # you're running in and integrates the handler with the
    # Python logging module. By default this captures all logs
    # at INFO level and higher
    client.setup_logging()

    Per informazioni su come configurare il gestore di logging, consulta Integrazione con la libreria standard di logging.

  2. Scrivi i dati di log utilizzando il root logger Python:

    # Imports Python standard library logging
    import logging
    
    # The data to log
    text = "Hello, world!"
    
    # Emits the data using the standard logging module
    logging.warning(text)

    Per impostazione predefinita, tutti i log con un livello di gravità minimo pari a INFO scritto dall'applicazione vengono inviati a Cloud Logging.

    Se i messaggi vengono registrati in Logging da App Engine o Google Kubernetes Engine, il gestore li invia ai rispettivi tipi di risorse degli ambienti; in caso contrario, i log sono elencati sotto il log python nel tipo di risorsa Global.

Scrivi i log con la libreria client di Cloud Logging

Per informazioni sull'utilizzo della libreria client di Cloud Logging per Python direttamente, consulta Librerie client di Cloud Logging.

Esegui su Google Cloud

Affinché un'applicazione possa scrivere log utilizzando la libreria Cloud Logging per Python, l'account di servizio per la risorsa sottostante deve avere il ruolo IAM Writer log (roles/logging.logWriter). La maggior parte degli ambienti Google Cloud configura automaticamente l'account di servizio predefinito.

App Engine

Cloud Logging è abilitato automaticamente per App Engine e l'account di servizio predefinito della tua app ha le autorizzazioni IAM per scrivere le voci di log per impostazione predefinita.

Per ulteriori informazioni, consulta Scrittura e visualizzazione dei log.

Google Kubernetes Engine (GKE)

GKE concede automaticamente all'account di servizio predefinito il ruolo IAM Writer log (roles/logging.logWriter). Se utilizzi Workload Identity con questo account di servizio predefinito per consentire ai carichi di lavoro di accedere a specifiche API Google Cloud, non sono necessarie ulteriori configurazioni. Tuttavia, se utilizzi Workload Identity con un account di servizio IAM personalizzato, assicurati che l'account di servizio personalizzato abbia il ruolo di Writer log (roles/logging.logWriter).

Se necessario, puoi anche utilizzare il comando seguente per aggiungere l'ambito di accesso logging.write durante la creazione del cluster:

gcloud container clusters create example-cluster-name \
    --scopes https://www.googleapis.com/auth/logging.write

Compute Engine

Quando utilizzi istanze VM di Compute Engine, aggiungi l'ambito di accesso cloud-platform a ogni istanza. Quando crei una nuova istanza mediante la console Google Cloud, puoi eseguire questa operazione nella sezione Identità e accesso API del riquadro Crea istanza. Utilizza l'account di servizio predefinito di Compute Engine o un altro account di servizio di tua scelta e seleziona Consenti l'accesso completo a tutte le API Cloud nella sezione Identità e accesso API. Indipendentemente dall'account di servizio selezionato, assicurati che gli sia stato concesso il ruolo Writer log nella sezione IAM e amministrazione della console Google Cloud.

Esegui localmente e altrove

Per utilizzare la libreria Cloud Logging per Python al di fuori di Google Cloud, inclusa l'esecuzione della libreria sulla tua workstation, sui computer del tuo data center o sulle istanze VM di un altro provider cloud, devi fornire l'ID progetto Google Cloud e le credenziali dell'account di servizio appropriate direttamente alla libreria Cloud Logging per Python.

Per gli account di servizio esistenti:

  1. Concedi all'account di servizio il ruolo IAM Writer log (roles/logging.logWriter). Per ulteriori informazioni sui ruoli IAM, consulta Controllo dell'accesso.

  2. Configura Credenziali predefinite dell'applicazione.

Se non hai un account di servizio, creane uno. Per informazioni su questa procedura, vedi Creare account di servizio.

Per informazioni generali sui metodi che puoi utilizzare per l'autenticazione, consulta Terminologia: account di servizio.

Visualizza i log

Nella console Google Cloud, vai alla pagina Esplora log:

Vai a Esplora log

Se usi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

In Esplora log, devi specificare una o più risorse, ma la selezione delle risorse potrebbe non essere chiara. Ecco alcuni suggerimenti per iniziare:

  • Se esegui il deployment della tua applicazione in App Engine o utilizzi librerie specifiche di App Engine, imposta la risorsa su Applicazione GAE.

  • Se esegui il deployment della tua applicazione su Compute Engine, imposta la risorsa su Istanza VM GCE.

  • Se esegui il deployment della tua applicazione su Google Kubernetes Engine, la configurazione del logging del cluster determina il tipo di risorsa delle voci di log. Per una discussione dettagliata sulle soluzioni legacy di Google Cloud Observability e sulle soluzioni Kubernetes Monitoring di Google Cloud Observability e su come queste opzioni influiscono sul tipo di risorsa, consulta Migrazione a Kubernetes Monitoring di Google Cloud Observability.

  • Se la tua applicazione utilizza direttamente l'API Cloud Logging, la risorsa dipende dall'API e dalla configurazione. Ad esempio, nella tua applicazione puoi specificare una risorsa o utilizzarne una predefinita.

  • Se non vedi alcun log in Esplora log, per vedere tutte le voci di log passa alla modalità di query avanzata e utilizza una query vuota.

    1. Per passare alla modalità di query avanzata, fai clic su menu (▾) nella parte superiore di Esplora log e seleziona Converti in filtro avanzato.
    2. Cancella i contenuti visualizzati nella casella dei filtri.
    3. Fai clic su Invia filtro.

    Puoi esaminare le singole voci per identificare le risorse.

Per ulteriori informazioni, consulta Utilizzo di Esplora log.