Sie können Logs von Python-Anwendungen in Cloud Logging schreiben indem Sie den standardmäßigen Python-Protokollierungs-Handler verwenden oder die Methode Cloud Logging API-Clientbibliothek für Python direkt verwenden. Wenn Sie den standardmäßigen Python-Protokollierungs-Handler verwenden, müssen Sie eine Cloud Logging-Handler zum Python-Root-Handler hinzufügen. Dieses Dokument veranschaulicht diesen Ansatz.
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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Logging API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Logging API.
- Bereiten Sie Ihre Umgebung für die Python-Entwicklung vor.
Bibliothek installieren
Informationen zum Installieren der Cloud Logging-Bibliothek für Python finden Sie unter Installieren Sie die Clientbibliothek für Python. Mit dieser Bibliothek können Sie einen Cloud Logging-Handler an den Standard- Python-Root-Handler. Sie können diese Bibliothek auch verwenden, um API-Anfragen an Cloud Logging zu senden.
Weitere Informationen zur Installation erhalten Sie in der Dokumentation zur Cloud Logging-Bibliothek für Python. Probleme können Sie über die Problemverfolgung melden.
Logs mit dem standardmäßigen Python-Logging-Handler schreiben
So senden Sie alle Logeinträge, die mit dem standardmäßigen Python-Root-Handler geschrieben werden, an Cloud Logging:
Hängen Sie den Cloud Logging-Handler an den Python-Root-Logging an, indem Sie folgenden Befehl aufrufen: die Methode
setup_logging
:Informationen zum Konfigurieren des Logging-Handlers finden Sie unter Integration mit der Logging-Standardbibliothek
Informationen zu den Parametern der Funktion
setup_logging
finden Sie im Cloud Logging-Client untersetup_logging
. Auf dieser Seite wird beispielsweise beschrieben, wie Sie Logging-Ebenen konfigurieren.Logdaten mit dem Python-Root-Logger schreiben:
Standardmäßig werden alle Logs, die von Ihrer Anwendung geschrieben werden und deren Schweregrad mindestens
INFO
ist, an Cloud Logging gesendet.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 im Ressourcentyp
Global
unter dempython
-Log aufgeführt.
Protokolle mit der Cloud Logging-Clientbibliothek schreiben
Informationen zur direkten Verwendung der Cloud Logging-Clientbibliothek für Python finden Sie unter Cloud Logging-Clientbibliotheken.
In Google Cloud ausführen
Damit eine Anwendung Protokolle mit der Cloud Logging-Bibliothek für Python schreiben kann, muss das Dienstkonto für die zugrunde liegende Ressource die IAM-Rolle Logautor (roles/logging.logWriter
) haben.
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 die Workload Identity-Föderation für GKE mit diesem Standarddienstkonto verwenden, um Arbeitslasten Zugriff auf bestimmte Google Cloud APIs zu gewähren, ist keine zusätzliche Konfiguration erforderlich.
Wenn Sie jedoch die Identitätsföderation von Arbeitslasten für GKE mit einem
benutzerdefinierten IAM-Dienstkontos erstellen und dann prüfen, ob der benutzerdefinierte Dienst
Konto hat die Rolle des Logautors (roles/logging.logWriter
).
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. 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. 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 Python 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 an die Cloud Logging-Bibliothek für Python übergeben.
So gehen Sie bei vorhandenen Dienstkonten vor:
Gewähren Sie dem Dienstkonto die IAM-Rolle Logautor (
roles/logging.logWriter
). Weitere Informationen zu IAM finden Sie unter Zugriffssteuerung.
Wenn Sie kein Dienstkonto haben, erstellen Sie eins. Weitere Informationen finden Sie unter Dienstkonten erstellen.
Allgemeine Informationen zu den Authentifizierungsmethoden finden Sie unter Terminologie: Dienstkonten.
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. Weitere Informationen zu den Lösungen mit Legacy Google Cloud Observability und Google Cloud Observability Kubernetes Monitoring und den jeweiligen Auswirkungen auf den Ressourcentyp finden Sie unter 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.