Senken konfigurieren und verwalten

In diesem Dokument wird beschrieben, 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 die Senke Logeinträge aus den Google Cloud-Ressourcen einer Organisation oder eines Ordners kombiniert und weiterleitet. aus. Eine Anleitung dazu finden Sie unter Aggregierte Senken konfigurieren.

Sie können zum Erstellen und Verwalten von Senken die Cloud Console, die Cloud Logging API und das gcloud-Befehlszeilentool verwenden. Die Verwendung der Cloud Console hat gegenüber den anderen Methoden folgende Vorteile:

  • Alle Senken an einem Ort ansehen und verwalten.
  • Bevor Sie die Senke erstellen, können Sie eine Vorschau der Logeinträge anzeigen lassen, die mit dem Filter der Senke übereinstimmen.
  • 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 zugestellt werden Unterstützung von Drittanbieterintegrationen wie Splunk in Logging.
  • BigQuery: Tabellen, die in BigQuery-Datasets erstellt wurden.
  • Ein anderer Cloud Logging-Bucket: Logeinträge von Log-Buckets in 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 über das gcloud-Befehlszeilentool, die Cloud Console oder die Google Cloud APIs erstellt werden. Sie können das Ziel in jedem Cloud-Projekt und in jeder Organisation erstellen. Sie müssen jedoch dafür sorgen, dass das Dienstkonto aus der Senke Berechtigungen zum Schreiben in das Ziel hat.

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 Protokollrouter

  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.

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

  5. Wählen Sie im Bereich Senkenziel den Dienst und das Ziel der Senke 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 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 jeweiligen Cloud Storage-Bucket aus, der die weitergeleiteten Logs erhalten soll, oder erstellen Sie ihn.
    • Pub/Sub-Thema: Wählen Sie das Thema aus oder erstellen Sie es, um die weitergeleiteten Logs zu erhalten.
    • 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 Einschlussfilter erstellen einen Filterausdruck ein, der mit den einzuschließenden Logeinträgen übereinstimmt. Wenn Sie keinen Filter festlegen, werden alle Logs der ausgewählten Ressource an das Ziel weitergeleitet.

      Sie können beispielsweise einen Filter erstellen, der alle Datenzugriffslogs an einen einzelnen Logging-Bucket weiterleitet. 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. Wenn Sie prüfen möchten, ob Sie den richtigen Filter eingegeben haben, wählen Sie Vorschau der Logs anzeigen aus. Dadurch wird der Log-Explorer in einem neuen Tab geöffnet, in 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 im Feld Name des Ausschlussfilters einen Namen ein.

    2. Geben Sie im Feld Ausschlussfilter erstellen einen Filterausdruck ein, der den auszuschließenden Logeinträgen entspricht. Sie können auch die Funktion sample verwenden, um einen Teil der auszuschließenden Logeinträge auszuwählen.

    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: Eine Kennung für die Senke. Nachdem Sie die Senke erstellt haben, können Sie sie nicht mehr umbenennen, aber löschen und 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 auf die Logeinträge fest, die Sie in die Senke aufnehmen möchten. Wenn Sie keinen Filter festlegen, werden alle Logs aus Ihrem Cloud-Projekt an das Ziel weitergeleitet. Die Länge eines Filters darf 20.000 Zeichen nicht überschreiten.
    • exclusions: Legen Sie dieses Attribut fest, damit es den Logeinträgen entspricht, die Sie aus der Senke ausschließen möchten. Sie können auch die Funktion sample verwenden, um einen Teil der auszuschließenden Logeinträge auszuwählen. 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 in 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: Eine Kennung für die Senke. Beachten Sie, dass Sie die Senke nach dem Erstellen nicht mehr umbenennen, aber löschen und neu erstellen können.
  • 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 Ihre 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. Sie können auch die Funktion sample verwenden, um einen Teil der auszuschließenden Logeinträge auszuwählen. 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 für einen 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 Fehlerbehebung beim Routing und bei Senken.

Logs zwischen Log-Buckets in verschiedenen Cloud-Projekten weiterleiten

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

Führen Sie dazu einen der folgenden Schritte aus:

  • Weisen Sie dem Dienstkonto der 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 die folgenden Aktionen an ihnen 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 Ihre Senken auf der Seite Logrouter anzeigen und verwalten:

Zum "Log Router"

Achten Sie darauf, dass Sie das Cloud-Projekt ausgewählt haben, das Ihre Senke enthält. Verwenden Sie dazu den Ressourcenselektor 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. Beispiel: Cloud Logging bucket.
  • Name: die ID der Senke, die beim Erstellen der Senke angegeben wurde, z. B. _Default.
  • Beschreibung: Die Beschreibung der Senke, die beim Erstellen der Senke angegeben wurde.
  • Ziel: Vollständiger 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 anzusehen.

  • Rufen Sie projects.sinks.get auf, um die Details zu 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 setzen Sie das Attribut disabled auf false, 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 über die 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
    

    Zum Aufrufen der Liste der aggregierten Senken verwenden Sie das entsprechende Flag, um die Ressource anzugeben, die die Senke enthält. Wenn Sie beispielsweise die Senke auf Organisationsebene erstellt haben, können Sie mit dem Flag --organization=ORGANIZATION_ID die Senken für die Organisation auflisten.

  • 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 namens my-second-gcs-bucket aktualisieren möchten, sieht Ihr 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 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.

Logaufnahme 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 durch Deaktivieren aller Senken in Ihrem Cloud-Projekt beenden, die Logs an den _Default-Bucket senden, gibt es keine neue Cloud Logging-Aufnahme. Gebühren werden von Ihrem Cloud-Projekt für den Bucket _Default verursacht. Der Bucket _Default ist leer, wenn alle zuvor aufgenommenen Logs im Bucket _Default die Aufbewahrungsdauer des Buckets abgelaufen haben.

So deaktivieren Sie Ihre Cloud-Projektsenken, die Logs an den Bucket _Default 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 Routinglogs zum 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 finden, die zuvor zum Weiterleiten von Logs an den Bucket _Default konfiguriert wurden.

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

API

  1. Rufen Sie zum Aufrufen der Senken für Ihr Cloud-Projekt die Logging API-Methode projects.sinks.list auf.

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

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

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

Wenn Sie die anderen Senken in Ihrem Cloud-Projekt deaktivieren möchten, die an den Bucket _Default weitergeleitet werden, wiederholen Sie die obigen Schritte.

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 Bucket _Default weiterleiten. Verwenden Sie zum Beschreiben einer Senke, einschließlich des Zielnamens, den Parametergcloud logging sinks describe Der Befehl entspricht der Logging API-Methodeprojects.sinks.get:

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

    gcloud logging sinks update _Default  --disabled
    

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

Wenn Sie die anderen Senken in Ihrem Cloud-Projekt deaktivieren möchten, die an den Bucket _Default weitergeleitet werden, wiederholen Sie die obigen Schritte.

Verwenden Sie zum 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 Berechtigung zur Identitäts- und Zugriffsverwaltung erteilen, um Logs in das Ziel der Senke zu schreiben. 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 verwenden, um Logs zwischen Logging-Buckets im selben Cloud-Projekt weiterzuleiten, wird kein neues Dienstkonto erstellt. Die Senke arbeitet ohne die eindeutige Autorenidentität. Wenn Sie eine Senke verwenden, um Logs zwischen Logging-Buckets in verschiedenen Cloud-Projekten weiterzuleiten, 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 die Identität des Autors der Senke – eine E-Mail-Adresse – aus der neuen Senke ab. Rufen Sie die Seite Log Router auf und wählen Sie Menü > Senkendetails ansehen aus. Die Identität des Autors wird im Bereich 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 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.

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

    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 die Unterstützung erforderlich sind:

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

Mit dem Metrics Explorer in Cloud Monitoring können Sie das Volumen der in Cloud Logging aufgenommenen Dataflow-Logdaten ansehen.

Support

Mit Cloud Logging haben Sie die Möglichkeit, Logs von der Aufnahme auszuschließen. Es empfiehlt sich aber, Logs zu erstellen, die die Unterstützung unterstützen. Mit diesen Logs können Sie Probleme in Ihren Anwendungen schnell beheben und Probleme erkennen.

GKE-Systemlogs eignen sich beispielsweise zum Beheben von GKE-Anwendungen und -Clustern, da sie für Ereignisse in Ihrem Cluster generiert werden. Mit diesen Logs können Sie feststellen, ob Ihr Anwendungscode oder der zugrunde liegende GKE-Cluster Ihren Anwendungsfehler verursacht. GKE-Systemlogs enthalten auch Kubernetes-Audit-Logging, das von der Kubernetes API-Serverkomponente 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