Ü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:
Prüfen Sie, ob die Cloud Debugger API für Ihr Projekt aktiviert ist.
Installieren und konfigurieren Sie den Debugger in der von Ihnen verwendeten Rechenumgebung.
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
Fügen Sie das
stackdriver
-GemGemfile
hinzu:gem "stackdriver"
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
:
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
Fügen Sie das
stackdriver
-GemGemfile
hinzu:gem "stackdriver"
Fügen Sie die folgende Zeile Ihrem
Dockerfile
hinzu, um den Debugger-Agent hinzuzufügen:Run bundle install
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
oderFrontend
.SERVICE-VERSION
ist eine Version, z. B.v1.0
,build_147
oderv20170714
.
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:
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
oderFrontend
.SERVICE-VERSION
ist eine Version, z. B.v1.0
,build_147
oderv20170714
.
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
oderFrontend
.SERVICE-VERSION
ist eine Version, z. B.v1.0
,build_147
oderv20170714
.
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:
Wählen Sie im Abschnitt Knotenpools die Option Sicherheit und dann Zugriff für jede API festlegen aus.
Debugger aktivieren
Optional: Wählen Sie Uneingeschränkten Zugriff auf alle Cloud-APIs zulassen aus.
Compute Engine
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
Fügen Sie das
stackdriver
-GemGemfile
hinzu:gem "stackdriver"
Installieren Sie das Gem mit Bundler:
bundle install
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
oderFrontend
.SERVICE-VERSION
ist eine Version, z. B.v1.0
,build_147
oderv20170714
.
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:
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
oderFrontend
.SERVICE-VERSION
ist eine Version, z. B.v1.0
,build_147
oderv20170714
.
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
oderFrontend
.SERVICE-VERSION
ist eine Version, z. B.v1.0
,build_147
oderv20170714
.
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
Fügen Sie das
stackdriver
-GemGemfile
hinzu:gem "stackdriver"
Installieren Sie das Gem mit Bundler:
bundle install
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.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
oderFrontend
.SERVICE-VERSION
ist eine Version, z. B.v1.0
,build_147
oderv20170714
.
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:
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
oderFrontend
.SERVICE-VERSION
ist eine Version, z. B.v1.0
,build_147
oderv20170714
.
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
oderFrontend
.SERVICE-VERSION
ist eine Version, z. B.v1.0
,build_147
oderv20170714
.
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.