Puoi scrivere log in Cloud Logging dalle applicazioni Python utilizzando il gestore di log Python standard o direttamente la libreria client dell'API Cloud Logging per Python. Quando utilizza il gestore di logging Python standard, devi collegare Gestore Cloud Logging al gestore principale Python. Questo documento illustra questo approccio.
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Logging API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Logging API.
- Prepara l'ambiente per lo sviluppo in Python.
Installa la libreria
Per installare la libreria Cloud Logging per Python, consulta Installa la libreria client per Python. Questa libreria consente di collegare un gestore Cloud Logging allo standard Gestore root Python. Puoi anche utilizzare questa libreria per inviare richieste API a Cloud Logging.
Per ulteriori informazioni sull'installazione, consulta la documentazione della libreria Cloud Logging per Python. Puoi anche segnalare i problemi utilizzando il tracker dei problemi.
Scrivere log con il gestore di log Python standard
a inviare tutte le voci di log scritte con lo standard Gestore root Python in Cloud Logging, segui questi passaggi:
Collega il gestore Cloud Logging al logger root Python chiamando il metodo
setup_logging
:Per informazioni su come configurare il gestore di logging, consulta Integrazione con la libreria standard di logging.
Per informazioni sui parametri della funzione
setup_logging
, vai al client Cloud Logging e cercasetup_logging
. Questa pagina, ad esempio, descrive come e configurare i livelli di logging.Scrivi i dati di log utilizzando il root logger Python:
Per impostazione predefinita, tutti i log il cui livello di gravità è almeno
INFO
scritto dalla tua applicazione viene inviato 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 di questi ambienti. In caso contrario, i log vengono elencati nel log
python
nel tipo di risorsaGlobal
.
Scrivere log con la libreria client di Cloud Logging
Per informazioni sull'utilizzo diretto della libreria client Cloud Logging per Python, consulta la sezione Librerie client 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 disporre del ruolo IAM Scrittore di log (roles/logging.logWriter
).
La maggior parte degli ambienti Google Cloud configura automaticamente
per avere questo ruolo.
App Engine
Cloud Logging è abilitato automaticamente per App Engine e l'account di servizio predefinito della tua app dispone per impostazione predefinita delle autorizzazioni IAM per scrivere le voci di log.
Per ulteriori informazioni, consulta la sezione Scrittura e visualizzazione dei log.
Google Kubernetes Engine (GKE)
GKE concede automaticamente all'account di servizio predefinito il ruolo IAM Scrittore di log (roles/logging.logWriter
).
Se utilizzi la federazione delle identità per i carichi di lavoro per GKE con questo account di servizio predefinito per consentire ai carichi di lavoro di accedere ad API Google Cloud specifiche, non è richiesta alcuna configurazione aggiuntiva.
Tuttavia, se utilizzi la federazione delle identità per i carichi di lavoro per GKE
l'account di servizio IAM personalizzato, quindi assicurati che il servizio
ha il ruolo di Writer log (roles/logging.logWriter
).
Se necessario, puoi anche utilizzare il seguente comando 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 cloud-platform
di ambito di accesso a ogni istanza. Quando crei una nuova istanza tramite la console Google Cloud, puoi farlo nella sezione Accesso a identità e API del riquadro Crea istanza. Utilizza l'account di servizio predefinito di Compute Engine o un altro account di servizio a tua scelta e seleziona Consenti l'accesso completo a tutte le API Cloud nella sezione Identità e accesso API. Qualunque servizio
l'account selezionato, accertati di aver ricevuto
Ruolo Writer log in IAM e Amministratore di
nella console Google Cloud.
Eseguire in locale e altrove
Per utilizzare la libreria Cloud Logging per Python al di fuori di Google Cloud, compresa l'esecuzione della libreria sulla tua workstation, sul data center computer o sulle istanze VM di un altro cloud provider, fornisci l'ID progetto Google Cloud e i dati account di servizio e credenziali direttamente alla libreria Cloud Logging per Python.
Per gli account di servizio esistenti:
Concedi all'account di servizio l'accesso IAM Ruolo IAM Autore di log (
roles/logging.logWriter
). Per ulteriori informazioni su IAM vedi Controllo dell'accesso.
Se non hai un account di servizio, creane uno. Per informazioni su questo processo, vedi Creare account di servizio.
Per informazioni generali sui metodi che puoi utilizzare per l'autenticazione, vedi Terminologia: account di servizio.
Visualizza i log
Nella console Google Cloud, vai alla pagina Esplora log:
Se utilizzi 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 risorsa la selezione potrebbe non essere ovvia. Ecco alcuni suggerimenti per iniziare:
Se esegui il deployment della tua applicazione in App Engine o utilizzi specifiche di App Engine, imposta la risorsa su Applicazione GAE.
Se stai eseguendo il deployment dell'applicazione su Compute Engine, imposta la risorsa su Istanzia VM GCE.
Se esegui il deployment dell'applicazione su Google Kubernetes Engine, la configurazione di logging del cluster determina il tipo di risorsa delle voci di log. Per una panoramica Discussione su Legacy Google Cloud Observability e Google Cloud Observability le soluzioni di Kubernetes Monitoring e il modo in cui queste opzioni influiscono 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 utilizzare una risorsa predefinita.
Se non vedi alcun log in Esplora log, per vedere tutte le voci di log, passare alla modalità di query avanzata e utilizzare una query vuota.
- Per passare alla modalità di query avanzata, fai clic su Menu (▾) nella parte superiore di Esplora log e seleziona Converti in filtro avanzato.
- Cancella i contenuti visualizzati nella casella del filtro.
- Fai clic su Invia filtro.
Puoi esaminare le singole voci per identificare le risorse.
Per ulteriori informazioni, consulta Utilizzare Esplora log.