Error Reporting für Ruby einrichten

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

Error Reporting ist in einige Google Cloud Platform-Produkte wie App Engine, Compute Engine und Google Kubernetes Engine eingebunden. In Error Reporting sehen Sie die in Stackdriver Logging protokollierten Fehler der auf diesen Produkten ausgeführten Anwendungen. Weitere Informationen erhalten Sie im Abschnitt In Google Cloud Platform ausführen.

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

Hinweis

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

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

  2. Wählen Sie ein Google Cloud Platform-Projekt aus oder erstellen Sie eines.

    Zur Seite "Ressourcen verwalten"

  3. Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Platform-Projekt aktiviert ist.

    Informationen zum Aktivieren der Abrechnung

  4. Aktivieren Sie die Error Reporting API .

    Aktivieren Sie die API.

  5. Installieren Sie Ruby ab Version 2.2.

Clientbibliothek installieren

Die Stackdriver Error Reporting-Bibliothek für Ruby ermöglicht es Ihnen, die von Ruby-Anwendungen gemeldeten Fehler zu überwachen und anzuzeigen. Wo die Anwendungen ausgeführt werden, ist in den meisten Fällen unerheblich.

  1. Fügen Sie das Stackdriver-Gem 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 auf Rack basierende 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 zur Stackdriver Error Reporting-Bibliothek für Ruby. Probleme können Sie über die Problemverfolgung melden.

Clientbibliothek konfigurieren

Sie können das Verhalten der Stackdriver Error Reporting-Bibliothek für Ruby anpassen. Eine Liste der möglichen Konfigurationsoptionen finden Sie in der Konfiguration der Bibliothek.

Fehler melden

Fehler in rackbasierten Frameworks melden

Mithilfe der Stackdriver Error Reporting-Bibliothek für Ruby können Sie Stackdriver Error Reporting einfach in gängige rackbasierte Ruby-Web-Frameworks wie Ruby on Rails und Sinatra integrieren: Wenn die Bibliothek aktiviert ist, werden im Rackstack der Anwendung erfasste Ausnahmen automatisch gemeldet.

Fehler manuell melden

Sie können einen Fehler manuell durch Aufruf der Methode report melden, wie im folgenden Beispiel gezeigt:

require "google/cloud/error_reporting"

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

In Google Cloud Platform ausführen

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

Flexible App Engine-Umgebung

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

Die Stackdriver Error Reporting-Bibliothek für Ruby kann verwendet werden, ohne dass Anmeldeinformationen 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.

GKE

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

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

Compute Engine

Wenn Sie Compute Engine-VM-Instanzen verwenden, ergänzen Sie jede Instanz um den Zugriffsbereich cloud-platform. Neue Instanzen können Sie über die Google Cloud Platform Console im Feld Instanz erstellen unter Identität und API-Zugriff erstellen. 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 bei jedem ausgewählten Dienstkonto darauf, dass diesem im Abschnitt IAM & Verwaltung der GCP Console die Rolle Error Reporting-Autor zugewiesen ist.

Lokal und extern ausführen

Wenn Sie die Stackdriver Error Reporting-Bibliothek für Ruby außerhalb der Google Cloud Platform ausführen möchten, geben Sie Ihre GCP-Projekt-ID und die entsprechenden Dienstkonto-Anmeldedaten direkt in der Stackdriver Error Reporting-Bibliothek für Ruby an. Dies gilt für die Ausführung der Bibliothek auf Ihrer eigenen Workstation, auf den Computern Ihres Rechenzentrums oder auf den VM-Instanzen eines anderen Cloudanbieters. Weitere Informationen finden Sie unter Anmeldedaten für Dienstkonten manuell abrufen und bereitstellen.

Konfigurationsoberfläche von Ruby on Rails verwenden

Geben Sie die Parameter über die Konfigurationsschnittstelle von Ruby on Rails an, wenn Sie die Stackdriver Error Reporting-Bibliothek für Ruby on Rails verwenden möchten.

# 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

Geben Sie die Parameter über die Konfigurationsschnittstelle an, wenn Sie die Stackdriver Error Reporting-Bibliothek für Ruby in anderen Rack-basierten Anwendungen verwenden möchten.

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

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

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 Platform Console ansehen.

Error Reporting-Dashboard aufrufen

Weitere Informationen finden Sie unter Fehler anzeigen.

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Stackdriver Error Reporting