Logeinträge mit der gcloud CLI schreiben und abfragen

In diesem Dokument werden einige der Funktionen von Cloud Logging vorgestellt. Sie erfahren, 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

Hinweise

Sie benötigen ein Trusted Cloud -Projekt mit aktivierter Abrechnung, um diese Kurzanleitung durchzuarbeiten. Wenn Sie kein Trusted Cloud -Projekt haben oder die Abrechnung für Ihr Trusted Cloud -Projekt nicht aktiviert ist, gehen Sie so vor:

  1. Install the Google Cloud CLI.

  2. Konfigurieren Sie die gcloud CLI für die Verwendung Ihrer föderierten Identität.

    Weitere Informationen finden Sie unter Mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  3. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  4. Create or select a Trusted Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Trusted Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Trusted Cloud project you are creating.

    • Select the Trusted Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Trusted Cloud project name.

  5. Verify that billing is enabled for your Trusted Cloud project.

  6. 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.

    1. Wenn Sie einen Logeintrag mit unstrukturierten Daten in das Log my-test-log schreiben möchten, führen Sie den Befehl gcloud logging write aus:

      gcloud logging write my-test-log "A simple entry."
      

      Nach Verarbeitung des Befehls wird die folgende Meldung angezeigt: Created log entry.

    2. 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 Logs finden Sie in der gcloud logging read-Referenzdokumentation.

    Logeinträge im Log-Explorer abfragen

    Wenn Sie Logeinträge in der Trusted Cloud -Konsole ansehen möchten, können Sie den Log-Explorer verwenden. In den meisten Trusted Cloud Projekten werden viele Logs gespeichert. Sie können bestimmte Logeinträge auswählen, indem Sie eine Abfrage schreiben.

    So rufen Sie die Logeinträge auf, die Sie mit dem Log-Explorer geschrieben haben:

    1. Rufen Sie in der Trusted Cloud Console die Seite Log-Explorer auf:

      Zum Log-Explorer

      Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Logging ist.

      Achten Sie darauf, dass Ihr Trusted Cloud Projekt in der Trusted Cloud by S3NSNavigationsleiste ausgewählt ist. Wählen Sie bei Bedarf Ihr Trusted Cloud Projekt über die Drop-down-Liste Trusted Cloud aus.

    2. 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.

    3. Klicken Sie auf das Menü, um die Details eines Logeintrags aufzurufen.

      Die Daten des ersten Logeintrags werden in textPayload gespeichert. Der zweite Logeintrag enthält strukturierte Daten, die in jsonPayload gespeichert sind. Die strukturierte Nutzlast enthält die Schlüssel message und weather.

    Informationen zum Datenformat von Logeinträgen finden Sie unter LogEntry.

    Logeinträge im Log-Explorer abfragen

    Sie können Logeinträge mit dem Abfrageeditor abfragen. Bei strukturierten Logs ist das auch anhand des Schlüssels oder des Werts möglich. So können Sie beispielsweise alle Logeinträge anzeigen lassen, die den Text simple enthalten:

    1. Rufen Sie in der Trusted Cloud Console die Seite Log-Explorer auf:

      Zum Log-Explorer

      Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Logging ist.

    2. Wählen Sie im Menü Ressource die Option Global aus.

    3. Geben Sie im Abfrageeditor den String simple in Anführungszeichen ein. In der Loganzeige wird nur der Logeintrag A simple entry. angezeigt.

    4. 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:

    1. Der Abfrageeditor enthält die Zeile resource.type="global". Geben Sie den folgenden Befehl ein:

      jsonPayload.weather:partly
      
    2. 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 der gcloud CLI mit Ungültiges Argument-Meldungen abgeschlossen werden. 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 gcloud CLI-Befehle 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:

      1. 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.
      2. Klicken Sie auf Bearbeiten, um die Konfiguration zu ändern.
      3. 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.
      4. Klicken Sie auf Starten, um die VM-Instanz neu zu starten. Nach wenigen Augenblicken ist die VM einsatzbereit.

    Bereinigen

    Löschen Sie das Trusted Cloud -Projekt zusammen mit den Ressourcen, damit Ihrem Trusted Cloud -Konto die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden.

    1. (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.