Export über die Loganzeige

Auf dieser Seite wird erläutert, wie Sie Log-Einträge über die GCP Console exportieren. Sie können Logeinträge auch über die Stackdriver Logging API und das Befehlszeilentool gcloud logging exportieren.

Wenn Sie mit dem Exportieren von Logs in Logging nicht vertraut sind, finden Sie weitere Informationen in der Übersicht über Log-Exporte. Generell exportieren Sie Logs durch Erstellen einer oder mehrerer Senken, die einen Log-Filter und ein Exportziel enthalten. Neu in Stackdriver Logging empfangene Log-Einträge werden mit jeder Senke verglichen. Wenn ein Log-Eintrag mit dem Filter einer Senke übereinstimmt, wird er in das Exportziel kopiert.

Unter Exportierte Logs verwenden erfahren Sie, wie exportierte Logs formatiert und organisiert werden.

Erste Schritte

  1. Gehen Sie in der GCP Console zur Seite Stackdriver > Logging > Exporte:

    Zu Log-Exporte

  2. Wählen Sie oben auf der Seite ein vorhandenes GCP-Projekt aus. Sie finden die Liste der Logexporte in Ihrem GCP-Projekt.

    Im folgenden Screenshot ist ein Beispiel für die Seite Log exports (Logexporte) zu sehen, in der mehrere Logsenken bereits konfiguriert sind

Seite "Exporte"

Anstelle der oben dargestellten Liste wird die Meldung Es sind keine Log-Senken konfiguriert angezeigt, wenn Sie noch keine Log-Senken konfiguriert haben.

Vorbereitung

  • Projekt: Sie benötigen ein Google Cloud Platform-Projekt mit Logs, die Sie in der Loganzeige sehen können.

    Zum Erstellen, Löschen oder Ändern einer Senke muss Ihnen im Projekt die IAM-Rolle Inhaber oder Logging/Autor von Logkonfigurationen zugewiesen sein. Weitere Informationen finden Sie unter Berechtigungen und Rollen.

  • Zieldienst: Zum Exportieren von Logs registrieren Sie sich für den Dienst, in den Sie die Logs schreiben möchten: Cloud Storage, BigQuery oder Cloud Pub/Sub.

Benutzeroberfläche von Logexporte

Die Oberfläche von Log-Exporte enthält eine tabellarische Zusammenfassung der Exporte. Jede Tabellenzeile enthält Informationen zu einigen der in Übersicht über Log-Exporte beschriebenen Senken-Properties:

  • Name der Senke: Die Senken-ID im aktuellen Projekt.
  • Ziel: Das Ziel, in das die exportierten Logeinträge geschrieben werden.
  • Identität des Autors: Das Dienstkonto, das in Stackdriver Logging zum Schreiben von Logeinträgen an das Ziel verwendet wird. Dieses Dienstkonto benötigt Schreibberechtigungen für das Exportziel der Senke.

Jede Tabellenzeile hat ganz rechts ein Dreipunkt-Menü mit folgenden Optionen:

  • Senke bearbeiten: Öffnet das Fenster Export bearbeiten, in dem Sie die Parameter der Senke ändern können.
  • Senke löschen: Ermöglicht das Löschen der Senke und das Beenden des Logexports.
  • Filter anzeigen: Zeigt den Filter der Senke an. Wenn Sie auf Bearbeiten klicken, können Sie die Attribute oder den Filter der Senke ändern.

Über das Suchfilterfeld über der Tabelle können Sie Ihre Senken nach Text oder nach den Senken-Attributen Senkenname, Ziel und Identität des Autors filtern. Der folgende Screenshot zeigt zum Beispiel eine Suche nach dem Ziel bigquery und Optionen zum Verketten mit anderen Senkenattributen über das Argument ODER (UND ist der Standardwert):

Exportfilter

Die Daten können zusätzlich in ab- oder aufsteigender Reihenfolge sortiert werden, indem Sie dafür auf den jeweiligen Spaltennamen klicken. Am unteren Ende der Tabelle können Sie außerdem die Anzahl der Zeilen auswählen, die angezeigt werden sollen.

Senken erstellen

Um eine Exportsenke zu erstellen, klicken Sie oben auf der Seite Log-Exporte auf Export erstellen. Sie finden diese Schaltfläche auch oben auf der Seite "Log-Anzeige".

Wenn Ihrem Konto die Berechtigung zum Erstellen von Exporten für das Projekt fehlt, ist diese Schaltfläche deaktiviert. Weitere Informationen finden Sie im Abschnitt Vorbereitung.

Der folgende Screenshot zeigt das Feld Export bearbeiten mit einigen ausgefüllten Feldern:

Export konfigurieren

Um eine Senke zu erstellen, füllen Sie das Feld Export bearbeiten so aus:

  1. (Filter): Geben Sie einen erweiterten Logfilter ein. Der Filter muss nicht in Anführungszeichen gesetzt werden und Sie können mehrere Zeilen verwenden. Der anfängliche Filter wird durch die Logeinträge bestimmt, die angezeigt werden, wenn Sie auf Export erstellen klicken.

    Klicken Sie nach dem Bearbeiten des Filters immer unter dem Filterfeld auf Filter senden, um die übereinstimmenden Logeinträge anzuzeigen. Klicken Sie oben auf der Seite auf das Symbol Zu den neuesten Logs springen, um die neuesten Logs abzurufen.

    Wenn Sie die Logs über die einfache Anzeigeoberfläche auswählen möchten, verwenden Sie das ▾-Menü rechts neben dem Suchfilterfeld.

  2. Senkenname: Geben Sie die Kennzeichnung für die Senke ein.

  3. Senkendienst: Wählen Sie einen Zieldienst aus: Cloud Storage, Cloud Pub/Sub, BigQuery oder Benutzerdefiniertes Ziel.

    In Cloud Storage, BigQuery oder Cloud Pub/Sub muss noch ein benutzerdefiniertes Exportziel vorhanden sein. Sie können jedoch Logs an eine Senke in einem anderen Projekt senden.

  4. Senkenziel:

    1. Cloud Storage: Wählen oder erstellen Sie den spezifischen Bucket, der die exportierten Logs erhalten soll.
    2. Cloud Pub/Sub: Wählen oder erstellen Sie das spezifische Thema, das die exportierten Logs erhalten soll.
    3. BigQuery: Wählen Sie das spezifische Dataset aus, der die exportierten Logs erhalten soll, oder erstellen Sie es.
    4. Benutzerdefiniertes Ziel: Fügen Sie das Cloud Storage-, Cloud Pub/Sub- oder BigQuery-Projekt als String hinzu. Informationen zur Formatierung von Projektnamen finden Sie unter Senkeneigenschaften.
  5. Klicken Sie auf Senke aktualisieren, um die Senke zu erstellen.

    In Logging wird beim Erstellen der Senke versucht, zum Schreiben an das Ziel die Senkenberechtigung "Identität des Autors" zu gewähren. Wenn Sie an ein Ziel in einem Projekt exportieren, das nicht Inhaber Ihrer Logs ist, muss die Berechtigung von einem Administrator des neuen Ziels erteilt werden. Senden Sie dem Administrator die Autorenidentität der Senke. Diese ist auf der Seite Exporte zur Senke angegeben.

Der Export neuer Log-Einträge entsprechend der Senke beginnt. Log-Einträge für BigQuery oder Cloud Pub/Sub werden sofort an diese Exportziele gestreamt. Log-Einträge für Cloud Storage werden in Batches zusammengefasst und etwa jede Stunde gesendet. Weitere Informationen finden Sie unter Exportierte Logs verwenden.

Wenn in Logging beim Exportieren von Logs an das Exportziel Fehler auftreten, werden diese im Aktivitäten-Stream des Projekts angezeigt. Wählen Sie in der Google Cloud Platform Console oben auf der Startseite des Projekts die Option Aktivität aus. Informationen zur Diagnose gängiger Fehler finden Sie im Abschnitt zur Fehlerbehebung.

Senken aktualisieren

Um eine Senke zu aktualisieren, wählen Sie im Menü Mehr rechts neben dem Namen der Senke die Option Senke bearbeiten aus. Sie können die folgenden Parameter ändern:

  • Ziel
  • Filter

Andere Parameter der Senken ändern Sie mit der API-Methode projects.sinks.update.

Senken löschen

Um eine Senke zu löschen, wählen Sie diese auf der Seite Exporte aus und klicken oben auf der Seite auf Löschen. Sie können auch rechts neben dem Namen der Senke im Menü Mehr die Option Senke löschen auswählen.

Zielberechtigungen

In diesem Abschnitt wird beschrieben, wie Sie Logging die Berechtigung zum Schreiben exportierter Logs an das Exportziel der Senke gewähren können.

Wenn Sie eine Senke erstellen, wird in Logging ein neues Dienstkonto für die Senke erstellt. Dieses wird als unique-writer-identity bezeichnet. Sie können dieses Dienstkonto nicht direkt verwalten, da es Stackdriver Logging gehört und von diesem verwaltet wird. Das Dienstkonto wird gelöscht, wenn die Senke gelöscht wird.

Das Exportziel muss diesem Dienstkonto das Schreiben von Logeinträgen erlauben. Richten Sie diese Berechtigung mit den folgenden Schritten ein:

  1. Erstellen Sie die neue Senke in der GCP Console, der Befehlszeile gcloud logging oder der Logging API.

  2. Wenn Sie Ihre Senke in der GCP Console erstellt haben und mit der Rolle Inhaber Zugriff auf das Ziel haben, sollte Stackdriver Logging die erforderlichen Berechtigungen für Sie eingerichtet haben. In diesem Fall ist der Vorgang für Sie abgeschlossen. Andernfalls fahren Sie fort.

  3. Rufen Sie von der neuen Senke die Identität des Autors in Form einer E-Mail-Adresse ab:

    • In der GCP Console finden Sie die Identität des Autors in der Senkenliste auf der Seite "Exporte".
    • In der Logging API können Sie die Identität des Autors aus dem Objekt "LogSink" abrufen.
    • In gcloud logging sehen Sie die Identität des Autors, wenn Sie die Senken auflisten.
  4. Wenn Sie die Rolle Inhaber für das Ziel haben, fügen Sie dem Ziel das Dienstkonto so hinzu:

    • Wenn Sie Cloud Storage-Ziele verwenden, fügen Sie die Identität des Autors der Senke dem Bucket hinzu und weisen ihr die Rolle Storage-Objekt-Ersteller zu.
    • Wenn Sie BigQuery-Ziele verwenden, fügen Sie die Identität des Autors der Senke dem Dataset hinzu und weisen ihr die Rolle BigQuery-Dateneditor zu.
    • Wenn Sie Cloud Pub/Sub-Ziele verwenden, fügen Sie die Identität des Autors der Senke dem Thema hinzu und weisen ihr die Rolle Pub/Sub-Publisher zu.

    Damit ist die Autorisierung abgeschlossen.

  5. Wenn Sie nicht die Rolle Inhaber für das Exportziel haben, senden Sie den Namen des Dienstkontos für die Identität des Autors einem Nutzer mit dieser Rolle zu. Bitten Sie die betreffende Person, die vorangegangenen Schritte auszuführen, um dem Exportziel die Identität des Autors hinzuzufügen.

Verzögerungen bei der Autorisierung

Wenn beim Export eines Log-Eintrags durch eine Senke die erforderlichen Berechtigungen für das Exportziel nicht vorhanden sind, wird ein Fehler ausgegeben und der Log-Eintrag übersprungen. Dies wird bis zur Erteilung der Berechtigung fortgesetzt. Anschließend werden von der Senke neue Log-Einträge exportiert.

Zwischen dem Erstellen der Senke und dem Gewähren der Schreibberechtigung für das Exportziel mithilfe des neuen Dienstkontos der Senke kommt es zu einer Verzögerung, die nicht vermeidbar ist. Sie können die von der Senke wegen der Verzögerung ausgegebenen Fehlermeldungen ignorieren.

Vorteile und Einschränkungen

Die GCP Console bietet die folgenden Vorteile gegenüber der Verwendung der Logging API:

  • In der GCP Console sind alle Ihre Senken an einem Ort aufgeführt.
  • In der GCP Console sehen Sie vor dem Erstellen einer Senke, welche Logeinträge mit dem Senkenfilter übereinstimmen.
  • In der GCP Console können Sie Exportziele für die Senken erstellen und autorisieren.

Die GCP Console kann jedoch nur Senken in Projekten erstellen bzw. anzeigen. Informationen zum Erstellen von Senken in Organisationen, Ordnern oder Rechnungskonten finden Sie unter Zusammengefasste Exporte.

Fehlerbehebung

In diesem Abschnitt werden einige mögliche Fehler und unerwartete Ergebnisse und deren Lösung aufgeführt.

Von Senken gemeldete Fehler werden im Aktivitäten-Stream des Projekts oder einer anderen Ressource angezeigt, in der die Senke erstellt wurde. Weitere Informationen finden Sie im Aktivitäten-Stream auf der Startseite der Ressource in der GCP Console.

Allgemeine Probleme

Problem Ursache Lösung
Es werden nur neue Log-Einträge exportiert, aber keine älteren Log-Einträge. In Logging werden nur Log-Einträge exportiert, die nach der Einrichtung des Exports empfangen wurden. Verwenden Sie die API-Methode entries.list, um Ihre älteren Log-Einträge abzurufen und sie dann mithilfe der API des Zieldienstes in das Exportziel zu schreiben. Sie können nur Log-Einträge abrufen, die ihr Ablaufdatum in Stackdriver Logging noch nicht erreicht haben. Weitere Informationen finden Sie in Aufbewahrungsdauer von Logs.

Fehler beim Exportieren nach Cloud Storage

In der folgenden Tabelle sind die häufigsten Fehler aufgeführt, die beim Konfigurieren von Logging für den Log-Export nach Cloud Storage auftreten:

Fehler Ursache Lösung
Gemäß den Berechtigungen für den Bucket [YOUR_BUCKET] darf die Log-Gruppe keine neue Objekte erstellen. Die Autorenidentität der Senke verfügt nicht über die erforderlichen Berechtigungen für den Bucket. Fügen Sie dem Bucket die erforderlichen Berechtigungen hinzu oder geben Sie einen anderen Bucket für die Senke an. Weitere Informationen erhalten Sie im Abschnitt zu Zielberechtigungen.
Es ist kein Bucket namens [YOUR_BUCKET] vorhanden. Der Bucket-Name enthält möglicherweise einen Fehler oder der Bucket wurde gelöscht. Geben Sie den richtigen Ziel-Bucket-Namen für die Senke an.
Senke erfolgreich erstellt. Dem Ziel konnten jedoch nicht die richtigen Berechtigungen zugewiesen werden. Für das Zugriffssteuerungsmodell des Buckets wurde bei dessen Erstellung Berechtigungen einheitlich auf Bucket-Ebene festlegen (nur Bucket-Richtlinie) ausgewählt.

(Diese Fehlermeldung wird auch nach dem Einfügen des Dienstkontos weiterhin angezeigt.)
Wählen Sie während der Bucket-Erstellung das Zugriffssteuerungsmodell Berechtigungen auf Objekt- und Bucket-Ebene festlegen aus. Für vorhandene Buckets können Sie das Zugriffssteuerungsmodell in den ersten 90 Tagen nach der Bucket-Erstellung über den Tab Berechtigungen ändern.

Fehler beim Exportieren nach BigQuery

In der folgenden Tabelle sind die häufigsten Fehler aufgeführt, die beim Konfigurieren von Logging für den Log-Export nach BigQuery auftreten:

Fehler Ursache Lösung
Gemäß den Berechtigungen für das Dataset [YOUR_DATASET] darf die Loggruppe keine neue Tabellen erstellen. Die Identität des Autors der Senke verfügt nicht über die erforderlichen Berechtigungen für das Dataset. Fügen Sie dem Dataset die Berechtigung hinzu. Weitere Informationen erhalten Sie im Abschnitt zu Zielberechtigungen.
Es wurde kein Dataset namens [YOUR_DATASET] gefunden. Möglicherweise liegt ein Fehler im Ziel der Senke vor oder das Dataset wurde gelöscht. Erstellen Sie entweder das Dataset neu oder geben Sie ein anderes Ziel-Dataset für die Senke an.
Logs, die in die Tabelle [YOUR_TABLE] im Dataset [YOUR_DATASET] gestreamt wurden, entsprechen nicht dem Tabellenschema. Die zu exportierenden Logs sind nicht mit dem Schema der aktuellen Tabelle kompatibel. Achten Sie darauf, dass Ihre Log-Einträge dem Schema der Tabelle entsprechen. Ein häufiges Problem ist das Senden von Log-Einträgen mit verschiedenen Datentypen. Beispiel: Eines der Felder im Log-Eintrag ist eine ganze Zahl, während eine entsprechende Spalte im Schema einen Stringtyp hat. Der Aktivitäten-Stream enthält einen Link zu einem der ungültigen Log-Einträge. Nachdem Sie die Fehlerquelle beseitigt haben, können Sie Ihre aktuelle Tabelle umbenennen und Logging die Tabelle noch einmal erstellen lassen.
Das Einfügekontingent für tabellenbasiertes Streaming wurde für die Tabelle [YOUR_TABLE] im Dataset [YOUR_DATASET] überschritten. Es werden zu viele Log-Daten zu schnell exportiert. Die für das Log-Streaming geltenden Kontingente finden Sie unter BigQuery-Standardkontingente. Verringern Sie die Menge der Log-Daten, die von Ihrer Senke erzeugt werden. Sie können den Filter der Senke so aktualisieren, dass er mit weniger Log-Einträgen übereinstimmt, oder die sample()-Funktion verwenden.
An die partitionierte Tabelle [IHRE TABELLE] gestreamte Logs liegen außerhalb der zulässigen zeitlichen Grenzen. BigQuery akzeptiert keine Logs, die zu weit in der Vergangenheit oder in der Zukunft liegen. Logs außerhalb der zulässigen Zeitgrenzen können nicht mit Senken exportiert werden. Sie können diese Logs nach Cloud Storage exportieren und stattdessen einen BigQuery-Ladejob verwenden. Weitere Informationen finden Sie in der BigQuery-Dokumentation.
Logs können nicht in das Dataset [YOUR_DATASET] gestreamt werden, da dieser Vorgang laut einer entsprechenden Unternehmensrichtlinie unzulässig ist. Es existiert eine Organisationsrichtlinie, die Schreibvorgänge für das ausgewählte Dataset verhindert. Weitere Informationen zu Organisationsrichtlinien finden Sie in der Dokumentation. Ändern Sie Ihre Exportsenke und verwenden Sie ein konformes Dataset.

Fehler beim Exportieren von Logs nach Cloud Pub/Sub

In der folgenden Tabelle sind die häufigsten Fehler aufgeführt, die beim Konfigurieren von Logging für den Log-Export nach Cloud Pub/Sub auftreten:

Fehler Ursache Lösung
[ACCOUNT] benötigt für [PROJECT] Bearbeitungsberechtigungen, um in [TOPIC] zu veröffentlichen. Die Identität des Autors der Senke verfügt nicht über die erforderlichen Berechtigungen für das Thema. Fügen Sie dem Projekt die erforderlichen Berechtigungen hinzu. Weitere Informationen erhalten Sie im Abschnitt zu Zielberechtigungen.
Das Thema [TOPIC] existiert nicht. Möglicherweise haben Sie das für den Empfang Ihrer exportierten Logs konfigurierte Thema gelöscht. Erstellen Sie entweder das Thema mit demselben Namen noch einmal oder richten Sie in der Exportkonfiguration ein anderes Thema als Ziel für den Log-Export ein.

Weitere Informationen

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Stackdriver Logging