Per le applicazioni Node.js, i plug-in vengono mantenuti per le librerie di logging Winston e Bunyan più diffuse. Winston è una libreria generica che implementa una serie di formattatori e trasporti di log. Bunyan, che è specializzato per i log JSON strutturati, supporta la formattazione dei log tramite il pipelining alla riga di comando di Bunyan.
Puoi anche utilizzare direttamente la libreria client di logging per Node.js o creare le tue integrazioni con la libreria di logging che preferisci. Puoi utilizzare ad esempio il framework di log Pino.
L'agente Logging non deve essere installato per utilizzare Winston o Bunyan su un'istanza di macchina virtuale (VM) Compute Engine.
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 Node.js.
Configurazione logging
Questa sezione descrive come installare e configurare i plug-in per le librerie di logging Winston e Bunyan. Per Bunyan, vengono fornite informazioni su come utilizzare Bunyan con un Node.js Express un'applicazione.
Puoi usare altre librerie o framework. Ad esempio, puoi utilizzare Framework di log Pino. Per il codice campione che usa OpenTelemetry per raccogliere metriche e dati di traccia e il framework di log Pino per raccogliere log consulta Generare tracce e metriche con Node.js. Se utilizzi Pino, devi implementare una mappatura tra i livelli di gravità di Pino e quelli utilizzati da Cloud Logging. Per esempio di codice, consulta Mappatura dei livelli di log di Pino.
Installazione e configurazione del plug-in Winston
Cloud Logging fornisce un plug-in per Winston Node.js Libreria di logging. Il plug-in Logging per Winston fornisce un livello più semplice e di livello superiore per lavorare con Logging.
Per installare e configurare il plug-in Winston, procedi nel seguente modo:
Per installare il plug-in LoggingWinston, utilizza npm:
npm install --save @google-cloud/logging-winston winston
Importa il plug-in e aggiungilo alla configurazione di Winston:
Configura il plug-in.
Puoi personalizzare il comportamento del plug-in Winston utilizzando le stesse opzioni di configurazione supportate dalla libreria client dell'API Cloud Logging per Node.js. Queste opzioni possono essere passate nell'oggetto
options
passato al constructor del plug-in.
Installa e configura il plug-in Bunyan
Cloud Logging fornisce un plug-in per la libreria di logging Node.js Bunyan. Il plug-in Logging per Bunyan offre un'interfaccia più semplice, di livello superiore per l'uso di Logging.
Per installare e configurare il plug-in Bunyan, procedi nel seguente modo:
Per installare il plug-in LoggingBunyan, utilizza npm:
npm install --save bunyan @google-cloud/logging-bunyan
Importa il plug-in e aggiungilo alla configurazione Bunyan:
Configura il plug-in.
Puoi personalizzare il comportamento del plug-in Bunyan utilizzando le stesse opzioni di configurazione supportate nella libreria client cloud dell'API Cloud Logging per Node.js. Queste opzioni possono essere trasmesse nell'oggetto
options
passato al plug-in come costruttore.
Usa Bunyan ed Express
Puoi configurare e utilizzare Bunyan con Logging in Node.js Express un'applicazione.
Per ulteriori informazioni sull'installazione, vedi documentazione relativa Librerie Cloud Logging per Node.js. Puoi anche segnalare i problemi utilizzando il tracker dei problemi.
Scrivi i log con la libreria client di Cloud Logging
Per informazioni sull'utilizzo diretto della libreria client Cloud Logging per Node.js, consulta la sezione Librerie client Cloud Logging.
Esegui su Google Cloud
Affinché un'applicazione scriva log utilizzando le librerie Cloud Logging per Node.js, è 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
per avere 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 scrivere voci di log dalla tua app, ti consigliamo di usare Bunyan o Winston come descritto in questa pagina.
Per ulteriori informazioni, consulta la sezione Scrittura e visualizzazione. log.
Google Kubernetes Engine (GKE)
GKE concede automaticamente allo 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 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 logging.write
quando crei il 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 account di servizio tu selezioni, assicurati che sia stato concesso il ruolo Scrittore di log nella sezione IAM e amministrazione della console Google Cloud.
Funzioni Cloud Run
Le funzioni Cloud Run assegnano il ruolo Writer log. per impostazione predefinita.
Le librerie Cloud Logging per Node.js possono essere utilizzate senza dover fornire esplicitamente e credenziali.
Le funzioni Cloud Run sono configurate per utilizzare automaticamente Cloud Logging.
Esegui localmente e altrove
Per utilizzare le librerie di Cloud Logging per Node.js 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 alle librerie Cloud Logging per Node.js.
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 sui ruoli IAM, consulta Controllo dell'accesso.
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, vedi Terminologia: account di servizio.
Utilizza Winston:Usa Bunyan:
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 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 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, configurazione di logging del cluster determina il tipo di risorsa del log le voci corrispondenti. 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 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.
- 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 dei filtri.
- Fai clic su Invia filtro.
Puoi esaminare le singole voci per identificare le risorse.
Per ulteriori informazioni, consulta Utilizzare Esplora log.