Logeinträge mit der gcloud CLI schreiben und abfragen
In diesem Dokument werden einige der Funktionen von Cloud Logging vorgestellt. Außerdem erfahren Sie, wie Sie Folgendes tun können:
- Logeinträge mit der Google Cloud CLI schreiben
- Logeinträge mit der gcloud CLI auflisten
- Logeinträge über die Logging API auflisten
- Logeinträge mit dem Log-Explorer aufrufen und abfragen
Hinweis
Sie benötigen ein Google Cloud-Projekt mit aktivierter Abrechnungsfunktion, um diese Kurzanleitung durchzuarbeiten. Wenn Sie kein Google Cloud-Projekt haben oder die Abrechnung für Ihr Google Cloud-Projekt nicht aktiviert ist, gehen Sie so vor:- 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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
Logeinträge mit der gcloud CLI schreiben
Logging unterstützt Logeinträge mit strukturierten und unstrukturierten Daten. Strukturierte Daten haben eine JSON-Datenstruktur, zum Beispiel {"weather": "partly cloudy"}
. Unstrukturierte Daten sind Strings, wie zum Beispiel "A simple entry"
.
In den nächsten Schritten wird beschrieben, wie Sie mit der gcloud CLI einen Logeintrag mit unstrukturierten bzw. strukturierten Daten schreiben können. Die gcloud CLI bietet eine Befehlszeile für die Cloud Logging API.
Schreiben Sie einen Logeintrag mit unstrukturierten Daten in das Log
my-test-log
und führen Sie den Befehlgcloud logging write
aus:gcloud logging write my-test-log "A simple entry."
Nach Verarbeitung des Befehls wird die folgende Meldung angezeigt:
Created log entry
.Logeintrag mit strukturierten Daten in das Log
my-test-log
schreiben:gcloud logging write --payload-type=json my-test-log '{ "message": "My second entry", "weather": "partly cloudy"}'
Zum Schreiben eines Logeintrags mit strukturierten Daten müssen Sie
--payload-type=json
angeben. Wenn Sie dieses Feld weglassen, interpretiert Logging die Nutzlast als unstrukturierte Daten.
Wenn das Log my-test-log
nicht vorhanden ist, wird es von Logging erstellt, sobald der Logeintrag empfangen wird.
Logeinträge mit der gcloud CLI auflisten
Sie können Logeinträge aus Logging abrufen und mithilfe der gcloud CLI anzeigen lassen. Führen Sie beispielsweise den folgenden Befehl aus, um die Logeinträge mit dem Ressourcentyp global
abzurufen und anzeigen zu lassen:
gcloud logging read "resource.type=global"
Das Ergebnis des Befehls sollte in etwa so aussehen:
---
insertId: jpj9zjf73t1mn
jsonPayload:
message: My second entry
weather: partly cloudy
logName: projects/myloggingproject/logs/my-test-log
receiveTimestamp: '2018-11-01T18:39:31.114507977Z'
resource:
labels:
project_id: myloggingproject
type: global
timestamp: '2018-11-01T18:39:31.114507977Z'
---
insertId: vd4m1if7h7u1a
logName: projects/myloggingproject/logs/my-test-log
receiveTimestamp: '2018-11-01T18:39:19.718100792Z'
resource:
labels:
project_id: myloggingproject
type: global
textPayload: A simple entry
timestamp: '2018-11-01T18:39:19.718100792Z'
Informationen zum Lesen von Protokollen finden Sie in der Referenzdokumentation zu gcloud logging read
.
Logeinträge mit APIs Explorer auflisten
Informationen zum Ausführen von Logging API-Methoden ohne Code finden Sie unter API Explorer verwenden. So rufen Sie eine Liste von Logeinträgen aus Stackdriver Logging auf:
Rufen Sie die API-Referenzseite für die API-Methode
entries.list
auf:Konfigurieren und ausführen des API-Befehls:
Ersetzen Sie PROJECT_ID im folgenden Text:
"resourceNames": [ "projects/PROJECT_ID" ], "filter": "resource.type=global", "orderBy": "timestamp desc"
Kopieren Sie den aktualisierten Text aus dem vorherigen Schritt und fügen Sie ihn in das Feld Anfragetext des APIs Explorer ein.
Klicken Sie auf Ausführen.
Die Methode gibt in etwa folgende Antwort zurück:
{ "entries": [ { "textPayload": "A simple entry", "insertId": "vd4m1if7h7u1a", "resource": { "type": "global", "labels": { "project_id": "myloggingproject" } }, "timestamp": "2018-11-01T18:39:19.718100792Z", "logName": "projects/myloggingproject/logs/my-test-log", "receiveTimestamp": "2018-11-01T18:39:19.718100792Z" }, { "insertId": "jpj9zjf73t1mn", "jsonPayload": { "message": "My second entry", "weather": "partly cloudy" }, "resource": { "type": "global", "labels": { "project_id": "myloggingproject" } }, "timestamp": "2018-11-01T18:39:31.114507977Z", "logName": "projects/myloggingproject/logs/my-test-log", "receiveTimestamp": "2018-11-01T18:39:31.114507977Z" } ] }
Logeinträge im Log-Explorer abfragen
Sie können sich Logeinträge in der Google Cloud Console mit dem Log-Explorer ansehen. In den meisten Google Cloud-Projekten werden eine große Anzahl von Protokollen gespeichert. Sie können bestimmte Protokolleinträge auswählen, indem Sie eine Abfrage schreiben.
So rufen Sie die Logeinträge auf, die Sie mit dem Log-Explorer erstellt haben:
-
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 Logging ist.
Achten Sie darauf, dass Ihr Google Cloud-Projekt in der Google Cloud-Navigationsleiste ausgewählt ist. Wählen Sie gegebenenfalls in der Drop-down-Liste für Google Cloud-Projekte Ihr Google Cloud-Projekt aus.
Wählen Sie im Menü Ressource die Option Global aus.
Wenn die Menüoption Global oder Ihre Logeinträge nicht angezeigt werden, warten Sie einige Minuten und aktualisieren Sie dann die Seite. Der Empfang von Logeinträgen durch Logging kann einige Minuten dauern.
Klicken Sie auf das chevron_right Menü, um die Details eines Logeintrags aufzurufen.
Die Daten des ersten Logeintrags werden in
textPayload
gespeichert. Der zweite Logeintrag enthält strukturierte Daten, die injsonPayload
gespeichert sind. Die strukturierte Nutzlast enthält die Schlüsselmessage
undweather
.
Informationen zum Datenformat von Logeinträgen finden Sie unter LogEntry
.
Logeinträge im Log-Explorer abfragen
Sie können Logeinträge mit dem Abfrageeditor und bei strukturierten Logs anhand des Schlüssels oder des Werts abfragen. So können Sie beispielsweise alle Logeinträge anzeigen lassen, die den Text simple
enthalten:
-
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 Logging ist.
Wählen Sie im Menü Ressource die Option Global aus.
Geben Sie im Abfrageeditor den String
simple
in Anführungszeichen ein. In der Loganzeige wird nur der LogeintragA simple entry.
angezeigt.Nachdem Sie das Log aufgerufen haben, entfernen Sie den hinzugefügten Abfragestring und klicken auf Abfrage ausführen. Beide Log-Einträge werden wieder in der Anzeige dargestellt.
So können Sie alle Logeinträge mit strukturierten Daten aufrufen, die den Schlüssel weather
haben, wobei das Feld value
den Wert partly
enthält:
Der Abfrageeditor enthält die Zeile
resource.type="global"
. Geben Sie den folgenden Befehl ein:jsonPayload.weather:partly
Klicken Sie auf Abfrage ausführen. Das Ergebnis ist der einzelne Logeintrag
My second entry
:
Der Log-Explorer bietet auch gespeicherte, vorgeschlagene und aktuelle Abfragen. Weitere Informationen zu Abfragen finden Sie unter Abfragen im Log-Explorer erstellen.
Beispielabfragen finden Sie unter Beispielabfragen mit dem Log-Explorer.
Fehlerbehebung
Schreibfehler und unbekannte Feldnamen führen dazu, dass Befehle von der gcloud CLI Fehlermeldungen über ein ungültiges Argument zurückgeben. Wenn Sie beispielsweise den Punkt in
resource.type
vergessen, führt dies zu folgendem Fehler:ERROR: (gcloud.logging.read) INVALID_ARGUMENT: Field not found: 'resourcetype'.
Wenn Cloud Logging nicht die erforderlichen Zugriffsberechtigungen erteilt wurden, werden Befehle von der gcloud CLI mit der Meldung Berechtigung verweigert zurückgegeben. Beispiel: Wenn eine Compute Engine-VM-Instanz mit den Standard-API-Einstellungen konfiguriert ist, wird der Befehl
list
mit einem Fehler wegen verweigerter Berechtigung abgeschlossen:ERROR: (gcloud.logging.read) PERMISSION_DENIED: Request had insufficient authentication scopes.
Ändern Sie zur Behebung dieses Fehlers die VM-Instanzberechtigungen in Compute Engine und erteilen Sie Cloud Logging Leseberechtigung. Gehen Sie dazu so vor:
- Gehen Sie zur Seite VM-Instanzdetails Ihrer VM-Instanz. Klicken Sie auf Beenden. Es kann ein bis zwei Minuten dauern, bis der Vorgang abgeschlossen ist.
- Klicken Sie auf Bearbeiten, um die Konfiguration zu ändern.
- Suchen Sie nach dem Header Zugriffsbereiche für Cloud API und klicken Sie auf Details, um sich die Einstellungen für jede API anzeigen zu lassen. Ändern Sie den Eintrag für die Cloud Logging API zu Vollständiger Zugriff. Klicken Sie dann auf Speichern.
- Klicken Sie auf Starten, um die VM-Instanz neu zu starten. Nach wenigen Augenblicken ist die VM einsatzbereit.
Wenn APIs Explorer Ihren Befehl nicht ausführen kann oder eine zusätzliche Autorisierung erforderlich ist, wird eine Meldung oder ein Fehlercode angezeigt:
- Antwortcode 200 und keine Einträge: Wenn die Nachricht
nextPageToken
angezeigt wird, bedeutet dies, dass APIs Explorer nicht ausreichend Zeit hatte, die Suche abzuschließen. Fügen Sie der Anfrage einenpageToken
hinzu, stellen Sie diesen auf denselben Wert ein wie der desnextPageToken
des Schlüssels und führen Sie dann den Befehl noch einmal aus. - Antwortcode 400: Der Abfragewert ist ungültig. Wenn Sie zum Beispiel
gloobal
stattglobal
schreiben, wird die MeldungUnsupported resource type: gloobal
zurückgegeben. - Antwortcode 404: Die Projekt-ID ist ungültig. Überprüfen Sie die Schreibweise der Projekt-ID.
- Sie werden möglicherweise aufgefordert, sich in Ihrem Google Cloud-Projekt anzumelden und APIs Explorer Zugriff auf Ihr Konto zu gewähren.
- Antwortcode 200 und keine Einträge: Wenn die Nachricht
Bereinigen
Löschen Sie das Google Cloud-Projekt mit den Ressourcen, damit Ihrem Google Cloud-Konto die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden.
(Optional) Führen Sie den folgenden
gcloud
-Befehl aus, um die erstellten Logeinträge zu löschen:gcloud logging logs delete my-test-log
Wenn Sie Ihre Logeinträge nicht löschen, verfallen sie und werden entfernt. Informationen zur Aufbewahrung finden Sie unter Kontingente und Limits.
Nächste Schritte
- Ausführliche Informationen zur Befehlszeilenschnittstelle von Logging finden Sie auf den Referenzseiten für die Befehlsgruppe
gcloud logging
. - Dokumentation zur Logging API finden Sie unter Cloud Logging API.
- Weitere Informationen zum Log-Explorer finden Sie unter Log-Explorer verwenden.
- Informationen zum Erfassen von Logeinträgen aus VM-Instanzen in Logging finden Sie unter Google Cloud Observability-Agents.