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 die folgenden 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. Führen Sie dazu ein Upgrade eines Log-Buckets auf die Verwendung von Log Analytics durch und erstellen Sie dann ein verknüpftes BigQuery-Dataset. Informationen zum Aufrufen von in Log-Buckets gespeicherten Logeinträgen finden Sie unter Logs abfragen und ansehen und an Cloud Logging-Buckets weitergeleitete Logs ansehen.
  • BigQuery-Dataset: Bietet die Speicherung von Logeinträgen in BigQuery-Datasets. Sie können Big-Data-Analysefunktionen für die gespeicherten Logeinträge verwenden. Wenn Sie Ihre Cloud Logging-Daten mit anderen Datenquellen kombinieren möchten, empfehlen wir Ihnen, Ihre Log-Buckets auf die Verwendung von Log Analytics zu aktualisieren und dann ein verknüpftes BigQuery-Dataset zu erstellen. Informationen zum Aufrufen von Logeinträgen, die an BigQuery weitergeleitet wurden, finden Sie unter An BigQuery weitergeleitete Logs ansehen.
  • Cloud Storage-Bucket: Stellt die Speicherung von Logeinträgen in Cloud Storage bereit. Logeinträge werden als JSON-Dateien gespeichert. 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 in JSON formatiert und dann an ein Pub/Sub-Thema weitergeleitet. Informationen zum Aufrufen von Logeinträgen, die an Pub/Sub weitergeleitet wurden, 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 mithilfe von Splunk abonnieren.
  • Google Cloud-Projekt: Sie können 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 das Zielprojekt diese Logeinträge an einen Log-Bucket des Zielprojekts weiterleitet.
  • Andere Ressourcen: Sie können Ihre Logeinträge an ein unterstütztes Ziel weiterleiten, das sich in einem anderen Projekt befindet. 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 jeder übereinstimmenden Senke zugeordnet ist.

Eine aggregierte Senke ist ein Senkentyp, der Logeinträge aus den Google Cloud-Ressourcen, die in einer Organisation oder einem Ordner enthalten sind, 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 folgende Vorteile gegenüber den anderen Methoden:

  • Sie können alle Ihre Senken 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

Die Anleitungen in diesem Dokument beschreiben das Erstellen und Verwalten von Senken auf Google Cloud-Projektebene. Sie können auch nicht aggregierte Senken für Rechnungskonten, Ordner und Organisationen erstellen.

Führen Sie zunächst die folgenden Schritte aus:

  1. Prüfen Sie, ob Sie ein Google Cloud-Projekt mit Logs haben, 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 Gewähren 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 vor dem Erstellen der Senke vorhanden sein. Sie können das Ziel in jedem Google Cloud-Projekt in jeder Organisation erstellen.

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

Senke erstellen

Im Folgenden finden Sie die 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 entsprechenden Berechtigungen zum Schreiben von Logs an das Senkenziel hat. Weitere Informationen finden Sie unter Zielberechtigungen festlegen.

So erstellen Sie eine Senke:

Console

  1. Wählen Sie im Navigationsbereich der Google Cloud Console Logging und dann Log Router aus:

    Zum Logrouter

  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 den Senkendienst und das Ziel über das Menü Senkendienst auswählen 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 Sie das spezifische Thema aus, das die weitergeleiteten Logs erhalten soll, oder erstellen Sie eines.
      • Splunk Wählen Sie das Pub/Sub-Thema für den Splunk-Dienst aus.
      • Google Cloud-Projekt: Wählen Sie das Google Cloud-Projekt aus, das die weitergeleiteten Logs erhalten soll, oder erstellen Sie es.
      • 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 zu dem 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 Einbeziehungsfilter erstellen einen Filterausdruck ein, der den einzuschließenden Logeinträgen entspricht. Weitere Informationen zur Syntax zum 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 zum Filtern aus der Senke auswählen 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 Anfragetext für die Methode an:

    • name: Eine Kennung für die Senke. Nachdem Sie die Senke erstellt haben, können Sie sie nicht mehr umbenennen. Sie können sie jedoch löschen und eine neue Senke erstellen.
    • destination: Der Dienst und das Ziel, an das Ihre 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 das Feld destination den entsprechenden Pfad fest, 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 Ihres Google Cloud-Projekts 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 im Befehl die entsprechenden Werte für die Variablen an:

  • SINK_NAME: Eine Kennung für die Senke. Nachdem Sie die Senke erstellt haben, können Sie sie nicht mehr umbenennen. Sie können sie jedoch löschen und eine neue Senke erstellen.
  • SINK_DESTINATION: Der Dienst und das Ziel, an das Ihre 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 Ihres Google Cloud-Projekts 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 Referenz zu gcloud logging sinks.

Es kann mehrere Stunden dauern, bis neue Logsenken an 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.

Informationen zum Aufrufen von Logs an 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.

Fügen Sie keine vertraulichen Informationen in Senkenfilter ein. Senkenfilter werden als Dienstdaten behandelt.

Zielpfadformate

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

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

    logging.googleapis.com/projects/DESTINATION_PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
    
  • Wenn Sie Logeinträge an ein anderes Google Cloud-Projekt weiterleiten möchten, lautet der Zielpfad für die Senke:

    logging.googleapis.com/projects/DESTINATION_PROJECT_ID
    
  • Das Senkenziel ist das folgende Senkenziel, um Logeinträge an ein BigQuery-Dataset weiterzuleiten:

    bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
    
  • Das Senkenziel ist das folgende Senkenziel, um Logeinträge an einen Cloud Storage-Bucket weiterzuleiten:

    storage.googleapis.com/BUCKET_NAME
    
  • Das Senkenziel ist das folgende Senkenziel, um Logeinträge an ein Pub/Sub-Thema weiterzuleiten:

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

Senken verwalten

Nachdem die Senken erstellt wurden, können Sie für sie die folgenden Aktionen ausführen:

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

Bevor Sie eine Senke löschen, sollten Sie Folgendes berücksichtigen:

  • Sie können die Senken _Default und _Required nicht löschen. Sie können jedoch _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 durch das 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 Änderungen an einer Senke wirksam werden.

Im Folgenden finden Sie die 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. Wählen Sie im Navigationsbereich der Google Cloud Console Logging und dann Log Router aus:

    Zum Logrouter

  2. Wählen Sie über die Ressourcenauswahl an einer beliebigen Stelle in der Google Cloud Console das Google Cloud-Projekt aus, das die Senke enthält:

    Auswahl eines Projekts aus dem Dropdown-Menü

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

Die Seite Logrouter enthält eine tabellarische Zusammenfassung 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 Senke der Senke, wie sie 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: Das Datum und die Uhrzeit, zu der die Senke erstellt wurde.
  • 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, die Beschreibung, den Zieldienst, das Ziel sowie die Einschluss- und Ausschlussfilter der Senke an. Wenn Sie Bearbeiten auswählen, wird das Steuerfeld 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 Logs in Log-Buckets nicht mehr speichern.
  • 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 Senken: Dadurch wird der Log-Explorer geöffnet, in dem Sie Fehler mit der Senke beheben können.
  • Volumen und Fehlerraten von Senkenlogs ansehen: Dadurch wird der Metrics Explorer geöffnet, in dem Sie die Daten 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 legen Sie das Attribut disabled auf true fest.

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

  • Rufen Sie projects.sinks.delete auf, um eine Senke zu löschen.

    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 Referenz zu gcloud logging sinks.

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 entsprechenden benannten Buckets weiterleiten.

Sie können die Senke _Required nicht deaktivieren. Sie können die Senke _Default deaktivieren, um zu verhindern, dass Logs im Bucket _Default gespeichert werden. Sie können auch benutzerdefinierte 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 für den Bucket erreicht haben.

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

Console

  1. Wählen Sie im Navigationsbereich der Google Cloud Console Logging und dann Log Router aus:

    Zum Logrouter

  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 Menü und dann Senke deaktivieren aus.

Die Senken sind jetzt deaktiviert und die Senken Ihres Google Cloud-Projekts leiten Logs nicht 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. Wählen Sie im Navigationsbereich der Google Cloud Console Logging und dann Log Router aus:

    Zum Logrouter

  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 im -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 oben genannten Schritte, um die anderen Senken in Ihrem Google Cloud-Projekt zu deaktivieren, die an den Bucket _Default weiterleiten.

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

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 oben genannten Schritte, um die anderen Senken in Ihrem Google Cloud-Projekt zu deaktivieren, die an den Bucket _Default 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.

Wenn eine Logsenke erstellt wird, erstellt Cloud Logging ein freigegebenes Dienstkonto für eine Ressource, sofern das erforderliche Dienstkonto nicht bereits vorhanden ist. 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 Identität des Autors in der Console als None aufgeführt und von der API und den Google Cloud CLI-Befehlen nicht gemeldet.

Im Folgenden finden Sie die Anleitung zum Festlegen von Berechtigungen auf Google Cloud-Projektebene, damit Ihre Senke 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 die Autorenidentität der Senke – eine E-Mail-Adresse – von der neuen Senke ab:

    1. Wählen Sie im Navigationsbereich der Google Cloud Console Logging und dann Log Router aus:

      Zum Logrouter

    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:

    • Wenn Sie Cloud Storage-Ziele verwenden, fügen Sie die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren ihr dann die Rolle Storage Object Creator (roles/storage.objectCreator).
    • Fügen Sie für BigQuery-Ziele die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle BigQuery-Datenbearbeiter (roles/bigquery.dataEditor) zu.
    • Fügen Sie für Pub/Sub-Ziele, einschließlich Splunk, die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren Sie ihr dann die Pub/Sub-Publisher-Rolle (roles/pubsub.publisher).
    • 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 und weisen Sie ihr dann die Rolle Log-Bucket-Autor (roles/logging.bucketWriter) zu.
    • Fügen Sie für Ziele von Google Cloud-Projekten die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren Sie ihr dann die Rolle „Logautor“ (roles/logging.logWriter). Ein Hauptkonto benötigt insbesondere die Berechtigung logging.logEntries.route.
    Wenn Sie nicht die Rolle Inhaber für das Ziel der Senke haben, bitten Sie einen Projektinhaber, die Autorenidentität 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 die Details das Feld "writerIdentity" nicht enthalten, müssen Sie keine Zielberechtigungen für die Senke konfigurieren.

  3. Wenn Sie IAM-Inhaberzugriff auf das Ziel haben, fügen Sie dem Ziel das Dienstkonto hinzu. Gehen Sie dazu so vor:

    • Wenn Sie Cloud Storage-Ziele verwenden, fügen Sie die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren ihr dann die Rolle Storage Object Creator (roles/storage.objectCreator).
    • Fügen Sie für BigQuery-Ziele die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle BigQuery-Datenbearbeiter (roles/bigquery.dataEditor) zu.
    • Fügen Sie für Pub/Sub-Ziele, einschließlich Splunk, die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren Sie ihr dann die Pub/Sub-Publisher-Rolle (roles/pubsub.publisher).
    • 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 und weisen Sie ihr dann die Rolle Log-Bucket-Autor (roles/logging.bucketWriter) zu.
    • Fügen Sie für Ziele von Google Cloud-Projekten die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren Sie ihr dann die Rolle „Logautor“ (roles/logging.logWriter). Ein Hauptkonto benötigt insbesondere die Berechtigung logging.logEntries.route.
    Wenn Sie nicht die Rolle Inhaber für das Ziel der Senke haben, bitten Sie einen Projektinhaber, die Autorenidentität 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 die Details das Feld writerIdentity nicht enthalten, 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. Diese sieht in etwa so aus:

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

    • Wenn Sie Cloud Storage-Ziele verwenden, fügen Sie die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren ihr dann die Rolle Storage Object Creator (roles/storage.objectCreator).
    • Fügen Sie für BigQuery-Ziele die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle BigQuery-Datenbearbeiter (roles/bigquery.dataEditor) zu.
    • Fügen Sie für Pub/Sub-Ziele, einschließlich Splunk, die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren Sie ihr dann die Pub/Sub-Publisher-Rolle (roles/pubsub.publisher).
    • 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 und weisen Sie ihr dann die Rolle Log-Bucket-Autor (roles/logging.bucketWriter) zu.
    • Fügen Sie für Ziele von Google Cloud-Projekten die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren Sie ihr dann die Rolle „Logautor“ (roles/logging.logWriter). Ein Hauptkonto benötigt insbesondere die Berechtigung logging.logEntries.route.
    Wenn Sie nicht die Rolle Inhaber für das Ziel der Senke haben, bitten Sie einen Projektinhaber, die Autorenidentität als Hauptkonto hinzuzufügen.

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

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

Einschränkungen für Ziele

Je nach Ziel, an das Sie Ihre Logs weiterleiten, gibt es möglicherweise Einschränkungen.

An Log-Buckets in verschiedenen Google Cloud-Projekten weiterleiten

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

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

Zu verschiedenen Google Cloud-Projekten weiterleiten

Wenn Sie Ihre 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 von Projekt B nicht an ein anderes Projekt weiterleiten.

  • Audit-Logs werden nicht an den Bucket _Required im Zielprojekt weitergeleitet. Sie müssen zum Speichern eine weitere Senke oder einen weiteren Bucket erstellen.

  • Wenn die Organisation oder der Ordner mit dem Google Cloud-Projekt, an das Sie weiterleiten, bereits 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 Ihrer Einschluss- und Ausschlussfilter hilfreich sein können, finden Sie unter Beispielabfragen.

Senkenfilter _Default wiederherstellen

Wenn Sie den Filter für die Senke _Default bearbeitet haben, können 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 Volumen der in Log-Buckets gespeicherten Knoten-, Pod- und Container-Logs von Google Kubernetes Engine anzeigen.

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 das Volumen der in Log-Buckets gespeicherten Dataflow-Logs einsehen.

Support

Mit Cloud Logging können Sie zwar die Speicherung von Logs in einem Log-Bucket ausschließen, Sie können jedoch Logs in Betracht ziehen, 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 empfehlen wir, 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 unerlässlich, um ihre Dataflow-Pipelines zu beobachten und Fehler zu beheben. Nutzer können die Dataflow-Seite Jobdetails möglicherweise nicht verwenden, um Joblogs anzusehen.

Nächste Schritte