Puoi scrivere log in Cloud Logging dalle applicazioni Ruby utilizzando la libreria Cloud Logging per Ruby o direttamente la libreria client Cloud di Cloud Logging per Ruby.
L'agente Cloud Logging non deve essere installato per utilizzare la libreria Cloud Logging per Ruby su un'istanza VM di 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.
-
Verify 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.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Logging API.
- Installa Ruby 2.2+ o versioni successive.
Aggiungi il gem Google Cloud Observability al tuo Gemfile:
Utilizza Bundler per installare il gem:
bundle install
Se esegui il deployment della tua applicazione in App Engine o utilizzi le librerie specifiche di App Engine, imposta la risorsa su Applicazione GAE.
Se esegui il deployment dell'applicazione su Compute Engine, imposta la risorsa su Istanza 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 Legacy Google Cloud Observability e Google Cloud Observability Kubernetes Monitoring e su come queste opzioni influiscono sul tipo di risorsa, consulta 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 utilizzarne una predefinita.
Se non vedi alcun log in Esplora log, per visualizzare tutte le voci di log, passa alla modalità di query avanzata e utilizza una query vuota.
- Per passare alla modalità di query avanzata, fai clic sul 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 tue risorse.
Installare la libreria
Forniamo una libreria Cloud Logging per Ruby, che fornisce un'implementazione del logger facile da usare per i framework web Ruby basati su Rack:
Abilitare la raccolta
Se utilizzi Ruby on Rails, Bundler carica automaticamente la libreria nell'applicazione all'avvio, impostando Rails.logger
predefinito su un'istanza del logger Cloud Logging.
Altre applicazioni basate su Rack possono utilizzare il middleware Rack per sostituire il logger Rack con il logger Cloud Logging se il framework web supporta il logger Rack:
Configurazione della libreria
Puoi personalizzare il comportamento della libreria Cloud Logging per Ruby. Consulta la configurazione della libreria per un elenco delle possibili opzioni di configurazione.
Utilizzo del logger Cloud Logging
Una volta abilitata la libreria Cloud Logging per Ruby, puoi utilizzare il logger nella tua applicazione:
logger.info "Hello World!"
logger.error "Oh No!"
Per ulteriori informazioni sull'installazione, consulta la documentazione della libreria Cloud Logging per Ruby. 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 Ruby, consulta la sezione Librerie client di Cloud Logging.
Esegui il giorno Google Cloud
Affinché un'applicazione scriva log utilizzando la libreria Cloud Logging per Ruby, il account di servizio per la risorsa sottostante deve disporre del ruolo Logs Writer (roles/logging.logWriter
) IAM.
La maggior parte degli ambienti Google Cloud configura automaticamente il account di servizio predefinito in modo che disponga di questo ruolo.
App Engine
Cloud Logging è abilitato automaticamente per App Engine e l'account di servizio predefinito della tua app dispone delle autorizzazioni IAM per scrivere voci di log per impostazione predefinita.
Per ulteriori informazioni, consulta Scrittura e visualizzazione dei log.
Google Kubernetes Engine (GKE)
GKE concede automaticamente al account di servizio predefinito
il ruolo IAM Logs Writer (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 è necessaria 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 quest'ultimo disponga del ruolo 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 le istanze VM di Compute Engine, aggiungi l'ambito di accesso cloud-platform
a ogni istanza. Quando crei una nuova istanza tramite la consoleGoogle Cloud , puoi farlo nella sezione Identità e accesso API del riquadro Crea istanza. Utilizza il service account 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 service account tu scelga, assicurati che gli sia stato concesso il ruolo Logs Writer nella sezione IAM e amministrazione della consoleGoogle Cloud .
Esegui localmente e altrove
Per utilizzare la libreria Cloud Logging per Ruby 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 l'autenticazione alla libreria Cloud Logging per Ruby.
Per saperne di più, vedi Configurare ADC per on-premise o un altro provider cloud.
Utilizzo dell'interfaccia di configurazione di Ruby on Rails:Se utilizzi il framework Ruby on Rails, fornisci i parametri tramite l'interfaccia di configurazione di Ruby on Rails:
Puoi anche impostare una configurazione condivisa per tutte le gemme Google Cloud Observability utilizzando:
La registrazione è abilitata per impostazione predefinita quando Rails è in esecuzione in modalità di produzione. Per attivare la registrazione in modalità di sviluppo, aggiungi quanto segue:
Utilizzo dell'interfaccia di configurazione della strumentazione:
Fornisci i parametri tramite l'interfaccia di configurazione quando vengono utilizzati in altre applicazioni basate su rack:
Puoi anche impostare una configurazione condivisa per tutte le gemme Google Cloud Observability utilizzando:
Visualizzare i log
Nella Google Cloud console, 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:
Per ulteriori informazioni, consulta la sezione Utilizzare Esplora log.