Configurazione di Cloud Logging per PHP

Puoi scrivere i log in Cloud Logging dalle applicazioni PHP utilizzando direttamente la libreria Cloud Logging per PHP.

Prima di iniziare

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Logging API.

    Enable the API

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

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Logging API.

    Enable the API

Installazione della libreria Cloud Logging per PHP

La libreria Cloud Logging per PHP fornisce un semplice PSR-3 logger per i framework web PHP.

Per scrivere i log dalla tua app, aggiungi la libreria Cloud Logging per PHP al file Composer.json:

composer require google/cloud-logging

Creazione di un logger PSR-3

Usa il codice seguente per creare un logger PSR-3:

use Google\Cloud\Logging\LoggingClient;
$logging = new LoggingClient([
    'projectId' => $projectId
]);
$logger = $logging->psrLogger('app');

Abilitazione dell'opzione di raggruppamento in batch

Il logger PSR-3 invia i log in modo sincrono. Ciò significa che ogni volta che emetti un log, questa aggiungerà latenza RPC all'utente richiesta. Soprattutto se emetti più log in una singola richiesta, una maggiore latenza sarà significativa. Probabilmente vorrai evitarlo.

Il codice seguente crea un logger PSR-3 che raggruppa più log in un'unica chiamata RPC:

$logger = LoggingClient::psrBatchLogger('app');

Per impostazione predefinita, questo logger raggruppa i log in un unico processo. Attivato Nell'ambiente flessibile di App Engine, puoi configurare la libreria Cloud Logging per PHP per una velocità effettiva ancora maggiore e una latenza minore. Per maggiori dettagli, vedi Configurazione del 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 il logger, puoi utilizzarlo nella applicazione:

$logger->info('Hello World');
$logger->error('Oh no');

Per ulteriori informazioni sull'installazione, vedi documentazione relativa Libreria Cloud Logging per PHP. Puoi anche segnalare problemi utilizzando il tracker dei problemi.

Scrivi i log con la libreria client di Cloud Logging

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

Esegui su Google Cloud

Affinché un'applicazione scriva log utilizzando la libreria Cloud Logging per PHP, è necessario l'account di servizio per la risorsa sottostante deve avere Ruolo Autore log (roles/logging.logWriter) IAM. La maggior parte degli ambienti Google Cloud configura automaticamente l'account di servizio predefinito in modo che abbia questo ruolo.

App Engine

Cloud Logging è abilitato automaticamente per App Engine e default service account ha le autorizzazioni IAM per scrivere voci di log per impostazione predefinita.

Per ulteriori informazioni, consulta la sezione Scrittura e visualizzazione. log.

Tuttavia, consigliamo di utilizzare il logger PSR-3, che esegue aggiunge metadati ai tuoi log in modo che i log delle tue applicazioni correlato ai log delle richieste.

Configurazione del daemon per l'ambiente flessibile di App Engine

Nell'ambiente flessibile di App Engine, puoi configurare libreria Cloud Logging per PHP per utilizzare un programma daemon esterno al fine di massimizzare registrare la velocità effettiva e ridurre al minimo la latenza dell'app. Per attivare questa funzione, aggiungi la seguente riga alla sezione runtime_config in app.yaml:

enable_stackdriver_integration: true

Google Kubernetes Engine (GKE)

GKE concede automaticamente l'account di servizio predefinito del ruolo IAM Writer log (roles/logging.logWriter). Se utilizzi Federazione delle identità dei carichi di lavoro per GKE con questo account di servizio predefinito per consentire ai carichi di lavoro di accedere API Google Cloud, non sono necessarie ulteriori configurazioni. 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 Console Google Cloud, puoi farlo nella sezione Identità e accesso API. del riquadro Crea istanza. Usa il 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 in 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.

Esegui localmente e altrove

Per utilizzare la libreria Cloud Logging per PHP al di fuori di Google Cloud, incluso 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 appropriato direttamente alla libreria Cloud Logging per PHP.

Per gli account di servizio esistenti:

  1. 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.

  2. Configura le credenziali predefinite dell'applicazione.

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, consulta Terminologia: account di servizio.

Visualizza i log

Nella console Google Cloud, vai alla pagina Esplora log:

Vai a 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 aiutarti a data di inizio:

  • 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 della tua applicazione su Google Kubernetes Engine, configurazione di logging del cluster determina il tipo di risorsa del log le voci corrispondenti. 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 utilizzarne una 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.

    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.