Cloud Debugger wurde verworfen und wird am 31. Mai 2023 eingestellt. Weitere Informationen finden Sie auf der Seite Einstellung und in den Versionshinweisen.

Cloud Debugger für Ruby einrichten

Übersicht

Auf dieser Seite wird gezeigt, wie Sie Ihre Umgebung und Ihre Ruby-Anwendung für die Verwendung von Cloud Debugger konfigurieren. In einigen Umgebungen müssen Sie, damit der Cloud Debugger-Agent Daten senden kann, den Zugriffsbereich explizit angeben. Es wird empfohlen, den größtmöglichen Zugriffsbereich festzulegen und anschließend den Zugriff mit der Identitäts- und Zugriffsverwaltung einzuschränken. Geben Sie den Zugriffsbereich entsprechend dieser Best Practice für alle Cloud APIs mit der Option cloud-platform an.

Sprachversionen und Computing-Umgebung

Cloud Debugger ist ab Ruby-Version 2.2 verfügbar.

App Engine-Standardumgebung Flexible App Engine-Umgebung Compute Engine Google Kubernetes Engine Cloud Run Cloud Run for Anthos Andernorts ausgeführte VMs und Container Cloud Functions

Cloud Debugger einrichten

Führen Sie die folgenden Aufgaben aus, um Cloud Debugger einzurichten:

  1. Prüfen Sie, ob die Cloud Debugger API für Ihr Projekt aktiviert ist.

  2. Installieren und konfigurieren Sie den Debugger in der von Ihnen verwendeten Rechenumgebung.

  3. Wählen Sie den Quellcode aus.

Prüfen, ob die Cloud Debugger API aktiviert ist

Wenn Sie Cloud Debugger verwenden möchten, muss die Cloud Debugger API aktiviert sein. Cloud Debugger ist standardmäßig für die meisten Projekte aktiviert.
Cloud Debugger API aktivieren

Flexible App Engine-Umgebung

  1. Fügen Sie das stackdriver-Gem Gemfile hinzu:

    gem "stackdriver"
    
  2. Aktivieren Sie den Agent.

Rails

Bundler lädt die Bibliothek beim Start automatisch in Ihre App. Es ist keine Konfiguration erforderlich.

Rack

Verwenden Sie die Rack Middleware, die von der Bibliothek bereitgestellt wird:

require "google/cloud/debugger"

use Google::Cloud::Debugger::Middleware

Sonstiges

Starten Sie den Agent für reine Ruby-Anwendungen explizit am Einstiegspunkt:

require "google/cloud/debugger"

Google::Cloud::Debugger.new.start

Der Debugger ist jetzt bereit für die Verwendung mit Ihrer Anwendung.

Google Kubernetes Engine

GCLOUD

Mit den folgenden Schritten aktivieren Sie Debugger mit gcloud:

  1. Erstellen Sie Ihren Cluster mit einem der folgenden Zugriffsbereiche:

    • https://www.googleapis.com/auth/cloud-platform gewährt Ihrem Cluster Zugriff auf alle Google Cloud APIs.

    • https://www.googleapis.com/auth/cloud_debugger gewährt Ihrem Cluster nur Zugriff auf die Debugger API. Verwenden Sie diesen Zugriffsbereich, um die Sicherheit Ihres Clusters zu härten.

    gcloud container clusters create example-cluster-name \
           --scopes=https://www.googleapis.com/auth/cloud_debugger
    
  2. Fügen Sie das stackdriver-Gem Gemfile hinzu:

    gem "stackdriver"
    
  3. Fügen Sie die folgende Zeile Ihrem Dockerfile hinzu, um den Debugger-Agent hinzuzufügen:

    Run bundle install
    
  4. Aktivieren Sie den Debugger-Agent:

    Rails

    Bundler lädt die Bibliothek beim Start automatisch in Ihre App.

    Sie können optional einen Dienst und eine Version über die Konfigurationsoberfläche von Ruby on Rails zur Verfügung stellen:

    # Add this to config/environments/*.rb
    Rails.application.configure do |config|
      config.google_cloud.debugger.service_name = "SERVICE-NAME"
      config.google_cloud.debugger.service_version = "SERVICE-VERSION"
    end
    

    Wobei:

    • SERVICE-NAME ist ein Name für Ihre Anwendung, z. B. MyApp, Backend oder Frontend.
    • SERVICE-VERSION ist eine Version, z. B. v1.0, build_147 oder v20170714.

    Wir empfehlen, diese über Umgebungsvariablen festzulegen, damit Sie den Quellcode nicht bei jeder Bereitstellung ändern müssen.

    Der Debugger ist standardmäßig aktiviert, wenn Rails im Produktionsmodus ausgeführt wird. Fügen Sie Folgendes hinzu, um den Debugger im Entwicklungsmodus zu aktivieren:

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

    Rack

    Verwenden Sie die Rack Middleware, die von der Bibliothek bereitgestellt wird:

     require "google/cloud/debugger"
    
     Google::Cloud::Debugger.configure do |config|
       config.service_name = "SERVICE-NAME"
       config.service_version = "SERVICE-VERSION"
      end
    
     use Google::Cloud::Debugger::Middleware
    

    Wobei:

    • SERVICE-NAME ist ein Name für Ihre Anwendung, z. B. MyApp, Backend oder Frontend.
    • SERVICE-VERSION ist eine Version, z. B. v1.0, build_147 oder v20170714.

    Wir empfehlen, diese über Umgebungsvariablen festzulegen, damit Sie den Quellcode nicht bei jeder Bereitstellung ändern müssen.

    Sonstiges

    Starten Sie den Agent für reine Ruby-Anwendungen explizit am Einstiegspunkt:

    require "google/cloud/debugger"
    
    Google::Cloud::Debugger.new(service_name: "SERVICE-NAME",
                        service_version: "SERVICE-VERSION").start
    

    Wobei:

    • SERVICE-NAME ist ein Name für Ihre Anwendung, z. B. MyApp, Backend oder Frontend.
    • SERVICE-VERSION ist eine Version, z. B. v1.0, build_147 oder v20170714.

    Wir empfehlen, diese über Umgebungsvariablen festzulegen, damit Sie den Quellcode nicht bei jeder Bereitstellung ändern müssen.

    Debugger ist jetzt für Ihre Anwendung aktiviert.

KONSOLE

So aktivieren Sie Debugger mit der Google Cloud Console:

  1. Wählen Sie im Abschnitt Knotenpools die Option Sicherheit und dann Zugriff für jede API festlegen aus.

  2. Debugger aktivieren

    Die Debugger API ist für den Cluster aktiviert.

  3. Optional: Wählen Sie Uneingeschränkten Zugriff auf alle Cloud-APIs zulassen aus.

Compute Engine

  1. Achten Sie darauf, dass Ihre Compute Engine-VM-Instanzen mit der Zugriffsbereichsoption Vollen Zugriff auf alle Cloud-APIs zulassen eingerichtet sind oder einen der folgenden Zugriffsbereiche haben:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloud_debugger
  2. Fügen Sie das stackdriver-Gem Gemfile hinzu:

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

    bundle install
    
  4. Aktivieren Sie den Agent.

Rails

Bundler lädt die Bibliothek beim Start automatisch in Ihre App.

Sie können optional einen Dienst und eine Version über die Konfigurationsoberfläche von Ruby on Rails zur Verfügung stellen:

# Add this to config/environments/*.rb
Rails.application.configure do |config|
  config.google_cloud.debugger.service_name = "SERVICE-NAME"
  config.google_cloud.debugger.service_version = "SERVICE-VERSION"
end

Wobei:

  • SERVICE-NAME ist ein Name für Ihre Anwendung, z. B. MyApp, Backend oder Frontend.
  • SERVICE-VERSION ist eine Version, z. B. v1.0, build_147 oder v20170714.

Wir empfehlen, diese über Umgebungsvariablen festzulegen, damit Sie den Quellcode nicht bei jeder Bereitstellung ändern müssen.

Der Debugger ist standardmäßig aktiviert, wenn Rails im Produktionsmodus ausgeführt wird. Fügen Sie Folgendes hinzu, um den Debugger im Entwicklungsmodus zu aktivieren:

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

Rack

Verwenden Sie die Rack Middleware, die von der Bibliothek bereitgestellt wird:

require "google/cloud/debugger"

Google::Cloud::Debugger.configure do |config|
  config.service_name = "SERVICE-NAME"
  config.service_version = "SERVICE-VERSION"
end

use Google::Cloud::Debugger::Middleware

Wobei:

  • SERVICE-NAME ist ein Name für Ihre Anwendung, z. B. MyApp, Backend oder Frontend.
  • SERVICE-VERSION ist eine Version, z. B. v1.0, build_147 oder v20170714.

Wir empfehlen, diese über Umgebungsvariablen festzulegen, damit Sie den Quellcode nicht bei jeder Bereitstellung ändern müssen.

Sonstiges

Starten Sie den Agent für reine Ruby-Anwendungen explizit am Einstiegspunkt:

require "google/cloud/debugger"

Google::Cloud::Debugger.new(service_name: "SERVICE-NAME",
                            service_version: "SERVICE-VERSION").start

Wobei:

  • SERVICE-NAME ist ein Name für Ihre Anwendung, z. B. MyApp, Backend oder Frontend.
  • SERVICE-VERSION ist eine Version, z. B. v1.0, build_147 oder v20170714.

Wir empfehlen, diese über Umgebungsvariablen festzulegen, damit Sie den Quellcode nicht bei jeder Bereitstellung ändern müssen.

Der Debugger ist jetzt bereit für die Verwendung mit Ihrer App.

Lokal und an anderer Stelle

  1. Fügen Sie das stackdriver-Gem Gemfile hinzu:

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

    bundle install
    
  3. Laden Sie Anmeldedaten für das Dienstkonto herunter.

    Wenn Sie den Cloud Debugger-Agent für Ruby auf einer Maschine verwenden möchten, die nicht von Google Cloud gehostet wird, muss sich der Agent mithilfe der Anmeldedaten eines Google Cloud-Dienstkontos beim Cloud Debugger-Dienst authentifizieren.

    Erstellen Sie auf der Seite „Dienstkonten“ der Google Cloud Console eine Datei mit Anmeldedaten für ein vorhandenes oder neues Dienstkonto. Das Dienstkonto muss mindestens die Rolle Cloud Debugger Agent haben.

  4. Konfigurieren und aktivieren Sie den Agent mit den heruntergeladenen Anmeldedaten.

Rails

Geben Sie die Parameter in der Konfigurationsoberfläche von Ruby on Rails an:

# Add this to config/environments/*.rb
Rails.application.configure do |config|
  config.google_cloud.project_id = "YOUR-PROJECT-ID"
  config.google_cloud.keyfile    = "/path/to/service-account.json"
  config.google_cloud.debugger.service_name = "SERVICE-NAME"
  config.google_cloud.debugger.service_version = "SERVICE-VERSION"
end

Wobei:

  • SERVICE-NAME ist ein Name für Ihre Anwendung, z. B. MyApp, Backend oder Frontend.
  • SERVICE-VERSION ist eine Version, z. B. v1.0, build_147 oder v20170714.

Wir empfehlen, diese über Umgebungsvariablen festzulegen, damit Sie den Quellcode nicht bei jeder Bereitstellung ändern müssen.

Der Debugger ist standardmäßig aktiviert, wenn Rails im Produktionsmodus ausgeführt wird. Fügen Sie Folgendes hinzu, um den Debugger im Entwicklungsmodus zu aktivieren:

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

Rack

Verwenden Sie die Rack Middleware, die von der Bibliothek bereitgestellt wird:

require "stackdriver"
require "google/cloud/debugger"

Google::Cloud.configure do |config|
  config.project_id = "YOUR-PROJECT-ID"
  config.keyfile    = "/path/to/service-account.json"
  config.service_name = "SERVICE-NAME"
  config.service_version = "SERVICE-VERSION"
end

use Google::Cloud::Debugger::Middleware

Wobei:

  • SERVICE-NAME ist ein Name für Ihre Anwendung, z. B. MyApp, Backend oder Frontend.
  • SERVICE-VERSION ist eine Version, z. B. v1.0, build_147 oder v20170714.

Wir empfehlen, diese über Umgebungsvariablen festzulegen, damit Sie den Quellcode nicht bei jeder Bereitstellung ändern müssen.

Sonstiges

Starten Sie den Agent für reine Ruby-Anwendungen explizit am Einstiegspunkt:

require "google/cloud/debugger"

Google::Cloud::Debugger.new(project: "YOUR-PROJECT-ID",
                            keyfile: "/path/to/service-account.json",
                            service_name: "SERVICE-NAME",
                            service_version: "SERVICE-VERSION").start

Wobei:

  • SERVICE-NAME ist ein Name für Ihre Anwendung, z. B. MyApp, Backend oder Frontend.
  • SERVICE-VERSION ist eine Version, z. B. v1.0, build_147 oder v20170714.

Wir empfehlen, diese über Umgebungsvariablen festzulegen, damit Sie den Quellcode nicht bei jeder Bereitstellung ändern müssen.

Der Debugger ist jetzt bereit für die Verwendung mit Ihrer App.

Auf der Seite „Fehlerbehebung“ in der Google Cloud Console können lokale Quelldateien ohne Hochladen für die lokale Entwicklung angezeigt werden. Weitere Informationen finden Sie unter Quellcode manuell auswählen.