Logs an unterstützte Ziele weiterleiten

In diesem Dokument wird erläutert, wie Sie Senken erstellen und verwalten, um Logeinträge an unterstützte Ziele weiterzuleiten.

Cloud Logging erstellt und verwaltet automatisch ein Dienstkonto für Logsenken, die Logs an ein Ziel weiterleiten, das kein Log-Bucket im aktuellen Google Cloud-Projekt ist. Sie können ein Dienstkonto erstellen und verwalten, das von Senken in mehreren Projekten verwendet wird. Weitere Informationen finden Sie unter Logsenken mit nutzerverwalteten Dienstkonten konfigurieren.

Überblick

Senken steuern, wie Cloud Logging Logs weiterleitet. Mithilfe von Senken können Sie einige oder alle Logs an folgende Ziele weiterleiten:

  • Cloud Logging-Bucket: Stellt Speicher in Cloud Logging bereit. In einem Log-Bucket können Logeinträge gespeichert werden, die von mehreren Google Cloud-Projekten empfangen werden. Sie können Ihre Cloud Logging-Daten mit anderen Daten kombinieren. Dazu aktualisieren Sie einen Log-Bucket zur Verwendung von Loganalysen und erstellen dann ein verknüpftes BigQuery-Dataset. Informationen zum Aufrufen von Logeinträgen, die in Log-Buckets gespeichert sind, finden Sie unter Logs abfragen und ansehen und An Cloud Logging-Buckets weitergeleitete Logs ansehen.
  • BigQuery-Dataset: zum Speichern von Logeinträgen in BigQuery-Datasets. Sie können Big-Data-Analysefunktionen auf die gespeicherten Logeinträge anwenden. Wenn Sie Ihre Cloud Logging-Daten mit anderen Datenquellen kombinieren möchten, sollten Sie Ihre Log-Buckets auf Loganalysen aktualisieren und dann ein verknüpftes BigQuery-Dataset erstellen. Weitere Informationen zum Aufrufen von an BigQuery weitergeleiteten Logeinträgen finden Sie unter An BigQuery weitergeleitete Logs ansehen.
  • Cloud Storage-Bucket: Bietet die Speicherung von Logeinträgen in Cloud Storage. Logeinträge werden als JSON-Dateien gespeichert. Weitere Informationen zum Aufrufen von Logeinträgen, die an Cloud Storage weitergeleitet wurden, finden Sie unter An Cloud Storage weitergeleitete Logs ansehen.
  • Pub/Sub-Thema: Bietet Unterstützung für Integrationen von Drittanbietern. Logeinträge werden als JSON formatiert und dann an ein Pub/Sub-Thema weitergeleitet. Informationen zum Aufrufen von an Pub/Sub weitergeleiteten Logeinträgen finden Sie unter An Pub/Sub weitergeleitete Logs ansehen.
  • Splunk: Bietet Unterstützung für Splunk. Sie müssen Ihre Logeinträge an ein Pub/Sub-Thema weiterleiten und dieses Thema dann mit Splunk abonnieren.
  • Google Cloud-Projekt: Logeinträge an ein anderes Google Cloud-Projekt weiterleiten. Wenn Sie Logeinträge an ein anderes Google Cloud-Projekt weiterleiten, empfängt der Logrouter des Zielprojekts die Logeinträge und verarbeitet sie. Die Senken im Zielprojekt bestimmen, wie die empfangenen Logeinträge weitergeleitet werden. Error Reporting kann Logeinträge analysieren, wenn sie vom Zielprojekt an einen Log-Bucket des Zielprojekts weitergeleitet werden.
  • Weitere Ressourcen: Leiten Sie Ihre Logeinträge an ein unterstütztes Ziel weiter, das sich in einem anderen Projekt befindet. Weitere Informationen zu den zu verwendenden Pfaden finden Sie unter Zielpfadformate.

Senken gehören zu einer bestimmten Google Cloud-Ressource: Google Cloud-Projekte, Rechnungskonten, Ordner und Organisationen. Wenn die Ressource einen Logeintrag empfängt, leitet sie den Logeintrag gemäß den in dieser Ressource enthaltenen Senken weiter. Der Logeintrag wird an das Ziel gesendet, das der jeweiligen übereinstimmenden Senke zugeordnet ist.

Eine aggregierte Senke ist ein Senkentyp, der Logeinträge aus den in einer Organisation oder einem Ordner enthaltenen Google Cloud-Ressourcen kombiniert und weiterleitet. Eine Anleitung finden Sie unter Logs auf Organisationsebene sortieren und an unterstützte Ziele weiterleiten.

Zum Erstellen und Verwalten von Senken können Sie die Google Cloud Console, die Cloud Logging API und die Google Cloud CLI verwenden. Die Verwendung der Google Cloud Console bietet gegenüber den anderen Methoden folgende Vorteile:

  • Sie können alle Ihre Spülen an einem Ort ansehen und verwalten.
  • Vorschau der Logeinträge ansehen, die dem Filter der Senke entsprechen, bevor Sie die Senke erstellen
  • Senkenziele für Senken erstellen und autorisieren

Hinweise

In der Anleitung in diesem Dokument wird das Erstellen und Verwalten von Senken auf Google Cloud-Projektebene beschrieben. Sie können auch nicht aggregierte Senken für Rechnungskonten, Ordner und Organisationen erstellen.

Gehen Sie dazu so vor:

  1. Sie benötigen ein Google Cloud-Projekt mit Logs, die Sie im Log-Explorer sehen können.

  2. Cloud Logging API aktivieren.

    Aktivieren Sie die API

  3. Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Autor von Logkonfigurationen (roles/logging.configWriter) für Ihr Projekt zu gewähren, damit Sie die Berechtigungen erhalten, die Sie zum Erstellen, Ändern oder Löschen einer Senke benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

    Möglicherweise können Sie die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

    Informationen zum Zuweisen von IAM-Rollen finden Sie in der Anleitung zur Zugriffssteuerung in Logging.

  4. Sie haben eine Ressource in einem unterstützten Ziel oder die Erlaubnis, eine Ressource zu erstellen.

    Damit Logs an ein Ziel weitergeleitet werden können, muss das Ziel vorhanden sein, bevor Sie die Senke erstellen. Sie können das Ziel in jedem Google Cloud-Projekt in jeder Organisation erstellen.

    Wenn Sie Ihre Logs an andere Ziele weiterleiten, können einige Einschränkungen gelten. Weitere Informationen finden Sie unter Zieleinschränkungen.

Senke erstellen

Nachfolgend finden Sie eine Anleitung zum Erstellen einer Senke in einem Google Cloud-Projekt. Anstelle eines Google Cloud-Projekts können Sie ein Rechnungskonto, einen Ordner oder eine Organisation angeben.

Sie können bis zu 200 Senken pro Google Cloud-Projekt erstellen.

Prüfen Sie nach dem Erstellen der Senke, ob Logging die erforderlichen Berechtigungen zum Schreiben von Logs in das Senkenziel hat. Weitere Informationen finden Sie unter Zielberechtigungen festlegen.

So erstellen Sie eine Senke:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Logrouter auf:

    Zum Logrouter

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

  2. Wählen Sie ein vorhandenes Google Cloud-Projekt aus.

  3. Wählen Sie Senke erstellen aus.

  4. Geben Sie im Bereich Senkendetails die folgenden Details ein:

    • Senkenname: Geben Sie eine Kennzeichnung für die Senke an. Beachten Sie, dass Sie die Senke nach deren Erstellung nicht mehr umbenennen, aber löschen und eine neue erstellen können.

    • Senkenbeschreibung (optional): Beschreiben Sie den Zweck oder den Anwendungsfall für die Senke.

  5. Wählen Sie im Bereich Senkenziel im Menü Senkendienst auswählen den Senkendienst und das Ziel aus.

    1. Wählen Sie eine der folgenden Optionen aus, um Logs an einen Dienst weiterzuleiten, der sich im selben Google Cloud-Projekt befindet:

      • Cloud Logging-Bucket: Wählen Sie einen Logging-Bucket aus oder erstellen Sie einen.
      • BigQuery-Tabelle: Wählen Sie das spezifische Dataset aus, das die weitergeleiteten Logs erhalten soll, oder erstellen Sie es. Sie können auch partitionierte Tabellen verwenden.
      • Cloud Storage-Bucket: Wählen Sie den spezifischen Cloud Storage-Bucket aus, der die weitergeleiteten Logs erhalten soll, oder erstellen Sie ihn.
      • Pub/Sub-Thema: Wählen oder erstellen Sie das spezifische Thema, das die weitergeleiteten Logs erhalten soll.
      • Splunk Wählen Sie das Pub/Sub-Thema für den Splunk-Dienst aus.
      • Google Cloud-Projekt: Wählen oder erstellen Sie das Google Cloud-Projekt, das die weitergeleiteten Logs erhalten soll.
      • Andere Ressource: Wählen Sie diese Option aus, um Ihre Logeinträge an ein unterstütztes Ziel weiterzuleiten, das sich in einem anderen Projekt befindet. Informationen zum zu verwendenden Pfad finden Sie unter Zielpfadformate.
  6. Führen Sie im Bereich Logs auswählen, die in der Senke enthalten sein sollen die folgenden Schritte aus:

    1. Geben Sie im Feld Einschlussfilter erstellen einen Filterausdruck ein, der den einzuschließenden Logeinträgen entspricht. Weitere Informationen zur Syntax für das Schreiben von Filtern finden Sie unter Logging-Abfragesprache.

      Wenn Sie keinen Filter festlegen, werden alle Logs der ausgewählten Ressource an das Ziel weitergeleitet.

      Sie können beispielsweise einen Filter erstellen, um alle Datenzugriffslogs an einen einzelnen Logging-Bucket weiterzuleiten. Dieser Filter sieht in etwa so aus:

      log_id("cloudaudit.googleapis.com/data_access") OR log_id("externalaudit.googleapis.com/data_access")
      

      Beachten Sie, dass ein Filter nicht länger als 20.000 Zeichen sein darf.

    2. Wählen Sie Vorschau von Logs aus, um zu prüfen, ob Sie den richtigen Filter eingegeben haben. Dadurch wird der Log-Explorer in einem neuen Tab geöffnet, auf dem der Filter bereits ausgefüllt ist.

  7. (Optional) Führen Sie im Bereich Logs auswählen, die aus der Senke herausgefiltert werden sollen die folgenden Schritte aus:

    1. Geben Sie in das Feld Name des Ausschlussfilters einen Namen ein.

    2. Geben Sie im Abschnitt Ausschlussfilter erstellen einen Filterausdruck ein, der den Logeinträgen entspricht, die Sie ausschließen möchten. Mit der Funktion sample können Sie auch einen Teil der Logeinträge auswählen, die ausgeschlossen werden sollen.

    Sie können bis zu 50 Ausschlussfilter pro Senke erstellen. Beachten Sie, dass ein Filter nicht länger als 20.000 Zeichen sein darf.

  8. Wählen Sie Senke erstellen aus.

API

  1. Verwenden Sie zum Erstellen einer Logging-Senke in Ihrem Google Cloud-Projekt projects.sinks.create in der Logging API. Geben Sie im LogSink die entsprechenden erforderlichen Werte im Methodenanfragetext an:

    • name: Eine Kennung für die Senke. Nachdem Sie die Senke erstellt haben, können Sie die Senke nicht umbenennen, sondern sie löschen und eine neue Senke erstellen.
    • destination: Der Dienst und das Ziel, an den die Logs weitergeleitet werden sollen. Wenn Sie Logs an ein anderes Projekt oder an ein Ziel weiterleiten möchten, das sich in einem anderen Projekt befindet, geben Sie im Feld destination den entsprechenden Pfad an, wie unter Zielpfadformate beschrieben.

      Wenn das Senkenziel beispielsweise ein BigQuery-Dataset ist, sieht destination so aus:

      bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
      
  2. Geben Sie im LogSink die entsprechenden optionalen Informationen an:

    • filter: Legen Sie das Attribut filter so fest, dass es den Logeinträgen entspricht, die Sie in die Senke aufnehmen möchten. Wenn Sie keinen Filter festlegen, werden alle Logs aus Ihrem Google Cloud-Projekt an das Ziel weitergeleitet. Beachten Sie, dass ein Filter nicht länger als 20.000 Zeichen sein darf.
    • exclusions: Legen Sie dieses Attribut so fest, dass es den Logeinträgen entspricht, die Sie von der Senke ausschließen möchten. Mit der Funktion sample können Sie auch einen Teil der Logeinträge auswählen, die ausgeschlossen werden sollen. Sie können bis zu 50 Ausschlussfilter pro Senke erstellen.
    • description: Legen Sie dieses Attribut fest, um den Zweck oder den Anwendungsfall für die Senke zu beschreiben.
  3. Rufen Sie projects.sinks.create auf, um die Senke zu erstellen.

  4. Wenn die API-Antwort einen JSON-Schlüssel mit dem Label "writerIdentity" enthält, gewähren Sie dem Dienstkonto der Senke die Berechtigung zum Schreiben in das Senkenziel. Weitere Informationen finden Sie unter Zielberechtigungen festlegen.

    Sie müssen keine Zielberechtigungen festlegen, wenn die API-Antwort keinen JSON-Schlüssel mit dem Label "writerIdentity" enthält.

Weitere Informationen zum Erstellen von Senken mit der Logging API finden Sie in der LogSink.

gcloud

Führen Sie den folgenden gcloud logging sinks create Befehl aus, um eine Senke zu erstellen:

Geben Sie die entsprechenden Werte für die Variablen im Befehl wie folgt an:

  • SINK_NAME: Eine Kennung für die Senke. Nachdem Sie die Senke erstellt haben, können Sie die Senke nicht umbenennen, sondern sie löschen und eine neue Senke erstellen.
  • SINK_DESTINATION: Der Dienst und das Ziel, an den die Logs weitergeleitet werden sollen. Wenn Sie Logs an ein anderes Projekt oder an ein Ziel weiterleiten möchten, das sich in einem anderen Projekt befindet, legen Sie für SINK_DESTINATION den entsprechenden Pfad fest, wie unter Zielpfadformate beschrieben.

    Wenn das Senkenziel beispielsweise ein BigQuery-Dataset ist, sieht SINK_DESTINATION so aus:

    bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
    
  • OPTIONAL_FLAGS enthält die folgenden Flags:

    • --log-filter: Verwenden Sie dieses Flag, um einen Filter festzulegen, der den Logeinträgen entspricht, die Sie in die Senke aufnehmen möchten. Wenn Sie keinen Filter festlegen, werden alle Logs aus Ihrem Google Cloud-Projekt an das Ziel weitergeleitet.
    • --exclusion: Verwenden Sie dieses Flag, um einen Ausschlussfilter für Logeinträge festzulegen, die Sie aus der Senke ausschließen möchten. Mit der Funktion sample können Sie auch einen Teil der Logeinträge auswählen, die ausgeschlossen werden sollen. Dieses Flag kann wiederholt werden. Sie können bis zu 50 Ausschlussfilter pro Senke erstellen.
    • --description: Verwenden Sie dieses Flag, um den Zweck oder Anwendungsfall der Senke zu beschreiben.
gcloud logging sinks create SINK_NAME SINK_DESTINATION OPTIONAL_FLAGS

Wenn Sie beispielsweise eine Senke in einem Logging-Bucket erstellen möchten, könnte der Befehl so aussehen:

gcloud logging sinks create my-sink logging.googleapis.com/projects/myproject123/locations/global/buckets/my-bucket \
  --log-filter='logName="projects/myproject123/logs/matched"' --description="My first sink"

Weitere Informationen zum Erstellen von Senken mit der Google Cloud CLI, einschließlich weiterer Flags und Beispiele, finden Sie in der gcloud logging sinks-Referenz.

Es kann mehrere Stunden dauern, bis neue Logsenken für Cloud Storage-Buckets mit dem Routing von Logs beginnen. Senken für Cloud Storage werden stündlich verarbeitet, während andere Zieltypen in Echtzeit verarbeitet werden.

Das Schema für BigQuery-Datasets wird nicht von Senken definiert. Stattdessen bestimmt der erste von BigQuery empfangene Logeintrag das Schema für die Zieltabelle. Weitere Informationen finden Sie unter BigQuery-Schema für weitergeleitete Logs.

Weitere Informationen zum Aufrufen von Logs in den Senkenzielen finden Sie unter An Cloud Logging-Buckets weitergeleitete Logs ansehen.

Nachdem Sie die Senke erstellt haben, können Sie die Anzahl und das Umfang der empfangenen Logeinträge mit den logging.googleapis.com/exports/-Messwerten einsehen.

Wenn Sie Fehlerbenachrichtigungen erhalten, lesen Sie die Informationen unter Fehlerbehebung bei Routing und Senken.

Geben Sie keine vertraulichen Informationen in Senkenfilter ein. Senkenfilter werden wie Dienstdaten behandelt.

Zielpfadformate

Beim Routing an ein Ziel, das sich in einem anderen Projekt befindet, müssen Sie die Informationen zum Logging-, BigQuery-, Cloud Storage- oder Pub/Sub-Dienst und zum Ziel angeben:

  • Wenn Sie Logeinträge an einen Cloud Logging-Log-Bucket weiterleiten möchten, der sich in einem anderen Google Cloud-Projekt befindet, wird das folgende Senkenziel verwendet:

    logging.googleapis.com/projects/DESTINATION_PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
    
  • Zum Weiterleiten von Logeinträgen an ein anderes Google Cloud-Projekt lautet der Zielpfad für die Senke so:

    logging.googleapis.com/projects/DESTINATION_PROJECT_ID
    
  • Zum Weiterleiten von Logeinträgen an ein BigQuery-Dataset lautet das Senkenziel:

    bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
    
  • Zum Weiterleiten von Logeinträgen an einen Cloud Storage-Bucket lautet das Senkenziel:

    storage.googleapis.com/BUCKET_NAME
    
  • Zum Weiterleiten von Logeinträgen an ein Pub/Sub-Thema ist das Senkenziel:

    pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
    

Senken verwalten

Nachdem die Senken erstellt wurden, können Sie folgende Aktionen ausführen:

  • Senkendetails ansehen
  • Senke aktualisieren
  • Senke deaktivieren
  • Senke löschen
  • Fehler in Senke beheben
  • Volumen und Fehlerraten des Senkenlogs ansehen

Beachten Sie Folgendes, bevor Sie eine Senke löschen:

  • Sie können die _Default- und _Required-Senken nicht löschen, aber Sie können _Default-Senken deaktivieren, um das Routing von Logs an _Default-Logging-Buckets zu beenden.
  • Nachdem eine Senke gelöscht wurde, werden keine Logeinträge mehr weitergeleitet.
  • Wenn die Senke ein dediziertes Dienstkonto hat, wird beim Löschen dieser Senke auch das Dienstkonto gelöscht. Senken, die vor dem 22. Mai 2023 erstellt wurden, haben dedizierte Dienstkonten. Senken, die am oder nach dem 22. Mai 2023 erstellt wurden, haben ein gemeinsames Dienstkonto. Durch das Löschen der Senke wird das freigegebene Dienstkonto nicht gelöscht.

Es kann einige Minuten dauern, bis alle an einer Senke vorgenommenen Änderungen wirksam werden.

Nachfolgend finden Sie eine Anleitung zum Verwalten einer Senke in einem Google Cloud-Projekt. Anstelle eines Google Cloud-Projekts können Sie ein Rechnungskonto, einen Ordner oder eine Organisation angeben:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Logrouter auf:

    Zum Logrouter

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

  2. Wählen Sie in der Google Cloud Console mithilfe der Ressourcenauswahl das Google Cloud-Projekt aus, das Ihre Senke enthält:

    Auswahl eines Projekts aus dem Dropdown-Menü

  3. Zum Aufrufen der aggregierten Senken wählen Sie die Organisation, den Ordner oder das Rechnungskonto aus, das die Senke enthält.

Die Seite Logrouter enthält eine Tabellenzusammenfassung der Senken. Jede Tabellenzeile enthält Informationen zu den Attributen einer Senke:

  • Aktiviert: Gibt an, ob der Status der Senke aktiviert oder deaktiviert ist.
  • Typ: Der Zieldienst der Senke, beispielsweise Cloud Logging bucket.
  • Name: Die Senken-ID, die beim Erstellen der Senke angegeben wurde, z. B. _Default.
  • Beschreibung: Die Beschreibung der Senke, wie sie beim Erstellen der Senke angegeben wurde.
  • Ziel: Der vollständige Name des Ziels, an das die weitergeleiteten Logeinträge gesendet werden.
  • Erstellt: Datum und Uhrzeit der Erstellung der Senke.
  • Zuletzt aktualisiert: Datum und Uhrzeit der letzten Bearbeitung der Senke.

Für jede Tabellenzeile enthält das -Menü Weitere Aktionen die folgenden Optionen:

  • Senkendetails ansehen: Zeigt den Namen der Senke, die Beschreibung, den Zieldienst, das Ziel sowie Ein- und Ausschlussfilter an. Wenn Sie Bearbeiten auswählen, wird der Bereich Senke bearbeiten geöffnet.
  • Senke bearbeiten: Öffnet das Fenster Senke bearbeiten, in dem Sie die Parameter der Senke aktualisieren können.
  • Senke deaktivieren: Ermöglicht das Deaktivieren der Senke und das Beenden der Weiterleitung von Logs an das Ziel der Senke. Weitere Informationen zum Deaktivieren von Senken finden Sie unter Speichern von Logs in Log-Buckets beenden.
  • Senke aktivieren: Ermöglicht das Aktivieren einer deaktivierten Senke und den Neustart der Weiterleitung von Logs zum Ziel der Senke.
  • Senke löschen: Ermöglicht das Löschen der Senke und das Beenden von Routing-Logs an das Ziel der Senke.
  • Fehlerbehebung für Senke: Öffnet den Log-Explorer, in dem Sie Fehler mit der Senke beheben können.
  • Volumen und Fehlerraten des Senkenlogs ansehen: Öffnet den Metrics Explorer, in dem Sie Daten aus der Senke ansehen und analysieren können.

Durch einen Klick auf einen der Spaltennamen können Sie Daten in aufsteigender oder absteigender Reihenfolge sortieren.

API

  • Rufen Sie projects.sinks.list auf, um die Senken für Ihr Google Cloud-Projekt anzusehen.

  • Rufen Sie projects.sinks.get auf, um die Details einer Senke aufzurufen.

  • Rufen Sie zum Aktualisieren einer Senke projects.sink.update auf.

    Sie können das Ziel, die Filter und die Beschreibung einer Senke aktualisieren. Sie können die Senke auch deaktivieren oder wieder aktivieren.

  • Rufen Sie zum Deaktivieren einer Senke projects.sink.update auf und setzen Sie das Attribut disabled auf true.

    Rufen Sie projects.sink.update auf und legen Sie das Attribut disabled auf false fest, um die Senke wieder zu aktivieren.

  • Rufen Sie zum Löschen einer Senke projects.sinks.delete auf.

    Weitere Informationen zu diesen Methoden zum Verwalten von Senken mit der Logging API finden Sie in der LogSink.

gcloud

  • Verwenden Sie den Befehl gcloud logging sinks list, der der Logging API-Methode projects.sinks.list entspricht, um die Liste der Senken für Ihr Google Cloud-Projekt aufzurufen:

    gcloud logging sinks list
    

    Um die Liste der aggregierten Senken aufzurufen, verwenden Sie das entsprechende Flag, um die Ressource anzugeben, die die Senke enthält. Wenn Sie beispielsweise die Senke auf Organisationsebene erstellt haben, verwenden Sie das Flag --organization=ORGANIZATION_ID, um die Senken für die Organisation aufzulisten.

  • Verwenden Sie zum Beschreiben einer Senke den Befehl gcloud logging sinks describe, der der Logging API-Methode projects.sinks.get entspricht:

    gcloud logging sinks describe SINK_NAME
    
  • Verwenden Sie zum Aktualisieren einer Senke den Befehl gcloud logging sinks update, der der API-Methode projects.sink.update entspricht.

    Sie können eine Senke aktualisieren, um das Ziel, die Filter und die Beschreibung zu ändern oder die Senke zu deaktivieren oder wieder zu aktivieren:

    gcloud logging sinks update SINK_NAME NEW_DESTINATION --log-filter=NEW_FILTER

    Lassen Sie NEW_DESTINATION oder --log-filter weg, wenn sich diese Teile nicht ändern.

    Wenn Sie beispielsweise das Ziel der Senke mit dem Namen my-project-sink auf ein neues Cloud Storage-Bucket-Ziel mit dem Namen my-second-gcs-bucket aktualisieren möchten, sieht der Befehl so aus:

    gcloud logging sinks update  my-project-sink  storage.googleapis.com/my-second-gcs-bucket
    
  • Verwenden Sie zum Deaktivieren einer Senke den Befehl gcloud logging sinks update, der der API-Methode projects.sink.update entspricht, und fügen Sie das Flag --disabled ein:

    gcloud logging sinks update _Default  --disabled
    

    Verwenden Sie zum erneuten Aktivieren der Senke den Befehl gcloud logging sinks update, entfernen Sie das Flag --disabled und fügen Sie das Flag --no-disabled ein:

    gcloud logging sinks update _Default  --no-disabled
    
  • Verwenden Sie zum Löschen einer Senke den Befehl gcloud logging sinks delete, der der API-Methode projects.sinks.delete entspricht:

    gcloud logging sinks delete SINK_NAME
    

    Weitere Informationen zum Verwalten von Senken mit der Google Cloud CLI finden Sie in der gcloud logging sinks-Referenz.

Speichern von Logs in Log-Buckets beenden

Für jedes Google Cloud-Projekt erstellt Logging automatisch zwei Log-Buckets: _Required und _Default. Logging erstellt automatisch zwei Logsenken, _Required und _Default, die Logs an die entsprechend benannten Buckets weiterleiten.

Sie können die Senke _Required nicht deaktivieren. Sie können die Senke _Default deaktivieren, um das Speichern von Logs im Bucket _Default zu beenden. Sie können auch alle benutzerdefinierten Senken deaktivieren.

Wenn Sie alle Senken in Ihrem Google Cloud-Projekt deaktivieren, die Logs an den _Default-Bucket senden, werden keine neuen Logs in diesem Log-Bucket gespeichert. Der Bucket _Default ist leer, wenn alle zuvor gespeicherten Logs im Bucket _Default die Aufbewahrungsdauer des Buckets erreicht haben.

Führen Sie die folgenden Schritte aus, um die Senken Ihres Google Cloud-Projekts zu deaktivieren, die Logs an den Bucket _Default weiterleiten:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Logrouter auf:

    Zum Logrouter

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

  2. Filtern Sie die Senken nach Ziel und geben Sie _Default ein, um alle Senken zu ermitteln, die Logs an den _Default-Bucket weiterleiten.

    Alle Senken suchen, die Logs an den Standard-Bucket weiterleiten

  3. Wählen Sie für jede Senke die Option Menü und dann Senke deaktivieren aus.

Die Senken sind jetzt deaktiviert und die Senken Ihres Google Cloud-Projekts leiten keine Logs mehr an den Bucket _Default weiter.

Gehen Sie so vor, um eine deaktivierte Senke wieder zu aktivieren und die Weiterleitung der Logs an das Ziel der Senke neu zu starten:

  1. Rufen Sie in der Google Cloud Console die Seite Logrouter auf:

    Zum Logrouter

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

  2. Filtern Sie die Senken nach Ziel und geben Sie _Default ein, um alle deaktivierten Senken zu ermitteln, die zuvor für das Weiterleiten von Logs an den _Default-Bucket konfiguriert wurden.

  3. Wählen Sie für jede Senke Menü und dann Senke aktivieren aus.

API

  1. Rufen Sie die Logging API-Methode projects.sinks.list auf, um die Senken für Ihr Google Cloud-Projekt anzusehen.

    Identifizieren Sie alle Senken, die an den _Default-Bucket weiterleiten.

  2. Wenn Sie beispielsweise die Senke _Default deaktivieren möchten, rufen Sie projects.sink.update auf und legen Sie das Attribut disabled auf true fest.

Die Senke _Default ist jetzt deaktiviert. Sie leitet keine Logs mehr an den _Default-Bucket weiter.

Wiederholen Sie die obigen Schritte, um die anderen Senken in Ihrem Google Cloud-Projekt zu deaktivieren, die an den _Default-Bucket weiterleiten.

Um eine Senke wieder zu aktivieren, rufen Sie projects.sink.update auf und setzen das Attribut disabled auf false.

gcloud

  1. Verwenden Sie den Befehl gcloud logging sinks list, der der Logging API-Methode projects.sinks.list entspricht, um die Liste der Senken für Ihr Google Cloud-Projekt aufzurufen:

    gcloud logging sinks list
    
  2. Identifizieren Sie alle Senken, die an den _Default-Bucket weiterleiten. Verwenden Sie zum Beschreiben einer Senke, einschließlich des Zielnamens, den Befehl gcloud logging sinks describe. Dies entspricht der Logging API-Methode projects.sinks.get:

    gcloud logging sinks describe SINK_NAME
    
  3. Um die Senke _Default zu deaktivieren, verwenden Sie beispielsweise den Befehl gcloud logging sinks update und fügen das Flag --disabled ein:

    gcloud logging sinks update _Default  --disabled
    

Die Senke _Default ist jetzt deaktiviert. Sie leitet keine Logs mehr an den _Default-Bucket weiter.

Wiederholen Sie die obigen Schritte, um die anderen Senken in Ihrem Google Cloud-Projekt zu deaktivieren, die an den _Default-Bucket weiterleiten.

Verwenden Sie zum erneuten Aktivieren einer Senke den Befehl gcloud logging sinks update, entfernen Sie das Flag --disabled und fügen Sie das Flag --no-disabled ein:

gcloud logging sinks update _Default  --no-disabled

Zielberechtigungen festlegen

In diesem Abschnitt wird beschrieben, wie Sie Logging die IAM-Berechtigungen (Identitäts- und Zugriffsverwaltung) zum Schreiben von Logs an das Ziel der Senke gewähren. Eine vollständige Liste der Logging-Rollen und -Berechtigungen finden Sie unter Zugriffssteuerung.

Cloud Logging erstellt ein freigegebenes Dienstkonto für eine Ressource, wenn eine Logsenke erstellt wird, es sei denn, das erforderliche Dienstkonto ist bereits vorhanden. Das Dienstkonto ist möglicherweise vorhanden, da für alle Senken in der zugrunde liegenden Ressource dasselbe Dienstkonto verwendet wird. Ressourcen können ein Google Cloud-Projekt, eine Organisation, ein Ordner oder ein Rechnungskonto sein.

Die Identität des Autors einer Senke ist die Kennung des Dienstkontos, das mit dieser Senke verknüpft ist. Alle Senken haben eine Autorenidentität, mit Ausnahme von Senken, die in einen Log-Bucket im aktuellen Google Cloud-Projekt schreiben. Wenn das Ziel einer Senke ein Log-Bucket im aktuellen Google Cloud-Projekt ist, benötigt die Senke keine zusätzlichen Zielberechtigungen. Daher wird der Wert des Felds writer Identity in der Console als None aufgeführt und nicht von der API und den Google Cloud CLI-Befehlen gemeldet.

Nachfolgend finden Sie die Anleitung zum Festlegen von Berechtigungen auf Google Cloud-Projektebene für die Senke, die an ihr Ziel weitergeleitet wird. Anstelle eines Google Cloud-Projekts können Sie ein Rechnungskonto, einen Ordner oder eine Organisation angeben:

Console

  1. So rufen Sie von der neuen Senke die Identität des Autors (eine E-Mail-Adresse) ab:

    1. Rufen Sie in der Google Cloud Console die Seite Logrouter auf:

      Zum Logrouter

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

    2. Wählen Sie Menü und dann Senkendetails ansehen aus. Die Identität des Autors wird im Bereich Senkendetails angezeigt.

  2. Wenn der Wert des Felds writerIdentity eine E-Mail-Adresse enthält, fahren Sie mit dem nächsten Schritt fort. Wenn der Wert None ist, müssen Sie keine Zielberechtigungen für die Senke konfigurieren.

  3. Klicken Sie auf Kopieren, um die Autorenidentität der Senke in die Zwischenablage zu kopieren.

  4. Wenn Sie die Rolle Inhaber für das Ziel haben, fügen Sie das Dienstkonto als IAM-Hauptkonto im Zielprojekt hinzu:

    • Fügen Sie für Cloud Storage-Ziele die Identität des Autors der Senke mithilfe von IAM als Hauptkonto hinzu. Weisen Sie ihr dann die Rolle Storage-Objekt-Ersteller (roles/storage.objectCreator) zu.
    • Fügen Sie für BigQuery-Ziele die Identität des Autors der Senke mithilfe von IAM als Hauptkonto hinzu. Weisen Sie ihr dann die Rolle „BigQuery-Dateneditor“ (roles/bigquery.dataEditor) zu.
    • Fügen Sie für Pub/Sub-Ziele, einschließlich Splunk, die Identität des Autors der Senke mithilfe von IAM als Hauptkonto hinzu. Weisen Sie ihr dann die Rolle „Pub/Sub-Publisher“ (roles/pubsub.publisher) zu.
    • Fügen Sie für Logging-Bucket-Ziele in verschiedenen Google Cloud-Projekten die Identität des Autors der Senke mithilfe von IAM als Hauptkonto hinzu. Weisen Sie ihr dann die Rolle „Log-Bucket-Autor“ (roles/logging.bucketWriter) zu.
    • Fügen Sie für Google Cloud-Projektziele mithilfe von IAM die Identität des Autors der Senke als Hauptkonto hinzu und weisen Sie ihr dann die Rolle „Logautor“ (roles/logging.logWriter) zu. Insbesondere benötigt ein Hauptkonto die Berechtigung logging.logEntries.route.
    Wenn Sie nicht die Rolle Inhaber für das Ziel der Senke haben, bitten Sie einen Projektinhaber, die Identität des Autors als Hauptkonto hinzuzufügen.

API

  1. Rufen Sie die API-Methode projects.sinks.list auf, um die Senken in Ihrem Google Cloud-Projekt aufzulisten.

  2. Suchen Sie die Senke, deren Berechtigungen Sie ändern möchten. Wenn die Senkendetails einen JSON-Schlüssel mit dem Label "writerIdentity" enthalten, fahren Sie mit dem nächsten Schritt fort. Wenn in den Details kein Feld "writerIdentity" enthalten ist, müssen Sie keine Zielberechtigungen für die Senke konfigurieren.

  3. Wenn Sie die IAM-Rolle Inhaber für das Ziel haben, fügen Sie dem Ziel das Dienstkonto hinzu. Gehen Sie dazu so vor:

    • Fügen Sie für Cloud Storage-Ziele die Identität des Autors der Senke mithilfe von IAM als Hauptkonto hinzu. Weisen Sie ihr dann die Rolle Storage-Objekt-Ersteller (roles/storage.objectCreator) zu.
    • Fügen Sie für BigQuery-Ziele die Identität des Autors der Senke mithilfe von IAM als Hauptkonto hinzu. Weisen Sie ihr dann die Rolle „BigQuery-Dateneditor“ (roles/bigquery.dataEditor) zu.
    • Fügen Sie für Pub/Sub-Ziele, einschließlich Splunk, die Identität des Autors der Senke mithilfe von IAM als Hauptkonto hinzu. Weisen Sie ihr dann die Rolle „Pub/Sub-Publisher“ (roles/pubsub.publisher) zu.
    • Fügen Sie für Logging-Bucket-Ziele in verschiedenen Google Cloud-Projekten die Identität des Autors der Senke mithilfe von IAM als Hauptkonto hinzu. Weisen Sie ihr dann die Rolle „Log-Bucket-Autor“ (roles/logging.bucketWriter) zu.
    • Fügen Sie für Google Cloud-Projektziele mithilfe von IAM die Identität des Autors der Senke als Hauptkonto hinzu und weisen Sie ihr dann die Rolle „Logautor“ (roles/logging.logWriter) zu. Insbesondere benötigt ein Hauptkonto die Berechtigung logging.logEntries.route.
    Wenn Sie nicht die Rolle Inhaber für das Ziel der Senke haben, bitten Sie einen Projektinhaber, die Identität des Autors als Hauptkonto hinzuzufügen.

gcloud

  1. Rufen Sie das Dienstkonto aus dem Feld writerIdentity der Senke ab:

    gcloud logging sinks describe SINK_NAME
    
  2. Suchen Sie die Senke, deren Berechtigungen Sie ändern möchten. Wenn die Senkendetails eine Zeile mit writerIdentity enthalten, fahren Sie mit dem nächsten Schritt fort. Wenn in den Details kein Feld writerIdentity enthalten ist, müssen Sie keine Zielberechtigungen für die Senke konfigurieren.

    Der Wert des Felds SERVICE_ACCT_NAME in den folgenden Schritten ist die Identität des Autors, die in etwa so aussieht:

    serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
    
  3. Wenn Sie die IAM-Rolle Inhaber für das Ziel haben, fügen Sie dem Ziel das Dienstkonto hinzu. Gehen Sie dazu so vor:

    • Fügen Sie für Cloud Storage-Ziele die Identität des Autors der Senke mithilfe von IAM als Hauptkonto hinzu. Weisen Sie ihr dann die Rolle Storage-Objekt-Ersteller (roles/storage.objectCreator) zu.
    • Fügen Sie für BigQuery-Ziele die Identität des Autors der Senke mithilfe von IAM als Hauptkonto hinzu. Weisen Sie ihr dann die Rolle „BigQuery-Dateneditor“ (roles/bigquery.dataEditor) zu.
    • Fügen Sie für Pub/Sub-Ziele, einschließlich Splunk, die Identität des Autors der Senke mithilfe von IAM als Hauptkonto hinzu. Weisen Sie ihr dann die Rolle „Pub/Sub-Publisher“ (roles/pubsub.publisher) zu.
    • Fügen Sie für Logging-Bucket-Ziele in verschiedenen Google Cloud-Projekten die Identität des Autors der Senke mithilfe von IAM als Hauptkonto hinzu. Weisen Sie ihr dann die Rolle „Log-Bucket-Autor“ (roles/logging.bucketWriter) zu.
    • Fügen Sie für Google Cloud-Projektziele mithilfe von IAM die Identität des Autors der Senke als Hauptkonto hinzu und weisen Sie ihr dann die Rolle „Logautor“ (roles/logging.logWriter) zu. Insbesondere benötigt ein Hauptkonto die Berechtigung logging.logEntries.route.
    Wenn Sie nicht die Rolle Inhaber für das Ziel der Senke haben, bitten Sie einen Projektinhaber, die Identität des Autors als Hauptkonto hinzuzufügen.

    Führen Sie beispielsweise den folgenden Befehl aus, um dem Dienstkonto service-123456789012@gcp-sa-logging.iam.gserviceaccount.com im Projekt my-test-project die Rolle „Logautor“ (roles/logging.logWriter) zuzuweisen:

    gcloud projects add-iam-policy-binding my-test-project --member='serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com' --role='roles/logging.logWriter'
    

Zieleinschränkungen

Je nach Ziel, an das Sie Ihre Logs weiterleiten, kann es einige Einschränkungen geben.

Zu Log-Buckets in verschiedenen Google Cloud-Projekten weiterleiten

Die folgenden Einschränkungen gelten, wenn Sie Ihre Logs an Log-Buckets in verschiedenen Google Cloud-Projekten weiterleiten:

  • Error Reporting ist für Logs deaktiviert, die in Log-Buckets gespeichert sind, für die vom Kunden verwaltete Verschlüsselungsschlüssel verwendet werden.

An verschiedene Google Cloud-Projekte weiterleiten

Wenn Sie Logs an verschiedene Google Cloud-Projekte weiterleiten, gelten die folgenden Einschränkungen:

  • Es gibt ein Limit für einen Hop. Wenn Sie beispielsweise Logeinträge von Projekt A an Projekt B weiterleiten, können Sie die Logeinträge nicht von Projekt B an ein anderes Projekt weiterleiten.

  • Audit-Logs werden nicht an den Bucket _Required im Zielprojekt weitergeleitet. Sie müssen eine weitere Senke oder einen weiteren Bucket erstellen, um sie zu speichern.

  • Wenn die Organisation oder der Ordner mit dem Google Cloud-Projekt, an das Sie weiterleiten möchten, vorhandene aggregierte Senken hat, werden die Logs nicht von diesen aggregierten Senken weitergeleitet.

Codebeispiele

Informationen zum Verwenden von Clientbibliothekscode zum Konfigurieren von Senken in den von Ihnen ausgewählten Sprachen finden Sie unter Logging-Clientbibliotheken: Logsenken.

Beispiele für Filter

Im Folgenden finden Sie einige Filterbeispiele, die beim Erstellen von Senken besonders nützlich sind.

Weitere Beispiele, die beim Erstellen von Einschluss- und Ausschlussfiltern nützlich sein können, finden Sie unter Beispielabfragen.

_Default-Senkenfilter wiederherstellen

Wenn Sie den Filter für die Senke _Default bearbeitet haben, sollten Sie den Standardfilter wiederherstellen. Geben Sie dazu den folgenden Einschlussfilter ein:

  NOT log_id("cloudaudit.googleapis.com/activity") AND NOT \
  log_id("externalaudit.googleapis.com/activity") AND NOT \
  log_id("cloudaudit.googleapis.com/system_event") AND NOT \
  log_id("externalaudit.googleapis.com/system_event") AND NOT \
  log_id("cloudaudit.googleapis.com/access_transparency") AND NOT \
  log_id("externalaudit.googleapis.com/access_transparency")

Google Kubernetes Engine-Container- und -Pod-Logs ausschließen

Verwenden Sie den folgenden Filter, um Google Kubernetes Engine-Container- und Pod-Logs für das GKE-System namespaces auszuschließen:

resource.type = ("k8s_container" OR "k8s_pod")
resource.labels.namespace_name = (
"cnrm-system" OR
"config-management-system" OR
"gatekeeper-system" OR
"gke-connect" OR
"gke-system" OR
"istio-system" OR
"knative-serving" OR
"monitoring-system" OR
"kube-system")

Verwenden Sie den folgenden Filter, um Google Kubernetes Engine-Knotenlogs für das GKE-System logNames auszuschließen:

resource.type = "k8s_node"
logName:( "logs/container-runtime" OR
"logs/docker" OR
"logs/kube-container-runtime-monitor" OR
"logs/kube-logrotate" OR
"logs/kube-node-configuration" OR
"logs/kube-node-installation" OR
"logs/kubelet" OR
"logs/kubelet-monitor" OR
"logs/node-journal" OR
"logs/node-problem-detector")

Mit dem Metrics Explorer in Cloud Monitoring können Sie das Volume der Knoten-, Pod- und Containerlogs von Google Kubernetes Engine ansehen, die in Log-Buckets gespeichert sind.

Dataflow-Logs, die nicht für Unterstützung erforderlich sind, ausschließen

Verwenden Sie den folgenden Filter, um Dataflow-Logs auszuschließen, die nicht für den Support erforderlich sind:

resource.type="dataflow_step"
labels."dataflow.googleapis.com/log_type"!="system" AND labels."dataflow.googleapis.com/log_type"!="supportability"

Mit dem Metrics Explorer in Cloud Monitoring können Sie sich das Volumen der in Log-Buckets gespeicherten Dataflow-Logs ansehen.

Support

Obwohl Sie mit Cloud Logging festlegen können, dass Logs nicht in einem Log-Bucket gespeichert werden, empfiehlt es sich, Logs zu behalten, die die Unterstützung erleichtern. Anhand dieser Logs können Probleme mit Ihren Anwendungen schneller behoben und identifiziert werden.

GKE-Systemlogs sind beispielsweise nützlich, um Probleme bei GKE-Anwendungen und -Clustern zu beheben, da sie für Ereignisse in Ihrem Cluster generiert werden. Anhand dieser Logs können Sie feststellen, ob Ihr Anwendungscode oder der zugrunde liegende GKE-Cluster den Anwendungsfehler verursacht. GKE-Systemlogs umfasst auch Kubernetes-Audit-Logging, das von der Kubernetes API Server-Komponente generiert wird. Dazu gehören Änderungen, die mit dem kubectl-Befehl und Kubernetes-Ereignissen vorgenommen wurden.

Für Dataflow wird empfohlen, mindestens die Systemlogs (labels."dataflow.googleapis.com/log_type"="system") und Supportlogs (labels."dataflow.googleapis.com/log_type"="supportability") in Log-Buckets zu schreiben. Diese Logs sind für Entwickler wichtig, um ihre Dataflow-Pipelines zu beobachten und Fehler zu beheben. Nutzer können die Joblogs möglicherweise nicht auf der Dataflow-Seite Jobdetails ansehen.

Nächste Schritte

  • Wenn beim Weiterleiten von Logs Senken Probleme auftreten, lesen Sie die Informationen unter Fehlerbehebung bei Routinglogs.

  • Informationen zum Aufrufen von weitergeleiteten Logs in ihren Zielen sowie zum Formatieren und Organisieren der Logs finden Sie unter Logs in Senkenzielen ansehen.

  • Weitere Informationen zum Abfragen und Filtern mit der Logging-Abfragesprache finden Sie unter Logging-Abfragesprache.