Sie können Logs von Ruby-Anwendungen mithilfe der Cloud Logging-Bibliothek für Ruby nach Cloud Logging schreiben. Dies ist auch direkt über die Cloud Logging-Cloud-Clientbibliothek für Ruby möglich.
Der Cloud Logging-Agent muss nicht installiert sein, um die Cloud Logging-Bibliothek für Ruby auf einer Compute Engine-VM-Instanz auszuführen.
Hinweis
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Enable the Cloud Logging API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Enable the Cloud Logging API.
- Installieren Sie Ruby 2.2 oder höher.
Bibliothek installieren
Wir stellen eine Cloud Logging-Bibliothek für Ruby zur Verfügung, die eine benutzerfreundliche Logger-Implementierung für rackbasierte Ruby-Web-Frameworks bietet:
Fügen Sie Ihrem Gemfile das Google Cloud Observability-Gem hinzu:
Installieren Sie das Gem mit Bundler:
bundle install
Bibliothek aktivieren
Wenn Sie Ruby on Rails verwenden, lädt Bundler die Bibliothek beim Anwendungsstart automatisch in Ihre Anwendung, wodurch der Standard-Rails.logger
auf eine Instanz des Cloud Logging-Loggers festgelegt wird.
Andere rackbasierte Anwendungen können den Rack-Logger mithilfe der bereitgestellten Rack-Middleware durch den Cloud Logging-Logger ersetzen, wenn Ihr Web-Framework den Rack-Logger unterstützt:
Bibliothek konfigurieren
Sie können das Verhalten der Cloud Logging-Bibliothek für Ruby anpassen. Eine Liste der möglichen Konfigurationsoptionen finden Sie in der Konfiguration der Bibliothek.
Cloud Logging-Logger verwenden
Wenn die Cloud Logging-Bibliothek für Ruby aktiviert ist, können Sie den Logger in Ihrer Anwendung verwenden:
logger.info "Hello World!"
logger.error "Oh No!"
Weitere Informationen zur Installation finden Sie in der Dokumentation zur Cloud Logging-Bibliothek für Ruby. Probleme können Sie über die Problemverfolgung melden.
Logs mit der Cloud Logging-Clientbibliothek schreiben
Informationen zur Verwendung der Cloud Logging-Clientbibliothek für Ruby direkt finden Sie unter Cloud Logging-Clientbibliotheken.
In Google Cloud ausführen
Damit eine Anwendung Logs mithilfe der Cloud Logging-Bibliothek für Ruby schreiben kann,
Dienstkonto für die zugrunde liegende Ressource muss die
Logautor (roles/logging.logWriter
) IAM-Rolle.
In den meisten Google Cloud-Umgebungen wird die Standardeinstellung
Dienstkonto mit dieser Rolle.
App Engine
Cloud Logging ist für App Engine automatisch aktiviert und das Standarddienstkonto Ihrer Anwendung hat standardmäßig die IAM-Berechtigungen zum Schreiben von Logeinträgen.
Weitere Informationen finden Sie unter Schreiben und Anzeigen Logs
Google Kubernetes Engine (GKE)
In GKE wird das Standarddienstkonto automatisch zugewiesen
die IAM-Rolle Logautor (roles/logging.logWriter
)
Wenn Sie
Identitätsföderation von Arbeitslasten für GKE
mit diesem Standarddienstkonto, damit Arbeitslasten auf bestimmte
Google Cloud APIs verwenden, ist keine zusätzliche Konfiguration erforderlich.
Wenn Sie die Workload Identity-Föderation für GKE jedoch mit einem benutzerdefinierten IAM-Dienstkonto verwenden, muss das benutzerdefinierte Dienstkonto die Rolle „Logs Writer“ (roles/logging.logWriter
) haben.
Bei Bedarf können Sie auch den folgenden Befehl verwenden, um beim Erstellen des Clusters den Zugriffsbereich logging.write
hinzuzufügen:
gcloud container clusters create example-cluster-name \
--scopes https://www.googleapis.com/auth/logging.write
Compute Engine
Wenn Sie Compute Engine-VM-Instanzen verwenden, fügen Sie der jeweiligen Instanz den Zugriffsbereich für cloud-platform
hinzu. Wenn Sie eine neue Instanz über die
In der Google Cloud Console können Sie dies im Abschnitt Identität und API-Zugriff tun.
des Bereichs Instanz 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. Ganz gleich, welchen Dienst
des ausgewählten Kontos müssen Sie sicherstellen,
Rolle „Log-Autor“ in der Rolle „IAM & Admin des
Google Cloud Console
Lokal und extern ausführen
Wenn Sie die Cloud Logging-Bibliothek für Ruby außerhalb von Google Cloud verwenden möchten, z. B. auf Ihrer eigenen Workstation, auf den Computern Ihres Rechenzentrums oder auf den VM-Instanzen eines anderen Cloudanbieters, müssen Sie Ihre Google Cloud-Projekt-ID und die entsprechenden Anmeldedaten für das Dienstkonto direkt in der Cloud Logging-Bibliothek für Ruby angeben.
Bei vorhandenen Dienstkonten gehen Sie so vor:
Gewähren Sie dem Dienstkonto die IAM-Rolle IAM-Rolle Logautor (
roles/logging.logWriter
) Weitere Informationen zu IAM finden Sie unter Zugriffssteuerung.
Wenn Sie kein Dienstkonto haben, erstellen Sie eins. Informationen zu Informationen zur Vorgehensweise finden Sie unter Dienstkonten erstellen.
Allgemeine Informationen zu den Authentifizierungsmethoden finden Sie unter Terminologie: Dienstkonten.
Konfigurationsoberfläche von Ruby on Rails verwenden:Geben Sie die Parameter in der Konfigurationsoberfläche von Ruby on Rails an, wenn Sie das Framework von Ruby on Rails verwenden:
Sie können eine gemeinsame Konfiguration für alle Observability-Gems von Google Cloud festlegen, wenn Sie Folgendes eingeben:
Logging ist standardmäßig aktiviert, wenn Rails im Produktionsmodus ausgeführt wird. Zur Aktivierung von Logging im Entwicklungsmodus fügen Sie Folgendes hinzu:
Konfigurationsoberfläche für Instrumentierung verwenden
Geben Sie die Parameter über die Konfigurationsoberfläche an, wenn sie in anderen rackbasierten Anwendungen verwendet werden:
Mit dem folgenden Befehl können Sie eine gemeinsame Konfiguration für alle Google Cloud-Beobachtbarkeits-Gems festlegen:
Logs ansehen
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
Im Log-Explorer müssen Sie eine oder mehrere Ressourcen angeben. Die Auswahl der Ressourcen ist jedoch möglicherweise nicht offensichtlich. Hier sind ein paar Tipps für den Einstieg.
Wenn Sie Ihre Anwendung für App Engine bereitstellen oder die App Engine-spezifischen Bibliotheken verwenden, setzen Sie die Ressource auf GAE-Anwendung.
Wenn Sie Ihre Anwendung auf der Compute Engine bereitstellen, setzen Sie die Ressource auf GCE-VM-Instanz.
Wenn Sie Ihre Anwendung in Google Kubernetes Engine bereitstellen, wird der Ressourcentyp der Logeinträge von der Loggingkonfiguration des Clusters bestimmt. Eine detaillierte Diskussion zu Legacy-Google Cloud Observability und Google Cloud Observability Kubernetes Monitoring-Lösungen und deren Auswirkungen auf Ressourcentyp, siehe Zu Google Cloud Observability Kubernetes Monitoring migrieren
Wenn Ihre Anwendung die Cloud Logging API direkt nutzt, ist die Ressource von der API und Ihrer Konfiguration abhängig. Sie können in Ihrer Anwendung zum Beispiel eine Ressource angeben oder eine Standardressource verwenden.
Wenn im Log-Explorer keine Logs zu sehen sind, wechseln Sie zum erweiterten Abfragemodus und verwenden Sie eine leere Abfrage, um alle Logeinträge zu sehen.
- Klicken Sie oben im Log-Explorer auf das Dreipunkt-Menü (▾) und wählen Sie In erweiterten Filter umwandeln aus, um zum erweiterten Abfragemodus zu wechseln.
- Löschen Sie den Inhalt, der im Filterfeld angezeigt wird.
- Klicken Sie auf Filter senden.
Sie können die einzelnen Einträge prüfen, um Ihre Ressourcen zu identifizieren.
Weitere Informationen finden Sie unter Log-Explorer verwenden.