Puoi scrivere log in Cloud Logging dalle applicazioni PHP utilizzando direttamente la libreria Cloud Logging per PHP.
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.
Installazione della libreria Cloud Logging per PHP
La libreria Cloud Logging per PHP fornisce un'implementazione semplice del logger PSR-3 per i framework web PHP.
Per scrivere log dalla tua app, aggiungi la libreria Cloud Logging per PHP a composer.json:
composer require google/cloud-logging
Creazione di un logger PSR-3
Utilizza il seguente codice per creare un logger PSR-3:
Attivazione dell'opzione di raggruppamento
Il logger PSR-3 invia i log in modo sincrono. Ciò significa che ogni volta che emetti un log, verrà aggiunta la latenza RPC alla richiesta dell'utente. Soprattutto se emetti più log in una singola richiesta, la latenza aggiuntiva sarà significativa. Probabilmente vorrai evitarlo.
Il codice seguente crea un logger PSR-3 che raggruppa più log in un'unica chiamata RPC:
Per impostazione predefinita, questo logger raggruppa i log all'interno di un singolo processo. Nell'ambiente flessibile App Engine, puoi configurare la libreria Cloud Logging per PHP per un throughput ancora maggiore e una latenza inferiore. Per maggiori dettagli, vedi Configurare il daemon di logging.
Configurazione della libreria Cloud Logging per PHP
Puoi personalizzare il comportamento della libreria Cloud Logging per PHP. Consulta il documento di configurazione per un elenco delle possibili opzioni di configurazione.
Utilizzo del logger PSR-3
Una volta creato, puoi utilizzare il logger nella tua applicazione:
Per ulteriori informazioni sull'installazione, consulta la documentazione della libreria Cloud Logging per PHP. Puoi anche segnalare i problemi utilizzando il tracker dei problemi.
Scrivere log con la libreria client di Cloud Logging
Per informazioni sull'utilizzo diretto della libreria client di Cloud Logging per PHP, consulta la sezione Librerie client di Cloud Logging.
Esegui su Google Cloud
Affinché un'applicazione possa scrivere log utilizzando la libreria Cloud Logging per PHP, l'account di servizio per la risorsa sottostante deve disporre del ruolo IAM Logs Writer (roles/logging.logWriter
).
La maggior parte degli ambienti configura automaticamente l'account di servizio predefinito in modo che abbia questo ruolo. Google Cloud
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.
Tuttavia, ti consigliamo di utilizzare il logger PSR-3, che aggiunge automaticamente i metadati ai log in modo che i log dell'applicazione siano correlati ai log delle richieste.
Configurazione del daemon per l'ambiente flessibile di App Engine
Nell'ambiente flessibile di App Engine, puoi configurare la libreria Cloud Logging per PHP in modo che utilizzi un programma di daemon esterno per massimizzare il throughput dei log e ridurre al minimo la latenza dell'app. Per attivare questa funzionalità,
aggiungi la seguente riga alla sezione runtime_config
in app.yaml
:
Google Kubernetes Engine (GKE)
GKE concede automaticamente allo account di servizio predefinito il ruolo IAM Scrittore di log (roles/logging.logWriter
).
Se utilizzi
Workload Identity Federation for GKE
con questo service account predefinito per consentire ai carichi di lavoro di accedere a APIGoogle Cloud specifiche, non è richiesta alcuna configurazione aggiuntiva.
Tuttavia, se utilizzi Workload Identity Federation for GKE con un account di servizio IAM personalizzato, assicurati che l'account di servizio personalizzato abbia il ruolo di autore di 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 le istanze VM di Compute Engine, aggiungi l'ambito di accesso cloud-platform
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 account di servizio tu selezioni, assicurati che sia stato concesso il ruolo Scrittore di log nella sezione IAM e amministrazione della console Google Cloud.
Eseguire in locale e altrove
Per utilizzare la libreria Cloud Logging per PHP 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 configurare le credenziali predefinite dell'applicazione (ADC) nel tuo ambiente locale per eseguire l'autenticazione alla libreria Cloud Logging per PHP.
Per saperne di più, consulta Configurare l'ADC per un ambiente on-premise o un altro provider cloud.
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 selezione delle risorse potrebbe non essere ovvia. Ecco alcuni suggerimenti per iniziare:
Se esegui il deployment dell'applicazione in App Engine o utilizzi le librerie specifiche di App Engine, imposta la risorsa su App 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 discussione dettagliata sulle soluzioni di monitoraggio Kubernetes di Google Cloud Observability precedenti e di Google Cloud Observability e su come queste opzioni influiscono sul tipo di risorsa, consulta Eseguire la migrazione a Google Cloud Observability Kubernetes Monitoring.
Se la tua applicazione utilizza direttamente l'API Cloud Logging, la risorsa dipende dall'API e dalla tua configurazione. Ad esempio, nella tua applicazione puoi specificare una risorsa o utilizzare una risorsa predefinita.
Se non vedi nessun log in Esplora log, per visualizzare tutte le voci dei log, passa alla modalità di query avanzata e utilizza una query vuota.
- Per passare alla modalità di query avanzata, fai clic su menu (▾) nella parte superiore di Esplora log e poi 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.