Configurazione di Error Reporting per Ruby

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Puoi inviare report sugli errori alle applicazioni di Error Reporting dalle applicazioni Ruby utilizzando la libreria di Error Reporting per Ruby.

Error Reporting è integrato con alcuni servizi Google Cloud, come App Engine, Compute Engine e Google Kubernetes Engine. Error Reporting visualizza gli errori registrati in Cloud Logging dalle applicazioni in esecuzione su tali servizi. Per ulteriori informazioni, consulta la pagina In esecuzione su Google Cloud Platform in questa pagina.

Puoi anche inviare i dati di errore a Error Reporting utilizzando Logging. Per informazioni sui requisiti di formattazione dei dati, consulta Formattazione dei messaggi di errore in Logging.

Prima di iniziare

  1. Accedi al tuo account Google Cloud. 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 gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.

  4. Attiva Error Reporting API .

    Abilita l'API

  5. Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  6. Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.

  7. Attiva Error Reporting API .

    Abilita l'API

  8. Installa Ruby 2.2+ o versioni successive.

Installare la libreria client

La libreria degli errori Error Reporting per Ruby ti consente di monitorare e visualizzare gli errori segnalati dalle applicazioni Ruby in esecuzione quasi ovunque.

  1. Aggiungi la gemma della suite operativa di Google Cloud al tuo Gemfile:

    gem "stackdriver"
  2. Utilizza Bundler per installare la gemma:

    bundle install

Attivazione della raccolta

Se utilizzi Ruby on Rails, il bundler carica automaticamente la libreria nella tua applicazione all'avvio.

Altre applicazioni basate su Rack possono utilizzare il Rack Middleware fornito dalla libreria:

require "google/cloud/error_reporting"

use Google::Cloud::ErrorReporting::Middleware

Per ulteriori informazioni sull'installazione, consulta la documentazione per la libreria di Error Reporting per Ruby. Puoi anche segnalare i problemi utilizzando lo strumento di monitoraggio dei problemi.

Configurazione della libreria client

Puoi personalizzare il comportamento della libreria di Error Reporting per Ruby. Consulta la configurazione della libreria per un elenco di possibili opzioni di configurazione.

Segnalare errori

Segnalazione di errori nei framework basati su Rack

La libreria Error Reporting per Ruby semplifica l'integrazione di Error Reporting nei popolari framework web Ruby basati su Rack, come Ruby on Rails e Sinatra. Quando la libreria è attivata, segnala automaticamente le eccezioni acquisite dallo stack Rack dell'applicazione.

Segnalare manualmente errori

Puoi segnalare manualmente un errore chiamando il metodo report, come mostrato nell'esempio seguente:

require "google/cloud/error_reporting"

begin
  raise "Raise an exception for Error Reporting."
rescue StandardError => e
  Google::Cloud::ErrorReporting.report e
end

Esecuzione in Google Cloud

L'utilizzo della libreria di Error Reporting per Ruby richiede il ruolo di Identity and Access Management Ruolo di Writer di Error Reporting. La maggior parte delle piattaforme di computing Google Cloud fornisce questo ruolo per impostazione predefinita.

Puoi configurare Error Reporting per Ruby nei seguenti ambienti Google Cloud.

Ambiente flessibile di App Engine

App Engine concede per impostazione predefinita il ruolo Writer Error Reporting.

La libreria di Error Reporting per Ruby può essere utilizzata senza dover fornire esplicitamente le credenziali.

Error Reporting viene abilitato automaticamente per le applicazioni dell'ambiente flessibile di App Engine. Non sono richieste configurazioni aggiuntive.

Google Kubernetes Engine

Su GKE, devi aggiungere l'ambito di accesso cloud-platform quando crei il cluster, come mostra il seguente comando di esempio:

gcloud container clusters create example-cluster-name --scopes https://www.googleapis.com/auth/cloud-platform

Compute Engine

Quando utilizzi le istanze VM di Compute Engine, aggiungi l'ambito di accesso cloud-platform a ciascuna istanza. Quando crei una nuova istanza tramite la console Google Cloud, puoi farlo nella sezione Identità e accesso API del riquadro Crea istanza. Utilizza l'account di servizio predefinito di Compute Engine o un altro account di servizio a tua scelta e seleziona Consenti accesso completo a tutte le API Cloud nella sezione Identità e accesso API. Qualunque sia l'account di servizio selezionato, assicurati che sia stato concesso il ruolo Writer Error Reporting nella sezione IAM e amministrazione della console Google Cloud.

Esecuzione locale e altrove

Per utilizzare la libreria Error Reporting per Ruby al di fuori di Google Cloud, ad esempio per eseguire la libreria sulla tua workstation, sui computer dei data center o sulle istanze VM di un altro cloud provider, devi fornire il tuo ID progetto Google Cloud e le credenziali dell'account di servizio appropriato direttamente alla libreria di Error Reporting per Ruby.

Puoi creare e ottenere manualmente le credenziali dell'account di servizio. Quando specifichi il campo Ruolo, utilizza il ruolo Writer Error Reporting. Per saperne di più sui ruoli di Identity and Access Management, vai alla guida al controllo dell'accesso.

Utilizzo dell'interfaccia di configurazione di Ruby on Rails

Per utilizzare la libreria di Error Reporting per Ruby con il framework Ruby on Rails, fornisci i parametri tramite l'interfaccia di configurazione di Ruby on Rails:

# Add this to config/environments/*.rb
Rails.application.configure do |config|
  # Stackdriver Error Reporting specific parameters
  config.google_cloud.error_reporting.project_id = "YOUR-PROJECT-ID"
  config.google_cloud.error_reporting.keyfile    = "/path/to/service-account.json"
end

Puoi anche impostare la configurazione condivisa per tutte le gemme di Stackdriver utilizzando quanto segue:

# Add this to config/environments/*.rb
Rails.application.configure do |config|
  # Stackdriver Shared parameters
  config.google_cloud.project_id = "YOUR-PROJECT-ID"
  config.google_cloud.keyfile    = "/path/to/service-account.json"
end

Error Reporting è abilitato per impostazione predefinita quando la funzionalità Rails è in esecuzione in modalità di produzione. Per abilitare Error Reporting in modalità di sviluppo, aggiungi quanto segue:

# Add this to config/environments/development.rb
Rails.application.configure do |config|
  config.google_cloud.use_error_reporting = true
end

Utilizzando l'interfaccia di configurazione della strumentazione

Per utilizzare la libreria di Error Reporting per Ruby in altre applicazioni basate su Rack, fornisci i parametri tramite l'interfaccia di configurazione:

require "google/cloud/error_reporting"

Google::Cloud.configure do |config|
  # Stackdriver Error Reporting specific parameters
  config.error_reporting.project_id = "YOUR-PROJECT-ID"
  config.error_reporting.keyfile    = "/path/to/service-account.json"
end

Puoi anche impostare la configurazione condivisa per tutte le gemme delle suite operative di Google Cloud utilizzando quanto segue:

require "stackdriver"

Google::Cloud.configure do |config|
  # Stackdriver Shared parameters
  config.project_id = "YOUR-PROJECT-ID"
  config.keyfile    = "/path/to/service-account.json"
end

Visualizzazione dei rapporti degli errori

Dopo il deployment, puoi visualizzare i report sugli errori nella dashboard di Error Reporting di Google Cloud Console.

Vai alla dashboard di Error Reporting

Per ulteriori informazioni, consulta la sezione Visualizzare gli errori.