Error Reporting für Ruby einrichten

Mithilfe der Error Reporting-Bibliothek für Ruby können Sie Fehlerberichte von Ruby-Anwendungen an Error Reporting senden.

Error Reporting ist in einige Google Cloud-Dienste wie App Engine, Compute Engine und Google Kubernetes Engine eingebunden. In Error Reporting sehen Sie die in Cloud Logging protokollierten Fehler der auf diesen Diensten ausgeführten Anwendungen. Weitere Informationen finden Sie auf dieser Seite im Abschnitt Auf der Google Cloud Platform ausführen.

Sie können Fehlerdaten auch mithilfe von Logging an Error Reporting senden. Informationen zu den Datenformatierungsanforderungen finden Sie unter Fehlermeldungen in Logging formatieren.

Hinweis

  1. Melden Sie sich bei Ihrem Google-Konto an.

    Wenn Sie noch kein Konto haben, melden Sie sich hier für ein neues Konto an.

  2. Wählen Sie in der Cloud Console auf der Seite für die Projektauswahl ein Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. Aktivieren Sie die Error Reporting API .

    Aktivieren Sie die API

  5. Installieren Sie Ruby 2.2 oder höher.

Clientbibliothek installieren

Mit der Error Reporting-Bibliothek für Ruby können Sie die von Ruby-Anwendungen gemeldeten Fehler im Blick behalten und abrufen. Dabei ist es in den meisten Fällen unerheblich, wo die Anwendungen ausgeführt werden.

  1. Fügen Sie das Operations Suite-Gem von Google Cloud in Ihr Gemfile ein:

    gem "stackdriver"
  2. Installieren Sie das Gem mit Bundler:

    bundle install

Bibliothek aktivieren

Wenn Sie Ruby on Rails verwenden, wird die Bibliothek beim Start Ihrer Anwendung automatisch von Bundler geladen.

Andere rackbasierte Anwendungen können die Rack-Middleware aus der Bibliothek verwenden:

require "google/cloud/error_reporting"

use Google::Cloud::ErrorReporting::Middleware

Weitere Informationen zur Installation finden Sie in der Dokumentation der Error Reporting-Bibliothek für Ruby. Probleme können Sie über die Problemverfolgung melden.

Clientbibliothek konfigurieren

Das Verhalten der Error Reporting-Bibliothek für Ruby kann angepasst werden. Die Konfiguration der Bibliothek enthält eine Liste der Konfigurationsoptionen.

Fehler melden

Fehler in rackbasierten Frameworks melden

Mit der Error Reporting-Bibliothek für Ruby lässt sich Error Reporting problemlos in gängige rackbasierte Ruby-Web-Frameworks wie Ruby on Rails und Sinatra einbinden: Wenn die Bibliothek aktiviert ist, werden die im Rackstack der Anwendung erfassten Ausnahmen automatisch gemeldet.

Fehler manuell melden

Sie können einen Fehler auch manuell melden. Dazu rufen Sie die Methode report wie im folgenden Beispiel gezeigt auf:

require "google/cloud/error_reporting"

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

In Google Cloud ausführen

Zur Verwendung der Error Reporting-Bibliothek für Ruby ist die Rolle Error Reporting-Autor von Identity and Access Management erforderlich. Die meisten Computing-Plattformen von Google Cloud stellen diese Rolle standardmäßig zur Verfügung.

Sie können Error Reporting für Ruby in den folgenden Google Cloud-Umgebungen konfigurieren.

Flexible App Engine-Umgebung

In App Engine wird die Rolle Error Reporting-Autor standardmäßig zugewiesen.

Die Error Reporting-Bibliothek für Ruby kann verwendet werden, ohne dass Anmeldedaten explizit angegeben werden müssen.

Error Reporting wird für Anwendungen in flexiblen App Engine-Umgebungen automatisch aktiviert. Es ist keine zusätzliche Einrichtung erforderlich.

Google Kubernetes Engine

In GKE müssen Sie beim Erstellen des Clusters den Zugriffsbereich für cloud-platform wie im folgenden Beispielbefehl gezeigt festlegen:

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

Compute Engine

Wenn Sie Compute Engine-VM-Instanzen verwenden, fügen Sie der jeweiligen Instanz den Zugriffsbereich für cloud-platform hinzu. In der Google Cloud Console können Sie das beim Erstellen einer neuen Instanz im Bereich Instanz erstellen im Abschnitt Identität und API-Zugriff erledigen. Verwenden Sie das Compute Engine-Standarddienstkonto oder ein anderes Dienstkonto und wählen Sie im Abschnitt Identität und API-Zugriff die Option Uneingeschränkten Zugriff auf alle Cloud APIs zulassen aus. Achten Sie darauf, dass jedem ausgewählten Dienstkonto im Bereich IAM & Verwaltung der Cloud Console die Rolle Error Reporting-Autor zugewiesen ist.

Lokal und extern ausführen

Wenn Sie die Error Reporting-Bibliothek für Ruby außerhalb von Google Cloud verwenden möchten, beispielsweise auf Ihrer eigenen Workstation, auf den Computern Ihres Rechenzentrums oder auf den VM-Instanzen eines anderen Cloud-Anbieters, müssen Sie Ihre Google Cloud-Projekt-ID und die entsprechenden Dienstkonto-Anmeldedaten direkt in der Error Reporting-Bibliothek für Ruby angeben.

Sie können Anmeldeinformationen für Dienstkonten manuell erstellen und abrufen. Geben Sie dafür im Feld Rolle die Rolle Error Reporting-Autor an. Weitere Informationen zu den IAM-Rollen finden Sie in der Anleitung zur Zugriffssteuerung.

Konfigurationsoberfläche von Ruby on Rails verwenden

Wenn Sie die Error Reporting-Bibliothek für Ruby mit dem Ruby on Rails-Framework verwenden möchten, geben Sie die Parameter über die Konfigurationsoberfläche von Ruby on Rails an:

# 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

Wenn Sie Folgendes eingeben, können Sie eine gemeinsame Konfiguration für alle Stackdriver-Gems festlegen:

# 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 ist standardmäßig aktiviert, wenn Rails im Produktionsmodus ausgeführt wird. Fügen Sie Folgendes hinzu, um Error Reporting im Entwicklungsmodus zu aktivieren:

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

Konfigurationsschnittstelle für Instrumentierung verwenden

Wenn Sie die Error Reporting-Bibliothek für Ruby in anderen rackbasierten Anwendungen verwenden möchten, geben Sie die Parameter über die Konfigurationsoberfläche an:

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

Sie können eine gemeinsame Konfiguration für alle Operations Suite-Gems von Google Cloud festlegen, wenn Sie Folgendes eingeben:

require "stackdriver"

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

Fehlerberichte ansehen

Nach der Bereitstellung können Sie Fehlerberichte im Error Reporting-Dashboard der Cloud Console ansehen.

Error Reporting-Dashboard aufrufen

Weitere Informationen finden Sie unter Fehler anzeigen.