Stackdriver Debugger für Ruby einrichten

Auf dieser Seite wird gezeigt, wie Sie Ihre Umgebung und Ihre Ruby-Anwendung für die Verwendung von Stackdriver Debugger konfigurieren. Einige der verlinkten Ressourcen stehen ggf. nur auf Englisch zur Verfügung. In einigen Umgebungen müssen Sie den Zugriffsbereich explizit angeben, damit der Stackdriver Debugger-Agent Daten senden kann. Es wird empfohlen, den größtmöglichen Zugriffsbereich festzulegen und anschließend den Zugriff mit Cloud Identity and Access Management einzuschränken. Geben Sie den Zugriffsbereich entsprechend dieser Best Practice für alle Cloud APIs mit der Option cloud-platform an.

Flexible App Engine-Umgebung

  1. Fügen Sie das Stackdriver-Gem in Ihr Gemfile ein:

    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

Weitere

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

  1. Erstellen Sie Ihren Cluster mit einem der folgenden Zugriffsbereiche:
    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloud_debugger

    So erstellen Sie einen Cluster mit gcloud:

    1. (Optional) Aktualisieren Sie gcloud auf die neueste Version:
      gcloud components update
    2. Legen Sie Ihre standardmäßige Projekt-ID fest:
      gcloud config set project [PROJECT_ID]
    3. Wenn Sie mit zonalen Clustern arbeiten, legen Sie Ihre standardmäßige Compute-Zone fest:
      gcloud config set compute/zone [COMPUTE_ZONE]
    4. Wenn Sie mit regionalen Clustern arbeiten, legen Sie Ihre standardmäßige Compute-Region fest:
      gcloud config set compute/region [COMPUTE_REGION]
    5. Führen Sie den Befehl zum Erstellen aus:
      gcloud container clusters create example-cluster-name --scopes https://www.googleapis.com/auth/cloud-platform

    Ausführliche Informationen zum Erstellen eines Clusters finden Sie unter Cluster erstellen.

  2. Folgen Sie der Anleitung für Compute Engine.

Compute Engine

  1. Stellen Sie sicher, 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 in Ihr Gemfile ein:

    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 ein Name für Ihre App ist. Beispiel: MyApp, Backend oder Frontend.
  • SERVICE-VERSION eine Version ist. Beispiel: 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 ein Name für Ihre App ist. Beispiel: MyApp, Backend oder Frontend.
  • SERVICE-VERSION eine Version ist. Beispiel: 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 ein Name für Ihre App ist. Beispiel: MyApp, Backend oder Frontend.
  • SERVICE-VERSION eine Version ist. Beispiel: 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 Anwendung.

Lokal und an anderer Stelle

  1. Fügen Sie das Stackdriver-Gem in Ihre Gemfile ein:

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

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

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

    Verwenden Sie die Seite "Dienstkonten" der Cloud Platform Console, um eine Anmeldedatendatei für ein bestehendes oder neues Dienstkonto zu erstellen. Das Dienstkonto muss mindestens die Rolle Stackdriver 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 ein Name für Ihre App ist. Beispiel: MyApp, Backend oder Frontend.
  • SERVICE-VERSION eine Version ist. Beispiel: 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 ein Name für Ihre App ist. Beispiel: MyApp, Backend oder Frontend.
  • SERVICE-VERSION eine Version ist. Beispiel: v1.0, build_147 oder v20170714.

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

Weitere

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 ein Name für Ihre App ist. Beispiel: MyApp, Backend oder Frontend.
  • SERVICE-VERSION eine Version ist. Beispiel: 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 Anwendung.

Auf der Seite "Fehlerbehebung" der GCP Console können die lokalen Quelldateien ohne Hochladen für die lokale Entwicklung angezeigt werden. Weitere Informationen finden Sie unter Quellcode manuell auswählen.

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

Feedback geben zu...

Stackdriver Debugger-Dokumentation