Logs an unterstützte Ziele weiterleiten

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

Wenn das Ziel einer Senke kein Logsenke im Google Cloud-Projekt ist, in dem ein Logeintrag stammt, ist ein Dienstkonto erforderlich. Dieses Dienstkonto wird automatisch von Cloud Logging erstellt und verwaltet. Möglicherweise müssen Sie jedoch die dem Dienstkonto gewährten Berechtigungen ändern. Sie können ein Dienstkonto erstellen und verwalten, das von Senken in mehreren Projekten verwendet wird. Weitere Informationen finden Sie unter Protokoll-Sinks mit vom Nutzer verwalteten Dienstkonten konfigurieren.

Übersicht

Sinks bestimmen, wie Cloud Logging Logeinträge weiterleitet. Mithilfe von Senken können Sie einige oder alle Logeinträge an die folgenden Ziele weiterleiten:

  • Cloud Logging-Bucket: Bietet Speicherplatz in Cloud Logging. In einem Log-Bucket können Logeinträge gespeichert werden, die von mehreren Google Cloud-Projekten empfangen werden. Der Log-Bucket kann sich im selben Projekt befinden, in dem die Logeinträge stammen, oder in einem anderen Projekt. Informationen zum Ansehen von Logeinträgen, die in Log-Buckets gespeichert sind, finden Sie unter Logs abfragen und ansehen und An Cloud Logging-Buckets weitergeleitete Logs ansehen.

    Sie können Ihre Cloud Logging-Daten mit anderen Daten kombinieren, indem Sie einen Log-Bucket auf Log Analytics umstellen und dann einen verknüpften Datenpool erstellen. Das ist ein schreibgeschützter Datenpool, der auf den Seiten BigQuery Studio und Looker Studio abgefragt werden kann.

  • BigQuery-Dataset: Ermöglicht das Speichern von Logeinträgen in einem beschreibbaren BigQuery-Dataset. Das BigQuery-Dataset kann sich im selben Projekt wie die Logeinträge oder in einem anderen Projekt befinden. Sie können Big-Data-Analysefunktionen auf die gespeicherten Logeinträge anwenden. Informationen zum Aufrufen von zu BigQuery weitergeleiteten Logeinträgen finden Sie unter Zu BigQuery weitergeleitete Logs ansehen.

  • Cloud Storage-Bucket: Ermöglicht das Speichern von Logeinträgen in Cloud Storage. Der Cloud Storage-Bucket kann sich im selben Projekt wie die Protokolleinträge oder in einem anderen Projekt befinden. Logeinträge werden als JSON-Dateien gespeichert. Informationen zum Ansehen 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. Das Thema kann sich im selben Projekt wie die Protokolleinträge oder in einem anderen Projekt befinden. Informationen zum Ansehen von Logeinträgen, die an Pub/Sub weitergeleitet werden, finden Sie unter An Pub/Sub weitergeleitete Logs ansehen.

  • Google Cloud-Projekt: Sie können Protokolleinträge an ein anderes Google Cloud-Projekt weiterleiten. Bei dieser Konfiguration werden die Logeinträge von den Senken im Zielprojekt verarbeitet.

Senken gehören zu einer bestimmten Google Cloud-Ressource: einem Google Cloud-Projekt, einem Rechnungskonto, einem Ordner oder einer Organisation. Wenn die Ressource einen Logeintrag empfängt, wird er von jeder Senke in der Ressource verarbeitet. Wenn ein Logeintrag mit den Filtern der Senke übereinstimmt, wird er an das Ziel der Senke weitergeleitet.

Normalerweise leiten Senken nur die Logeinträge weiter, die aus einer Ressource stammen. Für Ordner und Organisationen können Sie jedoch aggregierte Senken erstellen, über die Logeinträge aus dem Ordner oder der Organisation und den darin enthaltenen Ressourcen weitergeleitet werden. In diesem Dokument werden keine aggregierten Senken behandelt. Weitere Informationen finden Sie unter Logs auf Organisationsebene sortieren und an unterstützte Ziele weiterleiten.

Sie können Senken mit der Google Cloud Console, der Cloud Logging API und der Google Cloud CLI erstellen und verwalten. Wir empfehlen die Verwendung der Google Cloud Console:

  • Auf der Seite Logs Router sind alle Senken aufgeführt und Sie haben die Möglichkeit, sie zu verwalten.
  • Beim Erstellen einer Senke können Sie sich eine Vorschau der Logeinträge ansehen, die den Filtern der Senke entsprechen.
  • Sie können Senkenziele beim Erstellen einer Senke konfigurieren.
  • Einige Autorisierungsschritte wurden für Sie abgeschlossen.

Hinweise

In der Anleitung in diesem Dokument wird beschrieben, wie Sie Senken auf Google Cloud-Projektebene erstellen und verwalten. Mit demselben Verfahren können Sie eine Sink erstellen, die Logeinträge weiterleitet, die aus einer Organisation, einem Ordner oder einem Rechnungskonto stammen.

Gehen Sie dazu so vor:

  1. Enable the Cloud Logging API.

    Enable the API

  2. Ihr Google Cloud-Projekt muss Logeinträge enthalten, die Sie im Log-Explorer sehen können.

  3. Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Logs Configuration Writer (roles/logging.configWriter) für das Projekt zu erteilen, um die Berechtigungen zu erhalten, die Sie zum Erstellen, Ändern oder Löschen eines Sinks benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

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

    Informationen zum Zuweisen von IAM-Rollen finden Sie in der Anleitung für die Zugriffssteuerung in Logging.

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

    Wenn Sie Protokolleinträge an ein Ziel weiterleiten möchten, muss dieses Ziel vorhanden sein, bevor Sie die Senke erstellen. Sie können das Ziel in einem beliebigen Google Cloud-Projekt jeder Organisation erstellen.

  5. Lesen Sie sich die Einschränkungen für das Senkenziel durch, bevor Sie eine Senke erstellen. Weitere Informationen finden Sie in diesem Dokument im Abschnitt Einschränkungen für Ziele.

  6. Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    REST

    Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

      Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

    Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.

Senke erstellen

Im Folgenden wird beschrieben, wie Sie eine Senke in einem Google Cloud-Projekt erstellen. Sie können dieselbe Vorgehensweise verwenden, um Logeinträge weiterzuleiten, die aus einer Organisation, einem Ordner oder einem Abrechnungskonto stammen:

  • Sie können bis zu 200 Senken pro Google Cloud-Projekt erstellen.
  • Geben Sie keine vertraulichen Informationen in Senkenfilter ein. Senkenfilter werden als Dienstdaten behandelt.
  • Es kann einige Stunden dauern, bis das Weiterleiten von Logeinträgen für neue Senken für Cloud Storage-Buckets beginnt. Senken für Cloud Storage werden stündlich verarbeitet, während andere Zieltypen in Echtzeit verarbeitet werden.
  • Sie können Logeinträge nicht an verknüpfte BigQuery-Datasets weiterleiten, die nur lesbar sind. Wenn Sie Logeinträge an BigQuery weiterleiten möchten, muss das Ziel-Dataset für das Schreiben aktiviert sein.

  • Senken definieren nicht das Schema für BigQuery-Datasets. Stattdessen wird das Schema für die Zieltabelle durch den ersten von BigQuery empfangenen Logeintrag bestimmt. Weitere Informationen finden Sie im BigQuery-Schema für weitergeleitete Protokolle.

  • Informationen zum Aufrufen der Logeinträge am Ziel einer Senke finden Sie unter An Cloud Logging-Buckets weitergeleitete Logs ansehen.

  • Die Anzahl und das Volumen der gerouteten Logeinträge finden Sie in den logging.googleapis.com/exports/-Messwerten.

  • Wenn eine Abfrage mehrere Anweisungen enthält, können Sie entweder angeben, wie diese Anweisungen zusammengeführt werden, oder sich darauf verlassen, dass Cloud Logging die konjunktive Einschränkung AND zwischen den Anweisungen implizit hinzufügt. Angenommen, ein Abfrage- oder Filterdialogfeld enthält zwei Anweisungen, resource.type = "gce_instance" und severity >= "ERROR". Die tatsächliche Suchanfrage lautet resource.type = "gce_instance" AND severity >= "ERROR". Cloud Logging unterstützt sowohl disjunktive Einschränkungen, OR, als auch konjunktive Einschränkungen, AND. Wenn Sie OR-Anweisungen verwenden, sollten Sie die Klauseln in Klammern setzen. Weitere Informationen finden Sie unter Logging-Abfragesprache.

So erstellen Sie eine Senke:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Log Router auf.

    Zum Logrouter

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

  2. Wählen Sie das Google Cloud-Projekt aus, aus dem die Logeinträge stammen, die Sie weiterleiten möchten.

    Wenn Sie beispielsweise Ihre Logeinträge für den Datenzugriff aus dem Projekt Project-A an einen Log-Bucket im Projekt Project-B weiterleiten möchten, wählen Sie Project-A 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 über das Menü Senkendienst auswählen den Senkendienst und das Ziel aus. Führen Sie einen der folgenden Schritte aus:

    • Wenn Sie Protokolleinträge an einen Dienst im selben Google Cloud-Projekt weiterleiten möchten, wählen Sie eine der folgenden Optionen aus:

      • Cloud Logging-Bucket: Wählen Sie einen Logging-Bucket aus oder erstellen Sie einen.
      • BigQuery-Dataset: Wählen Sie das beschreibbare Dataset aus, das die weitergeleiteten Logeinträge 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 Logeinträge erhalten soll, oder erstellen Sie ihn.
      • Pub/Sub-Thema: Wählen Sie das spezifische Thema aus, das die weitergeleiteten Logeinträge erhalten soll, oder erstellen Sie es.
      • Splunk: Wählen Sie das Pub/Sub-Thema für den Splunk-Dienst aus.
    • Wenn Sie Protokolleinträge an ein anderes Google Cloud-Projekt weiterleiten möchten, wählen Sie Google Cloud-Projekt aus und geben Sie dann den vollqualifizierten Namen für das Ziel ein. Informationen zur Syntax finden Sie unter Zielordstrichpfade.

    • So leiten Sie Logeinträge an einen Dienst in einem anderen Google Cloud-Projekt weiter:

      1. Wählen Sie Sonstige Ressource aus.
      2. Geben Sie den voll qualifizierten Namen für das Ziel ein. Informationen zur Syntax finden Sie unter Zielortpfadformate.
  6. Geben Sie die Logeinträge an, die eingeschlossen werden sollen:

    1. Rufen Sie den Bereich Logs auswählen, die in der Senke enthalten sind auf.

    2. Geben Sie im Feld Einschlussfilter erstellen einen Filterausdruck ein, der den Logeinträgen entspricht, die Sie aufnehmen möchten. Weitere Informationen zur Syntax zum Erstellen von Filtern finden Sie unter Logging-Abfragesprache.

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

      Wenn Sie beispielsweise alle Datenzugriffs-Logeinträge an einen Logging-Bucket weiterleiten möchten, können Sie den folgenden Filter verwenden:

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

      Die Länge eines Filters darf 20.000 Zeichen nicht überschreiten.

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

  7. Optional: Konfigurieren Sie einen Ausschlussfilter, um einige der eingeschlossenen Logeinträge zu entfernen:

    1. Rufen Sie den Bereich Auswählen zum Filtern aus der Senke auf.

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

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

  9. Gewähren Sie dem Dienstkonto für die Senke die Berechtigung, Logeinträge an das Ziel der Senke zu schreiben. Weitere Informationen finden Sie unter Zielberechtigungen festlegen.

gcloud

So erstellen Sie eine Senke:

  1. Führen Sie dazu den Befehl gcloud logging sinks create aus.

    gcloud logging sinks create SINK_NAME SINK_DESTINATION
    

    Bevor Sie den Befehl ausführen, ersetzen Sie die folgenden Werte:

    • SINK_NAME: Der Name der Log-Senke. Sie können den Namen eines Sinks nach dem Erstellen nicht mehr ändern.
    • SINK_DESTINATION: Der Dienst oder das Projekt, an das Ihre Logeinträge weitergeleitet werden sollen. Legen Sie SINK_DESTINATION wie unter Zielpfadformate beschrieben auf den entsprechenden Pfad fest.

      Wenn Ihr Senkenziel beispielsweise ein Pub/Sub-Thema ist, sieht SINK_DESTINATION so aus:

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

    Sie können auch Folgendes angeben:

    • --log-filter : Verwenden Sie diese Option, um einen Filter festzulegen, der den Logeinträgen entspricht, die Sie in die Senke aufnehmen möchten. Wenn Sie keinen Wert für den Einschlussfilter angeben, stimmt dieser Filter mit allen Logeinträgen überein.
    • --exclusion: Mit dieser Option können Sie einen Ausschlussfilter für Logeinträge festlegen, die nicht an die Senke weitergeleitet werden sollen. Mit der Funktion sample können Sie auch einen Teil der Logeinträge auswählen, die ausgeschlossen werden sollen. Diese Option kann wiederholt werden. Sie können bis zu 50 Ausschlussfilter pro Senke erstellen.
    • --description: Verwenden Sie diese Option, um den Zweck oder den Anwendungsfall für die Senke zu beschreiben.

    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 finden Sie in der Referenz zu gcloud logging sinks.

  2. Wenn die Befehlsantwort einen JSON-Schlüssel mit der Kennzeichnung "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 Antwort keinen JSON-Schlüssel mit der Kennzeichnung "writerIdentity" enthält.

REST

  1. Verwenden Sie projects.sinks.create in der Logging API, um eine Logging-Senke in Ihrem Google Cloud-Projekt zu erstellen. Geben Sie im LogSink-Objekt die erforderlichen Werte im Methodenanfragetext an:

    • name: Geben Sie eine Kennzeichnung für die Senke an. Beachten Sie, dass Sie die Senke nach deren Erstellung nicht mehr umbenennen, jedoch löschen können. Sie können auch eine neue Senke erstellen.
    • destination: Der Dienst und das Ziel, an das Ihre Logeinträge weitergeleitet werden sollen. Wenn Sie Logeinträge an ein anderes Projekt oder an ein Ziel in einem anderen Projekt weiterleiten möchten, legen Sie das Feld destination wie unter Zielpfadformate beschrieben mit dem entsprechenden Pfad fest.

      Wenn Ihr Senkenziel beispielsweise ein Pub/Sub-Thema ist, sieht die destination so aus:

      pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
      
  2. Geben Sie im LogSink-Objekt die entsprechenden optionalen Informationen an:

    • filter : Legen Sie das Feld filter so fest, dass es den Logeinträgen entspricht, die Sie in die Senke aufnehmen möchten. Wenn Sie keinen Filter festlegen, werden alle Logeinträge 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 Feld 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 Feld 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 der Kennzeichnung "writerIdentity" enthält, gewähren Sie dem Dienstkonto des Sinks die Berechtigung zum Schreiben in das Sink-Ziel. Weitere Informationen finden Sie unter Zielberechtigungen festlegen.

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

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

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

Zielpfadformate

Wenn Sie Protokolleinträge an einen Dienst in einem anderen Projekt weiterleiten, müssen Sie der Senke den vollständig qualifizierten Namen des Dienstes angeben. Wenn Sie Protokolleinträge an ein anderes Google Cloud-Projekt weiterleiten, müssen Sie dem Sink den vollständig qualifizierten Namen des Zielprojekts angeben:

  • Cloud Logging-Log-Bucket:

    logging.googleapis.com/projects/DESTINATION_PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
    
  • Ein anderes Google Cloud-Projekt:

    logging.googleapis.com/projects/DESTINATION_PROJECT_ID
    
  • BigQuery-Dataset:

    bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
    
  • Cloud Storage:

    storage.googleapis.com/BUCKET_NAME
    
  • Pub/Sub-Thema:

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

Senken verwalten

Nachdem die Senken erstellt wurden, können Sie folgende Aktionen für sie ausführen. Es kann einige Minuten dauern, bis Änderungen an einem Sink angewendet werden:

  • Details ansehen
  • Aktualisieren
  • Deaktivieren

    • Sie können die Senke _Required nicht deaktivieren.
    • Sie können die Senke _Default deaktivieren, um zu verhindern, dass Logeinträge an den Logging-Bucket _Default weitergeleitet werden.
    • Wenn Sie die _Default-Senke für alle neuen Google Cloud-Projekte oder ‑Ordner deaktivieren möchten, die in Ihrer Organisation erstellt werden, können Sie die Standardeinstellungen für Ressourcen konfigurieren.
  • Löschen

    • Sie können die Senken _Default und _Required nicht löschen.
    • Wenn Sie eine Senke löschen, werden keine Logeinträge mehr weitergeleitet.
    • Wenn die Senke ein eigenes Dienstkonto hat, wird dieses Dienstkonto beim Löschen der Senke ebenfalls gelöscht. Für Sinks, die vor dem 22. Mai 2023 erstellt wurden, gibt es spezielle Dienstkonten. Auffangstellen, die am oder nach dem 22. Mai 2023 erstellt wurden, haben ein freigegebenes Dienstkonto. Wenn Sie die Senke löschen, wird das freigegebene Dienstkonto nicht gelöscht.
  • Fehler beheben

  • Volumen und Fehlerraten von Protokollen ansehen

Im Folgenden finden Sie eine Anleitung zum Verwalten eines Sinks 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 Log Router auf.

    Zum Logrouter

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

  2. Wählen Sie in der Symbolleiste die Ressource aus, die Ihren Datenablauf enthält. Die Ressource kann ein Projekt, ein Ordner, eine Organisation oder ein Abrechnungskonto sein.

Auf der Seite Log Router werden die Senken in der ausgewählten Ressource angezeigt. Jede Tabellenzeile enthält Informationen zu den Eigenschaften 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 Kennung 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: Datum und Uhrzeit der Erstellung des Sinks.
  • Zuletzt aktualisiert: Datum und Uhrzeit der letzten Bearbeitung des Sinks.

Für jede Tabellenzeile bietet das Dreipunkt-Menü  Weitere Aktionen die folgenden Optionen:

  • Senkendetails ansehen: Zeigt den Namen, die Beschreibung, den Zieldienst, das Ziel, die Einschluss- und Ausschlussfilter der Senke 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 Logeinträgen an das Ziel der Senke. Weitere Informationen zum Deaktivieren von Sinks finden Sie unter Speichern von Protokollen in Log-Buckets beenden.
  • Senke aktivieren: Ermöglicht das Aktivieren einer deaktivierten Senke und den Neustart der Weiterleitung von Protokolleinträgen zum Ziel der Senke.
  • Senke löschen: Ermöglicht das Löschen der Senke und das Beenden der Weiterleitung von Logeinträgen an das Ziel der Senke.
  • Senke beheben: Öffnet den Log-Explorer, in dem Sie Fehler mit der Senke beheben können.
  • Volumen und Fehlerraten des Senkenlogs ansehen: Der Metrics Explorer wird geöffnet, in dem Sie Daten aus der Senke ansehen und analysieren können.

Wenn Sie die Tabelle nach einer Spalte sortieren möchten, wählen Sie den Spaltennamen aus.

gcloud

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

    gcloud logging sinks list
    

    Um die Liste der aggregierten Senken aufzurufen, verwenden Sie die entsprechende Option, um die Ressource anzugeben, die die Senke enthält. Wenn Sie beispielsweise die Senke auf Organisationsebene erstellt haben, verwenden Sie die Option --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 die Option --disabled ein:

    gcloud logging sinks update SINK_NAME --disabled
    

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

    gcloud logging sinks update SINK_NAME --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.

REST

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

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

  • Rufen Sie projects.sink.update auf, um eine Senke zu aktualisieren.

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

  • Wenn Sie einen Abfluss deaktivieren möchten, setzen Sie das Feld disabled im LogSink-Objekt auf true und rufen Sie dann projects.sink.update auf.

    Wenn Sie die Senke wieder aktivieren möchten, setzen Sie das Feld disabled im LogSink-Objekt auf false und rufen Sie dann projects.sink.update auf.

  • Wenn Sie einen Abfluss löschen möchten, rufen Sie projects.sinks.delete auf.

    Weitere Informationen zum Verwalten von Senken mit der Logging API finden Sie in der LogSink-Referenz.

Speichern von Logeinträgen in Log-Buckets beenden

Sie können den _Default-Sink und alle benutzerdefinierten Sinks deaktivieren. Wenn Sie eine Senke deaktivieren, werden keine Logeinträge mehr an das Ziel der Senke weitergeleitet. Wenn Sie beispielsweise die _Default-Senke deaktivieren, werden keine Logeinträge an den _Default-Bucket weitergeleitet. Der _Default-Bucket ist leer, wenn alle zuvor gespeicherten Logeinträge die Aufbewahrungsdauer des Buckets erfüllt haben.

In der folgenden Anleitung wird beschrieben, wie Sie die Senken Ihres Google Cloud-Projekts deaktivieren, die Logeinträge an die _Default-Log-Buckets weiterleiten:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Log Router auf.

    Zum Logrouter

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

  2. Filtern Sie die Senken nach Ziel und geben Sie _Default ein, um alle Senken zu ermitteln, die Logeinträge an den _Default-Log-Bucket weiterleiten.
  3. Wählen Sie für jede Senke das Dreipunkt-Menü  Menü und dann Senke deaktivieren aus.

    Die Senken sind jetzt deaktiviert und Ihr Google Cloud-Projekt-Senken leiten keine Logeinträge mehr an den _Default-Bucket weiter.

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

  1. Rufen Sie in der Google Cloud Console die Seite Log Router auf.

    Zum Logrouter

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

  2. Filtern Sie die Senken nach Ziel und geben Sie _Default ein, um alle Senken zu ermitteln, die Logeinträge an den _Default-Log-Bucket weiterleiten.
  3. Wählen Sie für jede Senke das Dreipunkt-Menü   und dann Senke aktivieren aus.

gcloud

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

    gcloud logging sinks list
    
  2. Identifizieren Sie alle Senken, die an den _Default-Log-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. Führen Sie den Befehl gcloud logging sinks update mit der Option --disabled aus. Um die Senke _Default zu deaktivieren, verwenden Sie beispielsweise den folgenden Befehl:

    gcloud logging sinks update _Default  --disabled
    

    Die Senke _Default ist jetzt deaktiviert. Sie leitet keine Logeinträge mehr an den _Default-Log-Bucket weiter.

Wiederholen Sie die vorherigen 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 die Option --disabled und fügen Sie die Option --no-disabled ein:

gcloud logging sinks update _Default  --no-disabled

REST

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

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

  2. Wenn Sie beispielsweise die Senke _Default deaktivieren möchten, setzen Sie das Feld disabled im LogSink-Objekt auf true und rufen Sie dann projects.sink.update auf.

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

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

Wenn Sie eine Senke wieder aktivieren möchten, setzen Sie das Feld disabled im LogSink-Objekt auf false und rufen Sie dann projects.sink.update auf.

Zielberechtigungen festlegen

In diesem Abschnitt wird beschrieben, wie Sie Logging die IAM-Berechtigungen (Identity and Access Management) zum Schreiben von Logeinträgen an das Ziel der Senke gewähren. Eine vollständige Liste der Logging-Rollen und -Berechtigungen finden Sie unter Zugriffssteuerung.

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

Die Identität des Autors eines Sinks ist die Kennung des Dienstkontos, das mit diesem Sink verknüpft ist. Alle Senken haben eine Autorenidentität, mit Ausnahme von Senken, die in einen Log-Bucket im selben Google Cloud-Projekt schreiben, aus dem der Logeintrag stammt. Für die letzte Konfiguration ist kein Dienstkonto erforderlich. Daher wird das Feld writer identity der Senke in der Console als None aufgeführt. Die API und die Google Cloud CLI-Befehle geben keine Identität des Autors an.

Die folgende Anleitung gilt für Projekte, Ordner, Organisationen und Rechnungskonten:

Console

  1. Sie benötigen Inhaberzugriff auf das Google Cloud-Projekt, das das Ziel enthält. Wenn Sie nicht die Rolle Inhaber für das Ziel der Senke haben, bitten Sie einen Projektinhaber, die Identität des Autors als Hauptbenutzer hinzuzufügen.

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

    1. Rufen Sie in der Google Cloud Console die Seite Log Router auf.

      Zum Logrouter

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

    2. Wählen Sie in der Symbolleiste das Projekt aus, das den Abfluss enthält.
    3. Wählen Sie Menü und dann Senkendetails ansehen aus. Die Identität des Autors wird im Feld Senkendetails angezeigt.
  3. 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.

  4. Kopieren Sie die Identität des Autors der Senke in die Zwischenablage.

  5. Wenn das Ziel ein Dienst in einem anderen Projekt oder ein anderes Projekt ist, wählen Sie in der Symbolleiste das Zielprojekt aus.

  6. Fügen Sie das Dienstkonto als IAM-Hauptkonto im Zielprojekt hinzu:

    1. Öffnen Sie in der Google Cloud Console die Seite IAM:

      Rufen Sie IAM auf.

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

    2. Wählen Sie das Zielprojekt aus.

    3. Klicken Sie auf Zugriff erlauben.

    4. Weisen Sie dem Dienstkonto die erforderliche IAM-Rolle zu:

      • Wenn Sie Cloud Storage-Ziele verwenden, fügen Sie die Identität des Autors der Senke mithilfe von IAM als Principal hinzu und weisen Sie ihr dann die Rolle Storage-Objekt-Ersteller (roles/storage.objectCreator) zu.
      • Wenn Sie BigQuery-Ziele verwenden, fügen Sie die Identität des Autors der Senke mithilfe von IAM als Principal hinzu und weisen Sie ihr dann die Rolle BigQuery-Datenbearbeiter (roles/bigquery.dataEditor) zu.
      • Wenn Sie Pub/Sub-Ziele, einschließlich Splunk, verwenden, fügen Sie die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle Pub/Sub-Publisher (roles/pubsub.publisher) zu.
      • Wenn Sie Logging-Bucket-Ziele in verschiedenen Google Cloud-Projekten verwenden möchten, fügen Sie die Autorenidentität der Senke mithilfe von IAM als Principal hinzu und weisen Sie ihr dann die Rolle Logs Bucket Writer (roles/logging.bucketWriter) zu.
      • Fügen Sie für Ziele in Google Cloud-Projekten die Identität des Autors der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren Sie ihm dann die Rolle Logautor (roles/logging.logWriter). Insbesondere benötigt ein Hauptkonto die Berechtigung logging.logEntries.route.

gcloud

  1. Sie benötigen Inhaberzugriff auf das Google Cloud-Projekt, das das Ziel enthält. Wenn Sie nicht die Rolle Inhaber für das Ziel der Senke haben, bitten Sie einen Projektinhaber, die Identität des Autors als Hauptbenutzer hinzuzufügen.

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

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

    Die Identität des Autors für das Dienstkonto sieht in etwa so aus:

    serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
    
  4. Fügen Sie das Dienstkonto als IAM-Hauptkonto im Zielprojekt hinzu:

    Bevor Sie den folgenden Befehl verwenden, nehmen Sie die folgenden Ersetzungen vor:

    • PROJECT_ID: Die Kennung des Projekts.
    • PRINCIPAL: Eine Kennung für das Hauptkonto, dem Sie die Rolle zuweisen möchten. Hauptkonto-Kennzeichnungen haben normalerweise das folgende Format: PRINCIPAL-TYPE:ID. Beispiel: user:my-user@example.com Eine vollständige Liste der Formate für PRINCIPAL finden Sie unter Hauptkonto-IDs.
    • ROLE: Eine IAM-Rolle.

      • Wenn Sie Cloud Storage-Ziele verwenden, fügen Sie die Identität des Autors der Senke mithilfe von IAM als Principal hinzu und weisen Sie ihr dann die Rolle Storage-Objekt-Ersteller (roles/storage.objectCreator) zu.
      • Wenn Sie BigQuery-Ziele verwenden, fügen Sie die Identität des Autors der Senke mithilfe von IAM als Principal hinzu und weisen Sie ihr dann die Rolle BigQuery-Datenbearbeiter (roles/bigquery.dataEditor) zu.
      • Wenn Sie Pub/Sub-Ziele, einschließlich Splunk, verwenden, fügen Sie die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle Pub/Sub-Publisher (roles/pubsub.publisher) zu.
      • Wenn Sie Logging-Bucket-Ziele in verschiedenen Google Cloud-Projekten verwenden möchten, fügen Sie die Autorenidentität der Senke mithilfe von IAM als Principal hinzu und weisen Sie ihr dann die Rolle Logs Bucket Writer (roles/logging.bucketWriter) zu.
      • Fügen Sie für Ziele in Google Cloud-Projekten die Identität des Autors der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren Sie ihm dann die Rolle Logautor (roles/logging.logWriter). Insbesondere benötigt ein Hauptkonto die Berechtigung logging.logEntries.route.

    Führen Sie den Befehl gcloud projects add-iam-policy-binding aus:

    gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role=ROLE
    

REST

Wir empfehlen, die Google Cloud Console oder die Google Cloud CLI zu verwenden, um dem Dienstkonto eine Rolle zuzuweisen.

Einschränkungen für Ziele

In diesem Abschnitt werden zielspezifische Einschränkungen beschrieben:

  • Wenn Sie Logeinträge an einen Log-Bucket in einem anderen Google Cloud-Projekt weiterleiten, werden diese Logeinträge nicht von Error Reporting analysiert. Weitere Informationen finden Sie unter Fehlerberichte – Übersicht.
  • Wenn Sie Logeinträge an BigQuery weiterleiten, muss das BigQuery-Dataset für das Schreiben aktiviert sein. Sie können Logeinträge nicht an verknüpfte Datasets weiterleiten, die schreibgeschützt sind.
  • Wenn Sie Ihre Logeinträge an verschiedene Google Cloud-Projekte weiterleiten, gelten die folgenden Einschränkungen:

    • Es gilt ein Hop-Limit von einem.

      Wenn Sie beispielsweise Logeinträge aus Projekt A an Projekt B weiterleiten, können Sie die Logeinträge aus Projekt B nicht an ein anderes Projekt weiterleiten.

    • Audit-Logs werden nicht an den _Required-Log-Bucket im Zielprojekt weitergeleitet.

      Wenn Sie beispielsweise Logeinträge aus Projekt A an Projekt B weiterleiten, enthält der Log-Bucket _Required in Projekt A die Audit-Logs für Projekt A. Die Audit-Logs für das Projekt A werden nicht an das Projekt B weitergeleitet. Um diese Logeinträge weiterzuleiten, erstellen Sie eine Senke, deren Ziel ein Log-Bucket ist.

    • Wenn sich das Zielprojekt in einem anderen Ordner oder einer anderen Organisation befindet, wird der Logeintrag nicht an die aggregierten Senken in diesem Ordner oder dieser Organisation weitergeleitet.

      Angenommen, Projekt A befindet sich im Ordner X. Wenn ein Logeintrag aus dem Projekt A stammt, wird er von den aggregierten Senken im Ordner X und den Senken im Projekt A verarbeitet. Angenommen, Projekt A enthält eine Senke, die die Logeinträge an Projekt B weiterleitet, das sich im Ordner Y befindet. Die Logeinträge aus Projekt A werden durch die Senken in Projekt B geleitet, jedoch nicht durch die aggregierten Senken im Ordner Y.

  • Wenn Sie im Log-Explorer die Logeinträge aufrufen möchten, die über einen aggregierten Datensammler an ein Projekt weitergeleitet wurden, legen Sie im Feld Bereich eingrenzen den Speicherbereich fest und wählen Sie dann eine Loganzeige aus, die Zugriff auf diese Logeinträge gewährt.

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.

Senkenfilter _Default wiederherstellen

Wenn Sie den Filter für die Senke _Default bearbeitet haben, empfiehlt es sich, die ursprüngliche Konfiguration dieser Senke wiederherzustellen. Beim Erstellen wird die _Default-Senke mit dem folgenden Einschlussfilter und einem leeren Ausschlussfilter konfiguriert:

  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-Logeinträge 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-Knoten-Logeinträge 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")

Verwenden Sie den Metrics Explorer, um das Volumen der in Log-Buckets gespeicherten Google Kubernetes Engine-Knoten-, Pod- und Container-Logeinträge aufzurufen:

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

Verwenden Sie den folgenden Filter, um Dataflow-Logeinträge 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"

Verwenden Sie den Metrics Explorer, um die Menge an Dataflow-Logs aufzurufen, die in Log-Buckets gespeichert sind.

Support

In Cloud Logging können Sie zwar Logeinträge ausschließen und verhindern, dass sie in einem Log-Bucket gespeichert werden, doch sollten Sie Logeinträge beibehalten, die für den Support hilfreich sein. Anhand dieser Protokolleinträge können Probleme mit Ihren Anwendungen behoben und identifiziert werden.

GKE-Systemprotokolleinträge 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 Protokolleinträge 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 Ihnen, mindestens Ihre Systemlogs (labels."dataflow.googleapis.com/log_type"="system") und Ihre Supportlogs (labels."dataflow.googleapis.com/log_type"="supportability") in Log-Buckets zu schreiben. Diese Logs sind wichtig, damit Entwickler ihre Dataflow-Pipelines beobachten und Fehler beheben können und Nutzer können möglicherweise nicht die Dataflow-Seite Jobdetails verwenden, um Joblogs ansehen andernfalls.

Nächste Schritte