Puoi inviare eventi di errore 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 nei seguenti casi:
- Un bucket di log che contiene le voci di log ha chiavi di crittografia gestite dal cliente (CMEK).
- Il bucket di log soddisfa una delle seguenti condizioni:
- Il bucket di log è archiviato nello stesso progetto in cui sono state create 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 Run Functions e App Engine, Compute Engine e Google Kubernetes Engine. Error Reporting mostra gli eventi di errore 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 eventi di errore a Error Reporting utilizzando Logging. Per informazioni sui requisiti di formattazione dei dati, consulta Formattare una voce di log per segnalare eventi di errore.
Prima di iniziare
- Accedi al tuo Google Cloud account. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Error Reporting API .
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Error Reporting API .
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.- Installa Ruby 2.2+ o versioni successive.
Installa la libreria client
La libreria Error Reporting per Ruby consente di monitorare e visualizzare gli eventi di errore segnalati dalle applicazioni Ruby in esecuzione praticamente ovunque.
-
Aggiungi il gem
google-cloud-error_reportingal tuo Gemfile:gem "google-cloud-error_reporting"
-
Utilizza Bundler per installare il gem:
bundle install
Abilitare la libreria
Se utilizzi Ruby on Rails, Bundler carica automaticamente la libreria nella tua applicazione all'avvio.
Altre applicazioni basate su Rack possono utilizzare il middleware Rack fornito dalla libreria:
Per saperne di più sull'installazione, consulta la documentazione della libreria Error Reporting per Ruby. Puoi anche segnalare i problemi utilizzando il tracker dei problemi.
Configurare 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 deve avere il ruolo
Writer di Error Reporting (roles/errorreporting.writer).
Alcuni Google Cloud servizi concedono automaticamente il
ruolo Writer di Error Reporting (roles/errorreporting.writer) al account di servizio appropriato. Tuttavia, devi concedere questo ruolo al service account appropriato per alcuni servizi.
Cloud Run e Cloud Run Functions
Il 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.
Utilizzare l'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 tutti i gem Stackdriver utilizzando quanto segue:
Error Reporting è abilitato per impostazione predefinita quando Rails è in esecuzione in modalità di produzione. Per abilitare Error Reporting in modalità di sviluppo, aggiungi quanto segue:
Utilizzare l'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 tutti i gem di Google Cloud Observability utilizzando quanto segue:
Ambiente flessibile di App Engine
App Engine concede automaticamente il
ruolo Writer di Error Reporting (roles/errorreporting.writer)
al tuo account di servizio 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 nessuna ulteriore configurazione.Google Kubernetes Engine
Per utilizzare Error Reporting con Google Kubernetes Engine:
Assicurati che al account di servizio da utilizzare dal container sia stato concesso il ruolo Writer di Error Reporting (
roles/errorreporting.writer).Puoi utilizzare il service account predefinito di Compute Engine o un account di servizio personalizzato.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Crea il cluster e concedi al cluster l'
cloud-platformambito di accesso.Ad esempio, il seguente comando di creazione specifica l'ambito di accesso
cloud-platforme un account di servizio:gcloud container clusters create CLUSTER_NAME --service-account SERVICE_ACCT_NAME --scopes=cloud-platform
Compute Engine
Per utilizzare Error Reporting con le istanze VM di Compute Engine:
Assicurati che al account di servizio da utilizzare dall'istanza VM sia stato concesso il ruolo Writer di Error Reporting (
roles/errorreporting.writer).Puoi utilizzare il service account predefinito di Compute Engine o un account di servizio personalizzato.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci 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 a cui vuoi concedere l'
cloud-platformambito di accesso.Fai clic su Arresta 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.
Esempio
Segnalare 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:
Eseguire app in un ambiente di sviluppo locale
Per utilizzare la libreria Error Reporting per Ruby in un ambiente di sviluppo locale, ad esempio eseguendola sulla tua workstation, devi fornire alla libreria Error Reporting per Ruby le credenziali predefinite dell'applicazione locale. Per saperne di più, consulta Autenticarsi a Error Reporting.
Per utilizzare gli esempi di Ruby in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Se utilizzi una shell locale, crea le credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Non devi eseguire questa operazione se utilizzi Cloud Shell.
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Il metodo projects.events.report supporta anche
le chiavi API.
Se vuoi utilizzare le chiavi API per l'autenticazione, non devi
configurare un file di Credenziali predefinite dell'applicazione locale.
Per saperne di più, consulta
Crea una chiave API
nella Google Cloud documentazione sull'autenticazione di.
Utilizzare l'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 tutti i gem Stackdriver utilizzando quanto segue:
Error Reporting è abilitato per impostazione predefinita quando Rails è in esecuzione in modalità di produzione. Per abilitare Error Reporting in modalità di sviluppo, aggiungi quanto segue:
Utilizzare l'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 tutti i gem di Google Cloud Observability utilizzando quanto segue:
Visualizzare i gruppi di errori
Nella Google Cloud console, vai alla pagina Error Reporting.
Puoi trovare questa pagina anche utilizzando la barra di ricerca.
Per saperne di più, consulta Visualizzare e filtrare i gruppi di errori.