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 sie entsprechend den in der 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 Cloud Console, der Cloud Logging API und dem gcloud-Befehlszeilentool erstellen und verwalten. Die Verwendung der Cloud Console bietet gegenüber den anderen Methoden folgende Vorteile:

  • Alle 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-formatierte Nachrichten, die an Pub/Sub-Themen gesendet werden. Unterstützt die Integration von Drittanbietern wie Splunk in Logging.
  • BigQuery: Tabellen, die in BigQuery-Datasets erstellt wurden.
  • Ein weiterer Cloud Logging-Bucket: Logeinträge in Log-Buckets von Cloud Logging.

Hinweis

Beachten Sie, dass in dieser Anleitung das Erstellen und Verwalten von Senken auf Cloud-Projektebene beschrieben wird. Sie können jedoch (nicht aggregierte) Senken für Rechnungskonten, Ordner und Organisationen erstellen. Achten Sie als Erstes auf 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 entweder über das gcloud-Befehlszeilentool, die Cloud Console oder die Google Cloud APIs erstellt werden. Sie können das Ziel in jedem Cloud-Projekt jeder Organisation erstellen. Das Dienstkonto aus der Senke muss jedoch Berechtigungen zum Schreiben in das Ziel haben.

Senke erstellen

In dieser Anleitung wird beschrieben, wie Sie eine Senke in einem Cloud-Projekt erstellen. Anstelle eines Cloud-Projekts können Sie auch ein Rechnungskonto, einen Ordner oder eine Organisation angeben.

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

So erstellen Sie eine Senke:

Console

  1. Rufen Sie in der Cloud Console die Seite Logging > Log 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
      

      Beachten Sie, dass Sie beim Routing von Logs zwischen Cloud-Projekten dennoch die entsprechenden Zielberechtigungen benötigen.

  6. Führen Sie im Bereich Logs auswählen, die in der Senke enthalten sein sollen die folgenden Schritte aus:

    1. Wählen Sie Nur von dieser Ressource aufgenommene Logs einschließen aus. Dadurch wird eine nicht aggregierte Senke erstellt.

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

    3. 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 Logs auswählen, die aus der Senke ausgeschlossen werden sollen 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 Objekt LogSink die entsprechenden erforderlichen Werte im Anfragetext für die Methode 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 Logs weitergeleitet werden sollen. Wenn das Senkenziel beispielsweise ein BigQuery-Dataset ist, würde destination so aussehen:

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

    • filter: Legen Sie das Attribut filter so fest, dass es den Logeinträgen entspricht, die Sie in die Senke aufnehmen möchten. Wenn Sie keinen Filter festlegen, werden alle Logs aus Ihrem 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.Sink.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 mithilfe der Logging API finden Sie in der Referenz zu LogsSink.

gcloud

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

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

  • SINK_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.
  • SINK_DESTINATION: Der Dienst und das Ziel, an das Ihre Logs weitergeleitet werden sollen. Wenn das Senkenziel beispielsweise ein BigQuery-Dataset ist, würde SINK_DESTINATION so aussehen:

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

    • --log-filter: Verwenden Sie dieses Flag, um einen Filter festzulegen, der den Logeinträgen entspricht, die Sie in die Senke aufnehmen möchten. Wenn Sie keinen Filter festlegen, werden alle Logs aus Ihrem Cloud-Projekt an das Ziel weitergeleitet.
    • --exclusion: Verwenden Sie dieses Flag, um einen Ausschlussfilter für Logeinträge festzulegen, die Sie aus der Senke ausschließen möchten. Mit der Funktion sample können Sie auch einen Teil der Logeinträge auswählen, die ausgeschlossen werden sollen. Dieses Flag kann wiederholt werden. Sie können bis zu 50 Ausschlussfilter pro Senke erstellen.
    • --description: Verwenden Sie dieses Flag, um den Zweck oder 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 dem gcloud-Befehlszeilentool, einschließlich weiterer Flags und Beispiele, finden Sie in der gcloud logging sinks-Referenz.

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

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.

Führen Sie dazu einen der folgenden Schritte aus:

  • 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
  • Senken aktualisieren
  • Senken deaktivieren
  • Senken löschen

In dieser Anleitung wird beschrieben, wie Sie eine Senke in einem Cloud-Projekt verwalten. Anstelle eines Cloud-Projekts können Sie auch ein Rechnungskonto, einen Ordner oder eine Organisation angeben:

Console

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

Zum "Log Router"

Prüfen Sie, ob Sie das Cloud-Projekt ausgewählt haben, das die Senke enthält. Verwenden Sie dazu die Ressourcenauswahl an einem beliebigen Ort in der Cloud Console:

Auswahl eines Projekts aus dem Dropdown-Menü

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

Die Seite Log Router enthält eine Tabellenübersicht für 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 ID der 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.
  • Aktualisiert: Das Datum und die Uhrzeit der letzten Bearbeitung der Senke.

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

  • Details der Senke ansehen: Zeigt den Namen, die Beschreibung, den Zieldienst, das Ziel sowie die Ein- 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 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. Die Senken _Default und _Required können nicht gelöscht werden, aber die Senke _Default kann deaktiviert werden, um die Weiterleitung von Logs an den _Default-Logging-Bucket zu beenden.

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.

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

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

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

    Beachten Sie, dass beim Löschen einer Senke keine Logeinträge aus dieser mehr weitergeleitet werden.

    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

    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
    

    Beachten Sie, dass beim Löschen einer Senke keine Logeinträge aus dieser mehr weitergeleitet werden.

    Weitere Informationen zur Verwaltung von Senken mit der gcloud Befehlszeilentool finden Sie in der Referenz zu gcloud logging sinks.

Aufnahme von Logs beenden

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

Sie können die Senke _Required nicht deaktivieren; Für die im Log-Bucket _Required gespeicherten Logdaten gelten weder die Preise für die Aufnahme noch die Speicherpreise. Sie können die _Default-Senke deaktivieren, um zu verhindern, dass Logs in den _Default-Bucket aufgenommen werden. Außerdem können Sie alle benutzerdefinierten 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. Wechseln Sie zum Logrouter:

    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.

    Suchen Sie alle Senken, 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 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 die Seite Log 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 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.

Rufen Sie zum erneuten Aktivieren einer Senke projects.sink.update auf und setzen Sie das Attribut 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.

Nachfolgend wird beschrieben, wie Sie Berechtigungen auf Cloud-Projektebene für die Senke festlegen, die zum Ziel führt. Anstelle eines Cloud-Projekts können Sie auch ein Rechnungskonto, einen Ordner oder eine Organisation angeben:

Console

  1. Rufen Sie von der neuen Senke die Identität des Autors in Form einer E-Mail-Adresse ab. Rufen Sie die Seite Log-Router auf und wählen Sie Menü > Senkendetails ansehen aus. Die Identität des Autors wird im Feld Senkendetails angezeigt.

  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.
    • 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 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.Sink.create oder projects.Sink.update auf, um die Senke zu erstellen oder zu ändern.

    Setzen Sie uniqueWriterIdentity auf true. Wenn Sie eine Senke aktualisieren, können Sie von einem freigegebenen Autor zu einem eindeutigen Autor wechseln. Wenn die vorhandene Senke bereits einen eindeutigen Autor verwendet, verwendet die aktualisierte Senke denselben Autor.

    Die Methoden geben die neue Senke zurück, die die neue Identität des Autors 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 besonders beim Erstellen von Senken nützlich sind.

Weitere Beispiele, die beim Erstellen Ihrer Ein- und Ausschlussfilter nützlich sein können, finden Sie unter Beispielabfragen.

Filter "_Default" für Senke 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")

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.

Nächste Schritte