Senken konfigurieren und verwalten

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

Übersicht

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

Senken gehören zu einer bestimmten Google Cloud-Ressource: Cloud-Projekte, Rechnungskonten, Ordner und Organisationen. Wenn die Ressource einen Logeintrag erhält, wird der Logeintrag gemäß den von dieser Ressource enthaltenen Senken weitergeleitet. Der Logeintrag wird an das Ziel gesendet, das mit jeder übereinstimmenden Senke verknüpft ist.

Sie können auch aggregierte Senken erstellen, um anzugeben, dass Logeinträge aus den Google Cloud-Ressourcen in einer Organisation oder einem Ordner kombiniert und weitergeleitet werden. Eine Anleitung finden Sie unter Aggregierte Senken konfigurieren.

Sie können Senken mit der Google Cloud Console, der Cloud Logging API und der Google Cloud CLI erstellen und verwalten. Die Google Cloud Console bietet gegenüber den anderen Methoden folgende Vorteile:

  • Sie können sich 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

Unterstützte Ziele

Sie können Logs an folgende Ziele weiterleiten:

  • Cloud Storage: JSON-Dateien, die in Cloud Storage-Buckets gespeichert sind.
  • Pub/Sub: JSON-Nachrichten, die an Pub/Sub-Themen gesendet werden Unterstützt Drittanbieter-Integrationen wie Splunk mit Logging.
  • BigQuery: Tabellen, die in BigQuery-Datasets erstellt wurden.
  • Ein weiterer Cloud Logging-Bucket: Logeinträge in Log-Buckets von Cloud Logging.

Hinweis

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

Prüfen Sie zuerst Folgendes:

  • Sie haben ein Google Cloud-Projekt mit Logs, die Sie im Log-Explorer sehen können.

  • Sie haben eine der folgenden IAM-Rollen für das Cloud-Quellprojekt, von dem Sie Logs weiterleiten.

    • Inhaber (roles/owner)
    • Logging-Administrator (roles/logging.admin)
    • Autor von Log-Konfigurationen (roles/logging.configWriter)

    Mit den in diesen Rollen enthaltenen Berechtigungen können Sie Senken erstellen, löschen oder ändern. Informationen zum Festlegen von IAM-Rollen finden Sie in der Anleitung zur Zugriffssteuerung für Logging.

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

    Das Routingziel muss vor der Senke über die Google Cloud-Befehlszeile, die Google Cloud Console oder die Google Cloud APIs erstellt werden. Sie können das Ziel in jedem Cloud-Projekt in jeder Organisation erstellen. Achten Sie aber zuerst darauf, dass das Dienstkonto von der Senke Berechtigungen zum Schreiben in das Ziel hat.

Tipp: Wenn du die Default-Senke für alle neuen Cloud-Projekte oder -Ordner in deiner Organisation deaktivieren möchtest, kannst du die Standardressourceneinstellungen konfigurieren.

Senke erstellen

Führen Sie die folgenden Schritte aus, um eine Senke in einem Cloud-Projekt zu erstellen. Statt eines Cloud-Projekts können Sie ein Rechnungskonto, einen Ordner oder eine Organisation angeben.

Sie können bis zu 200 Senken pro 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 Logs Router auf:

    Zum Log-Router

  2. Wählen Sie ein vorhandenes 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 aus:

    • Senkendienst auswählen: Wählen Sie den Dienst aus, an den Ihre Logs weitergeleitet werden sollen.

    Je nach ausgewähltem Dienst können Sie aus den folgenden Zielen auswählen:

    • 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 es.
    • Splunk: Wählen Sie das Pub/Sub-Thema für den Splunk-Dienst aus.
    • Anderes Cloud-Projekt: Fügen Sie die Logging-, BigQuery-, Cloud Storage- oder Pub/Sub- Dienstinformationen und Zielinformationen manuell im folgenden Format hinzu:

      SERVICE.googleapis.com/projects/PROJECT_ID/SINK_DESTINATION/DESTINATION_ID
      

      Wenn Ihr Senkenziel beispielsweise ein BigQuery-Dataset ist, wäre das Senkenziel Folgendes:

      bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
      

      Wenn Sie Logs zwischen Cloud-Projekten weiterleiten, benötigen Sie trotzdem die entsprechenden Zielberechtigungen.

  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 Build-Einschlussfilter einen Filterausdruck ein, der den Logeinträgen entspricht, die Sie aufnehmen möchten. Wenn Sie keinen Filter festlegen, werden alle Logs aus 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: Gehen Sie im Bereich Protokolle zum Filtern aus der Senke auswählen so vor:

    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 Cloud-Projekt projects.sinks.create in der Logging API. Geben Sie im LogSenke-Objekt die entsprechenden erforderlichen Werte im Anfragetext an:

    • name: Eine Kennung für die Senke. Nachdem Sie die Senke erstellt haben, können Sie die Senke nicht umbenennen, aber löschen und eine neue Senke erstellen.
    • destination: Der Dienst und das Ziel, zu dem Ihre Logs weitergeleitet werden sollen. Wenn Ihr Senkenziel beispielsweise ein BigQuery-Dataset ist, sieht destination so aus:

      bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
      
  2. Geben Sie im LogSenke-Objekt 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 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. Rufen Sie den Namen des Dienstkontos aus dem Feld writer_identity ab, das von der API-Antwort zurückgegeben wurde.

  5. Erteilen Sie diesem Dienstkonto Schreibzugriff auf das Senkenziel.

    Wenn Sie keine Berechtigung zu dieser Änderung für das Senkenziel haben, senden Sie den Namen des Dienstkontos an einen Nutzer mit der erforderlichen Berechtigung.

    Weitere Informationen zum Zuweisen von Ressourcenberechtigungen zu Dienstkonten finden Sie im Abschnitt Zielberechtigungen festlegen.

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

gcloud

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

Geben Sie die folgenden Werte für die Variablen im Befehl ein:

  • SINK_NAME: Eine Kennung für die Senke. Nachdem Sie die Senke erstellt haben, können Sie sie nicht umbenennen, aber löschen und eine neue Senke erstellen.
  • SINK_DESTINATION: Der Dienst und das Ziel, zu dem Ihre Logs weitergeleitet werden sollen. Wenn Ihr Senkenziel beispielsweise ein BigQuery-Dataset ist, sieht SINK_DESTINATION so aus:

    bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
    
  • OPTIONAL_FLAGS umfasst 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 Cloud-Projekt an das Ziel weitergeleitet.
    • --exclusion: Verwenden Sie dieses Flag, um einen Ausschlussfilter für Logeinträge festzulegen, die Sie aus Ihrer 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 den Anwendungsfall für die 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-Befehlszeile, 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 weitergeleitet werden. Senken für Cloud Storage werden stündlich verarbeitet, während andere Zieltypen in Echtzeit verarbeitet werden.

Informationen zum Aufrufen von Logs in den Senkenzielen finden Sie unter Umgeleitete Logs suchen.

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.

Logs zwischen Log-Buckets in verschiedenen Cloud-Projekten weiterleiten

Sie können Logs an ein Ziel in einem anderen Cloud-Projekt weiterleiten, als dem Projekt, in dem die Senke erstellt wird.

Dazu haben Sie folgende Möglichkeiten:

  • Weisen Sie dem Dienstkonto Ihrer Senke die Rolle roles/logging.bucketWriter zu, um in das Ziel zu schreiben. Eine Anleitung finden Sie unter Zielberechtigungen.

  • Sie haben eine der folgenden IAM-Berechtigungen für das Cloud-Quellprojekt, von dem aus Sie Logs senden.

    • Inhaber (roles/owner)
    • Logging-Administrator (roles/logging.admin)
    • Autor von Log-Konfigurationen (roles/logging.configWriter)

    Wenn Sie einen neuen Logging-Bucket im Cloud-Zielprojekt erstellen, müssen Sie eine dieser Berechtigungen haben.

Senken verwalten

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

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

Beachten Sie beim Löschen einer Senke Folgendes:

  • Sie können die _Default- und die _Required-Senken nicht löschen, aber _Default-Senken deaktivieren, um das Routing von Logs an _Default-Logging-Buckets zu beenden.
  • Nach dem Löschen einer Senke werden keine Logeinträge mehr weitergeleitet.
  • Wenn eine Senke gelöscht wird, wird auch ihr Dienstkonto gelöscht.

Es kann einige Minuten dauern, bis Änderungen an einer Senke übernommen werden.

Führen Sie die folgenden Schritte aus, um eine Senke in einem Cloud-Projekt zu verwalten. Anstelle eines Cloud-Projekts können Sie ein Rechnungskonto, einen Ordner oder eine Organisation angeben:

Console

Sie können die Senken auf der Seite Logs Router ansehen und verwalten:

Zum Log-Router

Wählen Sie das Cloud-Projekt mit der Senke aus. Verwenden Sie dazu die Ressourcenauswahl von überall in der Google Cloud Console:

Auswahl eines Projekts aus dem Dropdown-Menü

Wählen Sie die Organisation, den Ordner oder das Rechnungskonto aus, das die Senke enthält, um die aggregierten Senken aufzurufen.

Die Seite Logs Router enthält eine tabellarische Zusammenfassung der Senken. Jede Tabellenzeile enthält Informationen zu den Properties 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, 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.

In jeder Tabellenzeile befindet sich ein Menü  mit folgenden Optionen:

  • Senkendetails ansehen: Name, Beschreibung, Zieldienst, Ziel und Ein- und Ausschlussfilter der Senke anzeigen 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 Logaufnahme 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 Raten der 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 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 eine Senke deaktivieren möchten, rufen Sie 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 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 Referenz zu LogSink.

gcloud

  • Verwenden Sie den Befehl gcloud logging sinks list, um die Liste der Senken für Ihr 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 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

    Lass 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
    
  • Wenn Sie eine Senke deaktivieren möchten, verwenden Sie 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.

Aufnahme von Logs beenden

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

Sie können die _Required-Senke nicht deaktivieren. Es gelten weder die Aufnahmepreise noch die Speicherpreise für die im _Required-Bucket gespeicherten Logs. Sie können die Senke _Default deaktivieren, um zu verhindern, dass Logs in den _Default-Bucket aufgenommen werden. Sie können auch benutzerdefinierte Senken deaktivieren.

Wenn Sie die Logaufnahme für den _Default-Bucket beenden, indem Sie alle Senken in Ihrem Cloud-Projekt deaktivieren, die Logs an den _Default-Bucket senden, werden Ihrem Cloud-Projekt für den _Default-Bucket keine neuen Gebühren für die Cloud Logging-Aufnahmegebühren angerechnet. Der _Default-Bucket ist leer, wenn alle zuvor aufgenommenen Logs im _Default-Bucket die Aufbewahrungsdauer des Buckets erfüllt haben.

So deaktivieren Sie Cloud-Projektsenken, die Logs an den _Default-Bucket weiterleiten:

Console

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

    Zum Log-Router

  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 Ihr Cloud-Projekt-Senken leiten keine Logs mehr an den _Default-Bucket 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 Logs Router auf:

    Zum Log-Router

  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 die Option Menü und dann Senke aktivieren aus.

API

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

    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 Cloud-Projekt zu deaktivieren, die an den _Default-Bucket weiterleiten.

Wenn Sie eine Senke wieder aktivieren möchten, rufen Sie projects.sink.update auf und setzen Sie die Property disabled auf false.

gcloud

  1. Verwenden Sie den Befehl gcloud logging sinks list, um die Liste der Senken für Ihr 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-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 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.

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

Wenn Sie eine Senke zum Weiterleiten von Logs zwischen Logging-Buckets im selben Cloud-Projekt verwenden, wird kein neues Dienstkonto erstellt. Die Senke funktioniert ohne die eindeutige Identität des Autors. Wenn Sie eine Senke zum Weiterleiten von Logs zwischen Logging-Buckets in verschiedenen Cloud-Projekten verwenden, wird ein neues Dienstkonto erstellt.

Im Folgenden finden Sie die Anleitung zum Festlegen von Cloud-Projektberechtigungen für die Senke zum Ziel. Anstelle eines Cloud-Projekts können Sie ein Rechnungskonto, einen Ordner oder eine Organisation angeben:

Console

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

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

      Zum Log-Router

    2. Wählen Sie Menü und dann Details zu Senke ansehen aus. Die Identität des Autors erscheint im Steuerfeld Details zur Senke.

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

  2. Wenn Sie die Rolle Inhaber für das Ziel haben, fügen Sie dem Ziel das Dienstkonto so hinzu:

    • Wenn Sie Cloud Storage-Ziele verwenden, fügen Sie die Autorenidentität der Senke dem Cloud Storage-Bucket hinzu und weisen ihr die Rolle Storage-Objekt-Ersteller zu.
    • Wenn Sie BigQuery-Ziele verwenden, fügen Sie die Autorenidentität der Senke dem Dataset hinzu und weisen ihr die Rolle BigQuery-Dateneditor zu.
    • Wenn Sie Pub/Sub-Ziele, einschließlich Splunk, verwenden, fügen Sie die Autorenidentität der Senke dem Thema hinzu und weisen ihr die Rolle Pub/Sub-Publisher zu.
    • Fügen Sie zum Festlegen von Bucket-Zielen in verschiedenen Cloud-Projekten die Senkenidentität des Autors in den Ziel-Log-Bucket ein und erteilen Sie die Berechtigung roles/logging.bucketWriter.

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

API

  1. Rufen Sie die API-Methode projects.sinks.create oder projects.sinks.update auf, um die Senke zu erstellen oder zu ändern.

    Legen Sie uniqueWriterIdentity auf true fest. Wenn Sie eine Senke aktualisieren, können Sie von der Verwendung eines gemeinsamen Autors zu einem eindeutigen Autor wechseln. Wenn die vorhandene Senke bereits einen eindeutigen Autor verwendet, wird für die aktualisierte Senke derselbe Autor verwendet.

    Die Methoden geben die neue Senke zurück, die die neue Autorenidentität enthält.

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

    • Wenn Sie Cloud Storage-Ziele verwenden, fügen Sie die Autorenidentität der Senke dem Cloud Storage-Bucket hinzu und weisen ihr die Rolle Storage-Objekt-Ersteller zu.
    • Wenn Sie BigQuery-Ziele verwenden, fügen Sie die Autorenidentität der Senke dem Dataset hinzu und weisen ihr die Rolle BigQuery-Dateneditor zu.
    • Wenn Sie Pub/Sub-Ziele, einschließlich Splunk, verwenden, fügen Sie die Autorenidentität der Senke dem Thema hinzu und weisen ihr die Rolle Pub/Sub-Publisher zu.
    • Wenn Sie Logging-Bucket-Ziele in verschiedenen Cloud-Projekten verwenden möchten, fügen Sie die Autorenidentität der Senke dem Ziel-Log-Bucket hinzu und weisen die Berechtigung roles/logging.bucketWriter zu.

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

gcloud

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

    gcloud logging sinks describe SINK_NAME
    

    Das Dienstkonto sieht in etwa so aus:

    serviceAccount:p123456789012-12345@gcp-sa-logging.iam.gserviceaccount.com
    
  2. Wenn Sie die IAM-Rolle Inhaber für das Ziel haben, fügen Sie dem Ziel das Dienstkonto so hinzu:

    • Wenn Sie Cloud Storage-Ziele verwenden, fügen Sie die Autorenidentität der Senke dem Cloud Storage-Bucket hinzu und weisen ihr die Rolle Storage-Objekt-Ersteller zu.
    • Wenn Sie BigQuery-Ziele verwenden, fügen Sie die Autorenidentität der Senke dem Dataset hinzu und weisen ihr die Rolle BigQuery-Dateneditor zu.
    • Wenn Sie Pub/Sub-Ziele, einschließlich Splunk, verwenden, fügen Sie die Autorenidentität der Senke dem Thema hinzu und weisen ihr die Rolle Pub/Sub-Publisher zu.
    • Wenn Sie Logging-Bucket-Ziele in verschiedenen Cloud-Projekten verwenden möchten, fügen Sie die Autorenidentität der Senke dem Ziel-Log-Bucket hinzu und weisen die Berechtigung roles/logging.bucketWriter zu.

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

    Wenn Sie beispielsweise Logs zwischen Logging-Buckets in verschiedenen Cloud-Projekten weiterleiten, fügen Sie dem Dienstkonto roles/logging.bucketWriter so hinzu:

    1. Rufen Sie die Identity and Access Management-Richtlinie für das Ziel-Cloud-projekt ab und schreiben Sie sie in eine lokale Datei im JSON-Format:

      gcloud projects get-iam-policy DESTINATION_PROJECT_ID --format json > output.json
      
    2. Fügen Sie eine IAM-Bedingung hinzu, die das Dienstkonto nur zum Schreiben in den von Ihnen erstellten Cloud Logging-Bucket berechtigt. Beispiel:

      {
      "bindings": [
       {
         "members": [
           "user:username@gmail.com"
         ],
         "role": "roles/owner"
       },
       {
         "members": [
           "[SERVICE_ACCOUNT]"
         ],
         "role": "roles/logging.bucketWriter",
         "condition": {
             "title": "Bucket writer condition example",
             "description": "Grants logging.bucketWriter role to service account [SERVICE_ACCOUNT] used by log sink [SINK_NAME]",
             "expression":
               "resource.name.endsWith(\'locations/global/buckets/BUCKET_ID\')"
         }
       }
      ],
      "etag": "BwWd_6eERR4=",
      "version": 3
      }
    3. Aktualisieren Sie die IAM-Richtlinie:

      gcloud projects set-iam-policy DESTINATION_PROJECT_ID output.json
      

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 hilfreich sind.

Weitere Beispiele, die bei der Erstellung von Ein- und Ausschlussfiltern hilfreich sein können, finden Sie unter Beispielabfragen.

Filter für Senke _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 Logs zu Google Kubernetes Engine-Knoten 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")

Um das Volumen von Google Kubernetes Engine Knoten-, Pod- und Container-Logdaten, die in Cloud Logging aufgenommen, zu sehen, verwenden Sie Metrics-Explorer in Cloud Monitoring.

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"

Verwenden Sie den Metrics Explorer in Cloud Monitoring, um die in Cloud Logging aufgenommene Menge an Dataflow-Logdaten aufzurufen.

Support

In Cloud Logging können Sie zwar Logs von der Aufnahme ausschließen, doch sollten Sie Logs beibehalten, die für den Support hilfreich sein. 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 Ihnen, mindestens Ihre Systemlogs (labels."dataflow.googleapis.com/log_type"="system") und Ihre Supportlogs (labels."dataflow.googleapis.com/log_type"="supportability") aufzunehmen. 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.

Weitere Informationen