Puoi inviare report sugli errori a Error Reporting dalle applicazioni Ruby utilizzando la libreria Error Reporting per Ruby. Utilizza la libreria Error Reporting per Ruby per creare gruppi di errori per i seguenti casi:
- Un bucket dei log che contiene le voci di log ha chiavi di crittografia gestite dal cliente (CMEK).
- Il bucket di log soddisfa uno dei seguenti requisiti:
- Il bucket di log è archiviato nello stesso progetto in cui hanno avuto origine le voci di log.
- Le voci di log sono state instradate a un progetto, che le ha archiviate in un bucket di log di sua proprietà.
- Vuoi segnalare eventi di errore personalizzati.
Error Reporting è integrato con alcuni Google Cloud servizi, come Cloud Functions e App Engine, Compute Engine e Google Kubernetes Engine. Error Reporting mostra gli errori registrati in Cloud Logging dalle applicazioni in esecuzione su questi servizi. Per saperne di più, vai a Esecuzione su Google Cloud in questa pagina.
Puoi anche inviare i dati sugli errori a Error Reporting utilizzando Logging. Per informazioni sui requisiti di formattazione dei dati, leggi Messaggi di errore di formattazione nel logging.
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 Error Reporting 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 Error Reporting API .
- Installa Ruby 2.2+ o versioni successive.
-
Aggiungi il Gem
google-cloud-error_reporting
al tuo Gemfile:gem "google-cloud-error_reporting"
-
Utilizza Bundler per installare il gem:
bundle install
Assicurati che all'account di servizio da utilizzare dal tuo container sia stato concesso il ruolo Writer Error Reporting (
roles/errorreporting.writer
).Puoi utilizzare l'account di servizio predefinito di Compute Engine o un account di servizio personalizzato.
Per informazioni sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Crea il cluster e concedigli l'
cloud-platform
ambito di accesso.Ad esempio, il seguente comando create specifica l'ambito di accesso
cloud-platform
e unaccount di serviziot:gcloud container clusters create CLUSTER_NAME --service-account SERVICE_ACCT_NAME --scopes=cloud-platform
Assicurati che all'account di servizio da utilizzare dalla tua istanza VM sia stato concesso il ruolo Writer Error Reporting (
roles/errorreporting.writer
).Puoi utilizzare l'account di servizio predefinito di Compute Engine o un account di servizio personalizzato.
Per informazioni sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
-
Nella Google Cloud console, vai alla pagina Istanze VM.
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Compute Engine.
Seleziona l'istanza VM che deve ricevere l'
cloud-platform
ambito di accesso.Fai clic su Interrompi e poi su Modifica.
Nella sezione Identità e accesso API, seleziona un account di servizio con il ruolo Writer di Error Reporting (
roles/errorreporting.writer
).Nella sezione Ambiti di accesso, seleziona Consenti l'accesso completo a tutte le API Cloud e salva le modifiche.
Fai clic su Avvia/Riprendi.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
installa la libreria client
La libreria Error Reporting per Ruby ti consente di monitorare e visualizzare gli errori segnalati dalle applicazioni Ruby in esecuzione praticamente ovunque.
Abilitare la raccolta
Se utilizzi Ruby on Rails, Bundler carica automaticamente la libreria nell'applicazione all'avvio.
Altre applicazioni basate su Rack possono utilizzare il middleware Rack fornito dalla libreria:
Per saperne di più sull'installazione, leggi la documentazione della libreria Error Reporting per Ruby. Puoi anche segnalare i problemi utilizzando il tracker dei problemi.
Configura la libreria client
Puoi personalizzare il comportamento della libreria Error Reporting per Ruby. Consulta la configurazione della libreria per un elenco delle possibili opzioni di configurazione.
Eseguire app su Google Cloud
Per creare gruppi di errori utilizzando
projects.events.report
, il tuo account di servizio richiede il
ruolo Writer Error Reporting (roles/errorreporting.writer
).
Alcuni servizi Google Cloud concedono automaticamente il ruolo Writer Error Reporting (roles/errorreporting.writer
) al account di servizio appropriato. Tuttavia, per alcuni servizi devi concedere questo ruolo all'account di servizio appropriato.
Cloud Run e Cloud Run Functions
L'account di servizio predefinito utilizzato da Cloud Run dispone delle
autorizzazioni del ruolo Writer di Error Reporting (roles/errorreporting.writer
).
La libreria Error Reporting per Ruby può essere utilizzata senza dover fornire esplicitamente le credenziali.
Cloud Run è configurato per utilizzare Error Reporting automaticamente. Le eccezioni JavaScript non gestite verranno visualizzate in Logging ed elaborate da Error Reporting senza dover utilizzare la libreria Error Reporting per Ruby.
Utilizzo dell'interfaccia di configurazione di Ruby on Rails
Per utilizzare la libreria Error Reporting per Ruby con 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 Stackdriver utilizzando quanto segue:
Error Reporting è attivata per impostazione predefinita quando Rails è in esecuzione in modalità di produzione. Per attivare Error Reporting in modalità di sviluppo, aggiungi quanto segue:
Utilizzo dell'interfaccia di configurazione della strumentazione
Per utilizzare la libreria Error Reporting per Ruby in altre applicazioni basate su Rack, fornisci i parametri tramite l'interfaccia di configurazione:
Puoi anche impostare una configurazione condivisa per tutte le gemme Google Cloud Observability utilizzando quanto segue:
Ambiente flessibile di App Engine
App Engine concede automaticamente
il ruolo Writer Error Reporting (roles/errorreporting.writer
)
al tuaccount di serviziont predefinito.
La libreria Error Reporting per Ruby può essere utilizzata senza dover fornire esplicitamente le credenziali.
Error Reporting è abilitato automaticamente per le applicazioni dell'ambiente flessibile di App Engine. Non è richiesta alcuna configurazione aggiuntiva.Google Kubernetes Engine
Per utilizzare Error Reporting con Google Kubernetes Engine, svolgi le seguenti operazioni:
Compute Engine
Per utilizzare Error Reporting con le istanze VM di Compute Engine, svolgi le seguenti operazioni:
Esempio
Segnalazione di errori nei framework basati su Rack
La libreria Error Reporting per Ruby semplifica l'integrazione di Error Reporting nei framework web Ruby basati su Rack più diffusi, come Ruby on Rails e Sinatra. Quando la libreria è abilitata, segnala automaticamente le eccezioni acquisite dallo stack Rack dell'applicazione.
Segnalare gli errori manualmente
Puoi segnalare manualmente un errore chiamando il metodoreport
, come mostrato nell'esempio seguente:
Esegui app in un ambiente di sviluppo locale
Per utilizzare la libreria Error Reporting per Ruby in un ambiente di sviluppo locale, ad esempio eseguendo la libreria sulla tua workstation, devi fornire alla libreria Error Reporting per Ruby le credenziali predefinite dell'applicazione locale. Per ulteriori informazioni, consulta Autenticarsi in Error Reporting.
Per utilizzare gli esempi di Ruby questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, vedi Set up authentication for a local development environment.
Il metodo
projects.events.report
supporta anche
le chiavi API.
Se vuoi utilizzare le chiavi API per l'autenticazione, non devi configurare un file Credenziali predefinite dell'applicazione locale.
Per maggiori informazioni, vedi
Crea una chiave API
nella Google Cloud documentazione sull'autenticazione.
Utilizzo dell'interfaccia di configurazione di Ruby on Rails
Per utilizzare la libreria Error Reporting per Ruby con 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 Stackdriver utilizzando quanto segue:
Error Reporting è attivata per impostazione predefinita quando Rails è in esecuzione in modalità di produzione. Per attivare Error Reporting in modalità di sviluppo, aggiungi quanto segue:
Utilizzo dell'interfaccia di configurazione della strumentazione
Per utilizzare la libreria Error Reporting per Ruby in altre applicazioni basate su Rack, fornisci i parametri tramite l'interfaccia di configurazione:
Puoi anche impostare una configurazione condivisa per tutte le gemme Google Cloud Observability utilizzando quanto segue:
Visualizzazione dei rapporti degli errori
Nella console Google Cloud , vai alla pagina Error Reporting:
Puoi trovare questa pagina anche utilizzando la barra di ricerca.
Per saperne di più, vedi Visualizzare gli errori.