Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Cloud Logging für Python einrichten

Sie können Logs aus Python-Anwendungen in Logging schreiben. Dazu verwenden Sie den Logging-Handler für Python, der in der Logging-Clientbibliothek enthalten ist, oder direkt die Cloud-Clientbibliothek der Cloud Logging API für Python.

Vorbereitung

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. Aktivieren Sie die Cloud Logging API.

    Aktivieren Sie die API

  5. Bereiten Sie Ihre Umgebung für die Python-Entwicklung vor.

    Einrichtungsleitfaden für Python aufrufen

Bibliothek installieren

Wie Sie die Cloud Logging-Bibliothek für Python installieren, erfahren Sie unter Clientbibliothek installieren.

Nach der Installation enthält diese Bibliothek Logging-Handler, über die das Standard-Logging-Modul von Python mit Logging verbunden werden kann, sowie eine API-Clientbibliothek für den manuellen Zugriff auf Cloud Logging.

Bibliothek mit Python-Logging verbinden

Sie können alle Logeinträge an Cloud Logging senden und dafür den Cloud Logging-Handler an den Python-Root-Logger anhängen. Verwenden Sie dazu die Hilfsmethode setup_logging:

# Imports the Cloud Logging client library
import google.cloud.logging

# Instantiates a client
client = google.cloud.logging.Client()

# Retrieves a Cloud Logging handler based on the environment
# you're running in and integrates the handler with the
# Python logging module. By default this captures all logs
# at INFO level and higher
client.get_default_handler()
client.setup_logging()

Python-Root-Logger verwenden

Sobald der Handler angehängt wurde, werden standardmäßig alle Logs auf INFO-Ebene oder höher, die in Ihrer Anwendung ausgegeben werden, an Stackdriver Logging gesendet:

# Imports Python standard library logging
import logging

# The data to log
text = "Hello, world!"

# Emits the data using the standard logging module
logging.warning(text)

Wenn Nachrichten von App Engine oder Google Kubernetes Engine in Logging protokolliert werden, sendet sie der Handler an die Ressourcentypen der jeweiligen Umgebung. Andernfalls werden die Logs standardmäßig unter dem python-Log im Ressourcentyp Global angezeigt.

Logging-Handler konfigurieren

Wenn Sie den Cloud-Logging-Handler nur an ausgewählte Python-Logger anhängen oder den Logging-Handler anderweitig konfigurieren möchten, finden Sie entsprechende Informationen in der Dokumentation zur API-Bibliothek.

Weitere Informationen zur Installation erhalten Sie in der Dokumentation zur Cloud Logging-Bibliothek für Python. Probleme können Sie über die Problemverfolgung melden.

Cloud-Clientbibliothek direkt verwenden

Informationen zur direkten Verwendung der Cloud-Clientbibliothek von Cloud Logging für Python finden Sie unter Cloud Logging-Clientbibliotheken.

In Google Cloud ausführen

Für die Verwendung der Cloud Logging-Bibliothek für Python wird in Google Cloud die IAM-Rolle Logautor benötigt. In den meisten Google Cloud-Umgebungen ist diese Rolle standardmäßig vorhanden.

App Engine

In App Engine wird die Rolle Logautor standardmäßig zugewiesen.

Die Cloud Logging-Bibliothek für Python kann verwendet werden, ohne Anmeldedaten explizit angeben zu müssen.

Cloud Logging ist für App Engine-Anwendungen automatisch aktiviert. Es ist keine zusätzliche Einrichtung erforderlich.

Google Kubernetes Engine

In Google Kubernetes Engine müssen Sie beim Erstellen des Clusters den Zugriffsbereich logging.write festlegen:

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. In der Google Cloud Console können Sie das beim Erstellen einer neuen Instanz im Bereich Instanz erstellen im Abschnitt Identität und API-Zugriff erledigen. 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 darauf, dass jedem ausgewählten Dienstkonto im Abschnitt IAM & Verwaltung der Cloud Console die Rolle "Logautor" zugewiesen ist.

Lokal und extern ausführen

Um die Cloud Logging-Bibliothek für Python außerhalb von Google Cloud zu verwenden, z. B. zur Ausführung auf Ihrer eigenen Workstation, auf den Computern Ihrer Rechenzentren oder auf den VM-Instanzen eines anderen Cloud-Anbieters, müssen Sie Ihre Google Cloud-Projekt-ID und die entsprechenden Dienstkonto-Anmeldedaten direkt in der Cloud Logging-Bibliothek für Python angeben.

Sie können Anmeldeinformationen für Dienstkonten manuell erstellen und abrufen. Verwenden Sie beim Angeben des Felds Rolle die Rolle "Logautor". Weitere Informationen zu den IAM-Rollen finden Sie in der Anleitung zur Zugriffssteuerung.

Logs ansehen

Nach der Bereitstellung können Sie die Logs im Log-Explorer ansehen.

Zum Log-Explorer

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. Weitere Informationen zur Legacy-Operations-Suite von Google Cloud und zu den Kubernetes Monitoring-Lösungen der Operations-Suite von Google Cloud sowie zu deren Auswirkungen auf den Ressourcentyp finden Sie unter Zu Kubernetes Engine 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.

    1. 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.
    2. Löschen Sie den Inhalt, der im Filterfeld angezeigt wird.
    3. Klicken Sie auf Filter senden.

    Sie können die einzelnen Einträge prüfen, um Ihre Ressourcen zu identifizieren.

Weitere Informationen finden Sie unter Logs ansehen und Erweiterte Logabfragen.