Logs an unterstützte Ziele weiterleiten

In diesem Dokument wird erläutert, wie Sie Logsenken erstellen und verwalten, die Logeinträge aus einem Google Cloud Projekt an unterstützte Ziele weiterleiten.

Eine Senke führt eine Schreibaktion aus und muss daher zum Schreiben in das Ziel autorisiert sein. Wenn das Ziel ein Protokoll-Bucket im selben Projekt wie die Senke ist, wird die Senke automatisch autorisiert. Bei allen anderen Zielen muss die Senke mit einem Dienstkonto verknüpft sein, dem die Berechtigungen zum Schreiben von Daten an das Ziel gewährt wurden.

Wenn ein Dienstkonto erforderlich ist, wird es von Cloud Logging automatisch erstellt und verwaltet. Möglicherweise müssen Sie jedoch die dem Dienstkonto gewährten Berechtigungen ändern. Sie müssen das von Logging erstellte Dienstkonto nicht verwenden. Sie können ein Dienstkonto erstellen und verwalten, das von Senken in mehreren Projekten verwendet wird. Weitere Informationen finden Sie unter Protokoll-Sinks mit vom Nutzer verwalteten Dienstkonten konfigurieren.

Übersicht

Auf dieser Seite wird beschrieben, wie Sie einen Datenablauf erstellen und die Optionen konfigurieren, die Sie in der Google Cloud Console oder in der API sehen können.

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

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

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

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

Unterstützte Ziele

Das Ziel einer Senke kann sich in einer anderen Ressource als der Senke befinden. Sie können beispielsweise eine Log-Senke verwenden, um Logeinträge aus einem Projekt an einen Log-Bucket in einem anderen Projekt weiterzuleiten.

Folgende Ziele werden unterstützt:

Google Cloud -Projekt

Wählen Sie dieses Ziel aus, wenn die Log-Senke im Zielprojekt Ihre Logeinträge umleiten soll, oder wenn Sie eine abfangende aggregierte Senke erstellt haben. Die Log-Senke im Projekt, das das Senkenziel ist, kann die Logeinträge an jedes unterstützte Ziel weiterleiten, mit Ausnahme eines Projekts.

Log-Bucket

Wählen Sie dieses Ziel aus, wenn Sie Ihre Protokolldaten in von Cloud Logging verwalteten Ressourcen speichern möchten. In Log-Buckets gespeicherte Logdaten können mit Diensten wie dem Log-Explorer und Log Analytics aufgerufen und analysiert werden.

Wenn Sie Ihre Logdaten mit anderen Geschäftsdaten zusammenführen möchten, können Sie Ihre Logdaten in einem Log-Bucket speichern und ein verknüpftes BigQuery-Dataset erstellen. Ein verknüpftes Dataset ist ein schreibgeschütztes Dataset, das wie jedes andere BigQuery-Dataset abgefragt werden kann.

BigQuery-Dataset
Wählen Sie dieses Ziel aus, wenn Sie Ihre Protokolldaten mit anderen Geschäftsdaten zusammenführen möchten. Für das angegebene Dataset muss Schreibzugriff aktiviert sein. Als Ziel einer Senke darf kein verknüpftes BigQuery-Dataset festgelegt werden. Verknüpfte Datensätze sind schreibgeschützt.
Cloud Storage-Bucket
Wählen Sie dieses Ziel aus, wenn Sie Ihre Protokolldaten langfristig speichern möchten. Der Cloud Storage-Bucket kann sich im selben Projekt wie die Protokolleinträge oder in einem anderen Projekt befinden. Logeinträge werden als JSON-Dateien gespeichert.
Pub/Sub-Thema
Wählen Sie dieses Ziel aus, wenn Sie Ihre Protokolldaten ausGoogle Cloud exportieren und dann Drittanbieterintegrationen wie Splunk oder Datadog verwenden möchten. Logeinträge werden in JSON formatiert und dann an ein Pub/Sub-Thema weitergeleitet.

Einschränkungen für Ziele

In diesem Abschnitt werden zielspezifische Einschränkungen beschrieben:

  • Wenn Sie Logeinträge an einen Log-Bucket in einem anderen Google Cloud Projekt weiterleiten, werden diese Logeinträge nicht von Error Reporting analysiert. Weitere Informationen finden Sie unter Fehlerberichte – Übersicht.
  • Wenn Sie Logeinträge an ein BigQuery-Dataset weiterleiten, muss das BigQuery-Dataset für das Schreiben aktiviert sein. Sie können Logeinträge nicht an verknüpfte Datasets weiterleiten, die schreibgeschützt sind.
  • Bei neuen Senken, die Logdaten an Cloud Storage-Buckets weiterleiten, kann es mehrere Stunden dauern, bis das Routing von Logeinträgen beginnt. Diese Sinks werden stündlich verarbeitet.
  • Wenn das Ziel eines Log-Sinks ein Google Cloud -Projekt ist, gelten die folgenden Einschränkungen:

    • Es gilt ein Hop-Limit von einem.
    • Logeinträge, die mit dem Filter der _Required-Log-Senke übereinstimmen, werden nur an den _Required-Log-Bucket des Zielprojekts weitergeleitet, wenn sie aus dem Zielprojekt stammen.
    • Nur aggregierte Senken, die sich in der Ressourcenhierarchie eines Logeintrags befinden, verarbeiten den Logeintrag.

    Angenommen, das Ziel einer Protokollsenke in Projekt A ist Projekt B. Dann gilt Folgendes:

    • Aufgrund der Begrenzung auf einen Hop können die Log-Sinks in Projekt B keine Logeinträge an ein Google Cloud Projekt weiterleiten.
    • Im Log-Bucket _Required des Projekts B werden nur Logeinträge gespeichert, die aus dem Projekt B stammen. In diesem Log-Bucket werden keine Logeinträge gespeichert, die aus anderen Ressourcen stammen, einschließlich derjenigen aus Projekt A.
    • Wenn sich die Ressourcenhierarchie von Projekt A und Projekt B unterscheidet, wird ein Logeintrag, der von einem Log-Sink in Projekt A an Projekt B weitergeleitet wird, nicht an die aggregierten Sinks in der Ressourcenhierarchie von Projekt B gesendet.
    • Wenn Projekt A und Projekt B dieselbe Ressourcenhierarchie haben, werden Logeinträge an die aggregierten Senken in dieser Hierarchie gesendet. Wenn ein Logeintrag nicht von einer aggregierten Senke abgefangen wird, sendet der Log-Router den Logeintrag an die Senken im Projekt A.

Hinweise

In dieser Anleitung wird beschrieben, wie Sie Senken aufGoogle Cloud Projektebene erstellen und verwalten. Mit demselben Verfahren können Sie eine Sink erstellen, die Logeinträge weiterleitet, die aus einer Organisation, einem Ordner oder einem Abrechnungskonto stammen.

Gehen Sie dazu so vor:

  1. Enable the Cloud Logging API.

    Enable the API

  2. Achten Sie darauf, dass Ihr Google Cloud Projekt Logeinträge enthält, die Sie im Log-Explorer sehen können.

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

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

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

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

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

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

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

    Console

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

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

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

    REST

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

      After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    Weitere Informationen finden Sie in der Google Cloud Authentifizierungsdokumentation unter Für die Verwendung von REST authentifizieren.

    Senke erstellen

    In diesem Abschnitt wird beschrieben, wie Sie einen Sink in einem Google Cloud -Projekt erstellen. Sie können bis zu 200 Senken pro Google Cloud Projekt erstellen. Die Anzahl und das Volumen der gerouteten Logeinträge finden Sie in den logging.googleapis.com/exports/-Messwerten.

    Mit der Logging-Abfragesprache erstellen Sie einen Filterausdruck, der den Logeinträgen entspricht, die Sie aufnehmen möchten. Geben Sie keine vertraulichen Daten in Senkenfilter ein. Senkenfilter werden als Dienstdaten behandelt.

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

    So erstellen Sie eine Senke:

    Console

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

      Zum Logrouter

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

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

      Wenn Sie beispielsweise Ihre Logeinträge für den Datenzugriff aus dem Projekt Project-A an einen Log-Bucket im Projekt Project-B weiterleiten möchten, wählen Sie Project-A aus.

    3. Wählen Sie Senke erstellen aus.

    4. Geben Sie im Bereich Senkendetails die folgenden Details ein:

      • Senkenname: Geben Sie eine Kennzeichnung für die Senke an. Beachten Sie, dass Sie die Senke nach deren Erstellung nicht mehr umbenennen, aber löschen und eine neue erstellen können.

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

    5. Wählen Sie im Bereich Senkenziel über das Menü Senkendienst auswählen den Senkendienst und das Ziel aus. Sie haben folgende Möglichkeiten:

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

        • Cloud Logging-Bucket: Wählen Sie einen Logging-Bucket aus oder erstellen Sie einen.
        • BigQuery-Dataset: Wählen Sie das beschreibbare Dataset aus, das die weitergeleiteten Logeinträge erhalten soll, oder erstellen Sie es. Sie können auch partitionierte Tabellen verwenden.
        • Cloud Storage-Bucket: Wählen Sie den spezifischen Cloud Storage-Bucket aus, der die weitergeleiteten Logeinträge erhalten soll, oder erstellen Sie ihn.
        • Pub/Sub-Thema: Wählen Sie das spezifische Thema aus, das die weitergeleiteten Logeinträge erhalten soll, oder erstellen Sie es.
        • Splunk: Wählen Sie das Pub/Sub-Thema für den Splunk-Dienst aus.
      • Wenn Sie Logeinträge an ein anderes Google Cloud -Projekt weiterleiten möchten, wählen Sie Google Cloud -Projekt aus und geben Sie dann den vollqualifizierten Namen für das Ziel ein:

        logging.googleapis.com/projects/DESTINATION_PROJECT_ID
        
      • So leiten Sie Logeinträge an einen Dienst in einem anderenGoogle Cloud -Projekt weiter:

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

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

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

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

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

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

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

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

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

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

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

      3. Geben Sie im Abschnitt Ausschlussfilter erstellen einen Filterausdruck ein, der den Logeinträgen entspricht, die Sie ausschließen möchten. Mit der Funktion sample können Sie auch einen Teil der Logeinträge auswählen, die ausgeschlossen werden sollen.

      Sie können bis zu 50 Ausschlussfilter pro Senke erstellen. Beachten Sie, dass ein Filter nicht länger als 20.000 Zeichen sein darf.

    8. Wählen Sie Senke erstellen aus.

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

    gcloud

    So erstellen Sie eine Senke:

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

      gcloud logging sinks create SINK_NAME SINK_DESTINATION
      

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

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

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

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

      Sie können auch Folgendes angeben:

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

      Wenn Sie beispielsweise eine Senke in einem Logging-Bucket erstellen möchten, könnte der Befehl so aussehen:

      gcloud logging sinks create my-sink logging.googleapis.com/projects/myproject123/locations/global/buckets/my-bucket \
       --log-filter='logName="projects/myproject123/logs/matched"' --description="My first sink"
      

      Weitere Informationen zum Erstellen von Senken mit der Google Cloud CLI finden Sie in der Referenz zu gcloud logging sinks.

    2. Wenn die Befehlsantwort einen JSON-Schlüssel mit der Kennzeichnung "writerIdentity" enthält, gewähren Sie dem Dienstkonto der Senke die Berechtigung zum Schreiben in das Senkenziel. Weitere Informationen finden Sie unter Zielberechtigungen festlegen.

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

    REST

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

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

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

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

      • filter : Legen Sie das Feld filter so fest, dass es den Logeinträgen entspricht, die Sie in die Senke aufnehmen möchten. Wenn Sie keinen Filter festlegen, werden alle Logeinträge aus IhremGoogle Cloud -Projekt an das Ziel weitergeleitet. Beachten Sie, dass ein Filter nicht länger als 20.000 Zeichen sein darf.
      • exclusions: Legen Sie dieses Feld so fest, dass es den Logeinträgen entspricht, die Sie von der Senke ausschließen möchten. Mit der Funktion sample können Sie auch einen Teil der Logeinträge auswählen, die ausgeschlossen werden sollen. Sie können bis zu 50 Ausschlussfilter pro Senke erstellen.
      • description: Legen Sie dieses Feld fest, um den Zweck oder den Anwendungsfall für die Senke zu beschreiben.
    3. Rufen Sie projects.sinks.create auf, um die Senke zu erstellen.

    4. Wenn die API-Antwort einen JSON-Schlüssel mit der Kennzeichnung "writerIdentity" enthält, gewähren Sie dem Dienstkonto des Sinks die Berechtigung zum Schreiben in das Sink-Ziel. Weitere Informationen finden Sie unter Zielberechtigungen festlegen.

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

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

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

    Zielpfadformate

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

    • Cloud Logging-Log-Bucket:

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

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

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

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

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

    Zielberechtigungen festlegen

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

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

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

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

    Console

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

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

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

        Zum Logrouter

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

      2. Wählen Sie in der Symbolleiste das Projekt aus, das den Abfluss enthält.
      3. Wählen Sie Menü und dann Senkendetails ansehen aus. Die Identität des Autors wird im Feld Senkendetails angezeigt.
    3. Wenn der Wert des Felds writerIdentity eine E-Mail-Adresse enthält, fahren Sie mit dem nächsten Schritt fort. Wenn der Wert None ist, müssen Sie keine Zielberechtigungen für die Senke konfigurieren.

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

      Die E-Mail-Adresse identifiziert das Hauptkonto. Das Präfix serviceAccount: gibt den Kontotyp an.

    5. Gewähren Sie dem Hauptkonto, das in der Identität des Autors der Senke angegeben ist, die Berechtigung zum Schreiben von Protokolldaten in das Ziel:

      1. Rufen Sie in der Google Cloud -Console die Seite IAM auf:

        Rufen Sie IAM auf.

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

      2. Achten Sie darauf, dass in der Symbolleiste das Projekt ausgewählt ist, in dem das Ziel gespeichert wird, oder das Ziel selbst. Wenn das Ziel beispielsweise ein Log-Bucket ist, muss in der Symbolleiste das Projekt angezeigt werden, in dem das Log-Bucket gespeichert ist.

      3. Klicken Sie auf Zugriff erlauben.

      4. Weisen Sie dem in der Identität des Autors der Senke angegebenen Hauptkonto eine IAM-Rolle zu, die auf dem Ziel der Protokollsenke basiert:

        • Google Cloud project: Gewähren Sie die Rolle Logautor (roles/logging.logWriter). Insbesondere benötigt ein Hauptkonto die Berechtigung logging.logEntries.route.
        • Log-Bucket: Weisen Sie die Rolle Log-Bucket-Autor (roles/logging.bucketWriter) zu.
        • Cloud Storage-Bucket: Weisen Sie die Rolle Storage-Objekt-Ersteller (roles/storage.objectCreator) zu.
        • BigQuery-Dataset: Weisen Sie die Rolle BigQuery-Datenbearbeiter (roles/bigquery.dataEditor) zu.
        • Pub/Sub-Thema, einschließlich Splunk: Weisen Sie die Rolle Pub/Sub-Publisher (roles/pubsub.publisher) zu.

    gcloud

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

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

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

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

      serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
      
    4. Gewähren Sie der Identität des Autors der Senke die Berechtigung, Protokolldaten in das Ziel zu schreiben, indem Sie den Befehl gcloud projects add-iam-policy-binding aufrufen.

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

      • PROJECT_ID: Die Kennung des Projekts. Geben Sie das Projekt an, in dem das Ziel der Logsenke gespeichert wird. Wenn das Ziel ein Projekt ist, geben Sie dieses Projekt an.
      • PRINCIPAL: Eine Kennung für das Hauptkonto, dem Sie die Rolle zuweisen möchten. Hauptkonto-Kennzeichnungen haben normalerweise das folgende Format: PRINCIPAL-TYPE:ID. Beispiel: user:my-user@example.com Eine vollständige Liste der Formate für PRINCIPAL finden Sie unter Hauptkonto-IDs.
      • ROLE: Eine IAM-Rolle. Weisen Sie der Identität des Autors der Senke eine IAM-Rolle zu, die auf dem Ziel der Protokollsenke basiert:

        • Google Cloud project: Gewähren Sie die Rolle Logautor (roles/logging.logWriter). Insbesondere benötigt ein Hauptkonto die Berechtigung logging.logEntries.route.
        • Log-Bucket: Weisen Sie die Rolle Log-Bucket-Autor (roles/logging.bucketWriter) zu.
        • Cloud Storage-Bucket: Weisen Sie die Rolle Storage-Objekt-Ersteller (roles/storage.objectCreator) zu.
        • BigQuery-Dataset: Weisen Sie die Rolle BigQuery-Datenbearbeiter (roles/bigquery.dataEditor) zu.
        • Pub/Sub-Thema, einschließlich Splunk: Weisen Sie die Rolle Pub/Sub-Publisher (roles/pubsub.publisher) zu.

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

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

    REST

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

    Senken verwalten

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

    • Details ansehen
    • Aktualisieren
    • Deaktivieren

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

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

    • Volumen und Fehlerraten von Protokollen ansehen

    In der folgenden Anleitung wird beschrieben, wie Sie eine Senke in einem Google Cloud Projekt verwalten. Anstelle eines Google Cloud Projekts können Sie ein Abrechnungskonto, einen Ordner oder eine Organisation angeben:

    Console

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

      Zum Logrouter

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

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

    Auf der Seite Log Router werden die Senken in der ausgewählten Ressource angezeigt. Jede Tabellenzeile enthält Informationen zu den Eigenschaften einer Senke:

    • Aktiviert: Gibt an, ob der Status der Senke aktiviert oder deaktiviert ist.
    • Typ: Der Zieldienst der Senke, beispielsweise Cloud Logging bucket.
    • Name: Die Kennung der Senke, wie sie beim Erstellen der Senke angegeben wurde, z. B. _Default.
    • Beschreibung: Die Beschreibung der Senke, wie sie beim Erstellen der Senke angegeben wurde.
    • Ziel: Der vollständige Name des Ziels, an das die weitergeleiteten Logeinträge gesendet werden.
    • Erstellt: Datum und Uhrzeit der Erstellung des Sinks.
    • Zuletzt aktualisiert: Datum und Uhrzeit der letzten Bearbeitung des Sinks.
    • Volume: Gibt das Gesamtvolumen der Logs an, die an die Logsenke weitergeleitet werden. Der Wert umfasst das Volumen, das an Log-Buckets, Projekte oder andere Ziele weitergeleitet wird.

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

    • Senkendetails ansehen: Zeigt den Namen, die Beschreibung, den Zieldienst, das Ziel, die Einschluss- und Ausschlussfilter der Senke an. Wenn Sie Bearbeiten auswählen, wird der Bereich Senke bearbeiten geöffnet.
    • Senke bearbeiten: Öffnet das Fenster Senke bearbeiten, in dem Sie die Parameter der Senke aktualisieren können.
    • Senke deaktivieren: Ermöglicht das Deaktivieren der Senke und das Beenden der Weiterleitung von Logeinträgen an das Ziel der Senke. Weitere Informationen zum Deaktivieren von Sinks finden Sie unter Speichern von Protokollen in Log-Buckets beenden.
    • Senke aktivieren: Ermöglicht das Aktivieren einer deaktivierten Senke und den Neustart der Weiterleitung von Protokolleinträgen zum Ziel der Senke.
    • Senke löschen: Ermöglicht das Löschen der Senke und das Beenden der Weiterleitung von Logeinträgen an das Ziel der Senke.
    • Fehlerbehebung für die Senke: Öffnet den Log-Explorer, in dem Sie Fehler bei der Senke beheben können.
    • Volumen und Fehlerraten des Senkenlogs ansehen: Der Metrics Explorer wird geöffnet, in dem Sie Daten aus der Senke ansehen und analysieren können.

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

    gcloud

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

      gcloud logging sinks list
      

      Um die Liste der aggregierten Senken aufzurufen, verwenden Sie die entsprechende Option, um die Ressource anzugeben, die die Senke enthält. Wenn Sie beispielsweise die Senke auf Organisationsebene erstellt haben, verwenden Sie die Option --organization=ORGANIZATION_ID, um die Senken für die Organisation aufzulisten.

    • Verwenden Sie zum Beschreiben einer Senke den Befehl gcloud logging sinks describe, der der Logging API-Methode projects.sinks.get entspricht:

      gcloud logging sinks describe SINK_NAME
      
    • Verwenden Sie zum Aktualisieren einer Senke den Befehl gcloud logging sinks update, der der API-Methode projects.sink.update entspricht.

      Sie können eine Senke aktualisieren, um das Ziel, die Filter und die Beschreibung zu ändern oder die Senke zu deaktivieren oder wieder zu aktivieren:

      gcloud logging sinks update SINK_NAME NEW_DESTINATION --log-filter=NEW_FILTER

      Lassen Sie NEW_DESTINATION oder --log-filter weg, wenn sich diese Teile nicht ändern.

      Wenn Sie beispielsweise das Ziel der Senke mit dem Namen my-project-sink auf ein neues Cloud Storage-Bucket-Ziel mit dem Namen my-second-gcs-bucket aktualisieren möchten, sieht der Befehl so aus:

      gcloud logging sinks update  my-project-sink storage.googleapis.com/my-second-gcs-bucket
      
    • Verwenden Sie zum Deaktivieren einer Senke den Befehl gcloud logging sinks update, der der API-Methode projects.sink.update entspricht, und fügen Sie die Option --disabled ein:

      gcloud logging sinks update SINK_NAME --disabled
      

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

      gcloud logging sinks update SINK_NAME --no-disabled
      
    • Verwenden Sie zum Löschen einer Senke den Befehl gcloud logging sinks delete, der der API-Methode projects.sinks.delete entspricht:

      gcloud logging sinks delete SINK_NAME
      

      Weitere Informationen zum Verwalten von Senken mit der Google Cloud CLI finden Sie in der Referenz zu gcloud logging sinks.

    REST

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

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

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

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

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

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

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

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

    Speichern von Logeinträgen in Log-Buckets beenden

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

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

    Console

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

      Zum Logrouter

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

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

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

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

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

      Zum Logrouter

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

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

    gcloud

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

      gcloud logging sinks list
      
    2. Identifizieren Sie alle Senken, die an den _Default-Log-Bucket weiterleiten. Verwenden Sie zum Beschreiben einer Senke, einschließlich des Zielnamens, den Befehl gcloud logging sinks describe. Dies entspricht der Logging API-Methode projects.sinks.get:

      gcloud logging sinks describe SINK_NAME
      
    3. Führen Sie den Befehl gcloud logging sinks update aus und fügen Sie die Option --disabled hinzu. Um die Senke _Default zu deaktivieren, verwenden Sie beispielsweise den folgenden Befehl:

      gcloud logging sinks update _Default  --disabled
      

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

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

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

    gcloud logging sinks update _Default  --no-disabled
    

    REST

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

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

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

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

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

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

    Codebeispiele

    Informationen zum Verwenden von Clientbibliothekscode zum Konfigurieren von Senken in den von Ihnen ausgewählten Sprachen finden Sie unter Logging-Clientbibliotheken: Logsenken.

    Beispiele für Filter

    Im Folgenden finden Sie einige Filterbeispiele, die beim Erstellen von Senken besonders nützlich sind. Weitere Beispiele, die beim Erstellen von Einschluss- und Ausschlussfiltern nützlich sein können, finden Sie unter Beispielabfragen.

    Senkenfilter _Default wiederherstellen

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

      NOT log_id("cloudaudit.googleapis.com/activity") AND NOT \
      log_id("externalaudit.googleapis.com/activity") AND NOT \
      log_id("cloudaudit.googleapis.com/system_event") AND NOT \
      log_id("externalaudit.googleapis.com/system_event") AND NOT \
      log_id("cloudaudit.googleapis.com/access_transparency") AND NOT \
      log_id("externalaudit.googleapis.com/access_transparency")
    

    Google Kubernetes Engine-Container- und -Pod-Logs ausschließen

    Verwenden Sie den folgenden Filter, um Google Kubernetes Engine-Container- und -Pod-Logeinträge für das GKE-System namespaces auszuschließen:

    resource.type = ("k8s_container" OR "k8s_pod")
    resource.labels.namespace_name = (
    "cnrm-system" OR
    "config-management-system" OR
    "gatekeeper-system" OR
    "gke-connect" OR
    "gke-system" OR
    "istio-system" OR
    "knative-serving" OR
    "monitoring-system" OR
    "kube-system")
    

    Verwenden Sie den folgenden Filter, um Google Kubernetes Engine-Knoten-Logeinträge für das GKE-System logNames auszuschließen:

    resource.type = "k8s_node"
    logName:( "logs/container-runtime" OR
    "logs/docker" OR
    "logs/kube-container-runtime-monitor" OR
    "logs/kube-logrotate" OR
    "logs/kube-node-configuration" OR
    "logs/kube-node-installation" OR
    "logs/kubelet" OR
    "logs/kubelet-monitor" OR
    "logs/node-journal" OR
    "logs/node-problem-detector")
    

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

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

    Verwenden Sie den folgenden Filter, um Dataflow-Logeinträge auszuschließen, die nicht für den Support erforderlich sind:

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

    Verwenden Sie den Metrics Explorer, um die Menge der in Log-Buckets gespeicherten Dataflow-Logs aufzurufen.

    Support

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

    GKE-Systemprotokolleinträge sind beispielsweise nützlich, um Probleme bei GKE-Anwendungen und -Clustern zu beheben, da sie für Ereignisse in Ihrem Cluster generiert werden. Anhand dieser Protokolleinträge können Sie feststellen, ob Ihr Anwendungscode oder der zugrunde liegende GKE-Cluster den Anwendungsfehler verursacht. GKE-Systemlogs umfasst auch Kubernetes-Audit-Logging, das von der Kubernetes API Server-Komponente generiert wird. Dazu gehören Änderungen, die mit dem kubectl-Befehl und Kubernetes-Ereignissen vorgenommen wurden.

    Für Dataflow empfehlen wir Ihnen, mindestens Ihre Systemlogs (labels."dataflow.googleapis.com/log_type"="system") und Ihre Supportlogs (labels."dataflow.googleapis.com/log_type"="supportability") in Log-Buckets zu schreiben. Diese Logs sind wichtig, damit Entwickler ihre Dataflow-Pipelines beobachten und Fehler beheben können und Nutzer können möglicherweise nicht die Dataflow-Seite Jobdetails verwenden, um Joblogs ansehen andernfalls.

    Nächste Schritte