Logs an unterstützte Ziele weiterleiten

Mit Logsenken in Cloud Logging können Sie Logeinträge aus Ihrem Google Cloud -Projekt zur langfristigen Speicherung, Analyse oder zum Streamen 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 Log-Bucket im selben Projekt wie die Senke ist, wird die Senke automatisch autorisiert. Für alle anderen Ziele muss die Senke an ein Dienstkonto angehängt werden, dem die erforderlichen Berechtigungen zum Schreiben von Daten in das Ziel erteilt wurden.

Wenn ein Dienstkonto erforderlich ist, wird es von Cloud Logging automatisch erstellt und verwaltet. Möglicherweise müssen Sie jedoch die Berechtigungen des Dienstkontos ändern. Sie müssen nicht das von Logging erstellte Dienstkonto verwenden. Sie können ein Dienstkonto erstellen und verwalten, das von Senken in mehreren Projekten verwendet wird. Weitere Informationen finden Sie unter Logsenken mit nutzerverwalteten Dienstkonten konfigurieren.

Übersicht

In diesem Dokument wird beschrieben, wie Sie einen Senken erstellen und die Optionen konfigurieren, die bei Verwendung der Google Cloud Console, der Google Cloud CLI oder der API angezeigt werden.

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 dieser 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 werden in Senken nur die Logeinträge weitergeleitet, die aus einer Ressource stammen. Für Ordner und Organisationen können Sie jedoch aggregierte Senken erstellen. Über diese Senken werden Logeinträge weitergeleitet, die im Ordner oder in der Organisation und in den untergeordneten Ressourcen erstellt werden. In diesem Dokument werden keine aggregierten Senken behandelt. Weitere Informationen finden Sie unter Aggregierte Senken – Übersicht.

Zum Erstellen und Verwalten von Senken können Sie die Google Cloud -Console, die Cloud Logging API und die Google Cloud CLI verwenden. Wir empfehlen die Verwendung der Google Cloud Console aus folgenden Gründen:

  • Sie können Senkenziele als Teil des Flows konfigurieren, um eine Senke zu erstellen.
  • Sie können sich eine Vorschau der Logeinträge ansehen, die den Filtern der Senke entsprechen.
  • Einige Autorisierungsschritte wurden vereinfacht.

Wir empfehlen, die Konfiguration des Logsinks zu überprüfen, wenn Sie Änderungen am Logspeicher vornehmen. Wenn Sie beispielsweise das Ziel eines Log-Senken löschen, löschen Sie auch das entsprechende Log-Senken.

Informationen zum Aufrufen und Verwalten Ihrer Logsenken finden Sie in diesem Dokument im Abschnitt Senken verwalten.

Unterstützte Ziele

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

Die folgenden Ziele werden unterstützt:

Google Cloud -Projekt

Wählen Sie dieses Ziel aus, wenn die Logsenken im Zielprojekt Ihre Logeinträge umleiten sollen oder wenn Sie eine abfangende aggregierte Senke erstellt haben. Die Logsinks im Zielprojekt können die Logeinträge an jedes unterstützte Ziel weiterleiten, mit Ausnahme eines Projekts.

Die vom System erstellten Logsenken im Zielprojekt schließen Logeinträge aus, die an den Log-Bucket _Required im Quellprojekt weitergeleitet werden. Wenn Sie beispielsweise Administratoraktivitätslogs an ein anderes Projekt weiterleiten, werden diese Logeinträge sowohl von den _Required- als auch den _Default-Logsinks im Zielprojekt ausgeschlossen. Wenn Sie diese Logeinträge speichern möchten, aktualisieren Sie im Zielprojekt die _Default-Logsenke oder erstellen Sie eine benutzerdefinierte Logsenke.

Log-Bucket
Wählen Sie dieses Ziel aus, wenn Sie Ihre Logdaten in von Cloud Logging verwalteten Ressourcen speichern möchten. In Log-Buckets gespeicherte Logdaten können mit Diensten wie dem Log-Explorer aufgerufen und analysiert werden.
Pub/Sub-Thema
Wählen Sie dieses Ziel aus, wenn Sie Ihre Logdaten ausGoogle Cloud exportieren und dann eine Integration von Drittanbietern verwenden möchten. Logeinträge werden als JSON formatiert und dann an ein Pub/Sub-Thema weitergeleitet.

Einschränkungen für Ziele

In diesem Abschnitt werden zielgruppenspezifische Einschränkungen beschrieben:

  • Wenn Sie ein Senkenziel konfigurieren, geben Sie den vollständig qualifizierten Pfad an und verwenden Sie den globalen Endpunkt des Dienstes. Regionale Dienstendpunkte (Regional Service Endpoints, REPs) wie pubsub.LOCATION.rep.googleapis.com werden nicht unterstützt.
  • Das Weiterleiten von Logs an ein Pub/Sub-Thema, für das Transitbeschränkungen gelten, wird nicht unterstützt. Durch die Protokollierung kann nicht garantiert werden, dass Veröffentlichungsanfragen aus einer zulässigen Region stammen. Dies führt zu topic_region_not_allowed-Konfigurationsfehlern und verworfenen Protokollen.

  • Wenn das Ziel einer Logs-Senke ein Google Cloud -Projekt ist, gelten die folgenden Einschränkungen:

    • Es gibt ein Limit von einem Hop.
    • Die _Required-Logs-Senke im Zielprojekt leitet Logeinträge an den _Required-Log-Bucket des Projekts weiter, wenn die Logeinträge dem Filter der Senke entsprechen und aus dem Zielprojekt stammen.
    • Die _Default-Logsenke im Zielprojekt leitet Logeinträge weiter, die dem „Einschließen“-Filter entsprechen und keinem „Ausschließen“-Filter. In der Logsenke _Default werden einige Logeinträge ausgeschlossen. In dieser Senke werden beispielsweise keine Logeinträge für Administratoraktivitäten und Systemereignisse weitergeleitet. Sie können diese Senke ändern.
    • Nur aggregierte Senken in der Ressourcenhierarchie eines Logeintrags verarbeiten den Eintrag.

    Angenommen, das Ziel einer Logs-Senke im Projekt A ist das Projekt B. In diesem Fall gelten die folgenden Regeln:

    • Aufgrund des One-Hop-Limits können die Logsenken im Projekt B Logeinträge nicht an ein anderes Projekt  Google Cloud 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 einer anderen Ressource stammen, einschließlich der Einträge, die aus dem Projekt A stammen.
    • Wenn Projekt A und Projekt B unterschiedliche Ressourcenhierarchien haben, wird ein Logeintrag, den eine Logs-Senke in Projekt A an Projekt B weiterleitet, nicht an die aggregierten Senken in der Ressourcenhierarchie von Projekt B gesendet.
    • Wenn Projekt A und Projekt B dieselbe Ressourcenhierarchie haben, werden die 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 Eintrag an die Senken im Projekt A.

Hinweis

In der Anleitung in diesem Dokument wird beschrieben, wie Sie Senken aufGoogle Cloud Projektebene erstellen und verwalten. Sie können mit derselben Vorgehensweise einen Senken erstellen, über die Logeinträge weitergeleitet werden, die in einer Organisation, einem Ordner oder einem Abrechnungskonto generiert werden.

So legen Sie los:

  1. Aktivieren Sie die Cloud Logging API, falls sie noch nicht aktiviert ist.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

    API aktivieren

  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 Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen, Ändern oder Löschen eines Senken 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 zur Zugriffssteuerung für Logging.

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

    Damit Logeinträge an ein Ziel weitergeleitet werden können, muss das Ziel vorhanden sein, bevor Sie die Senke erstellen. Sie können das Ziel in einem beliebigenGoogle Cloud -Projekt einer beliebigen Organisation erstellen.

  5. Bevor Sie eine Senke erstellen, sollten Sie sich die Einschränkungen ansehen, die für das Senkenziel gelten. Weitere Informationen finden Sie in diesem Dokument im Abschnitt Einschränkungen für Ziele.

  6. Wählen Sie die Schnittstelle aus, die Sie verwenden möchten:

    Console

    Wenn Sie über die Google Cloud Console auf Google Cloud -Dienste und -APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

    gcloud

    Installieren Sie die Google Cloud CLI und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an. Nach der Anmeldung initialisieren Sie die Google Cloud CLI mit dem folgenden Befehl:

    gcloud init

    REST

    Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.

      Installieren Sie die Google Cloud CLI und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an.

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

Senke erstellen

In diesem Abschnitt wird beschrieben, wie Sie einen Senken in einem Google Cloud Projekt erstellen. Pro Google Cloud -Projekt können Sie bis zu 200 Senken erstellen. Wenn Sie die Anzahl und das Volumen der weitergeleiteten Logeinträge sehen möchten, rufen Sie die logging.googleapis.com/exports/-Messwerte auf.

Sie verwenden die Logging-Abfragesprache, um einen Filterausdruck zu erstellen, der mit den Logeinträgen übereinstimmt, die Sie einbeziehen möchten. Geben Sie keine vertraulichen Informationen in Senkenfilter ein. Sink-Filter werden als Dienstdaten behandelt.

Wenn eine Abfrage mehrere Anweisungen enthält, können Sie entweder angeben, wie diese Anweisungen verknüpft werden, oder darauf vertrauen, dass Cloud Logging die konjunktive Einschränkung AND implizit zwischen den Anweisungen einfügt. Angenommen, ein Dialogfeld für Abfragen oder Filter enthält zwei Anweisungen: resource.type = "gce_instance" und severity >= "ERROR". Die tatsächliche Anfrage 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, empfehlen wir, die Klauseln mit Klammern zu gruppieren.

So erstellen Sie eine Senke:

Console

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

    Zu Logs Router

    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 zum Datenzugriff aus dem Projekt mit dem Namen Project-A an einen Log-Bucket im Projekt mit dem Namen 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:

    • Name der Senke: Geben Sie eine Kennzeichnung für die Senke ein. Nachdem Sie die Senke erstellt haben, können Sie sie nicht mehr umbenennen, aber löschen und eine neue erstellen.

    • 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 über das Menü Senkendienst auswählen aus. Führen Sie einen der folgenden Schritte aus:

    • Wenn Sie Logeinträ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.
      • Pub/Sub-Thema: Wählen Sie das Thema aus, in dem die weitergeleiteten Logeinträge empfangen werden sollen, oder erstellen Sie ein neues Thema.
    • 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 vollständig qualifizierten 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 Andere Ressource aus.
      2. Geben Sie den voll qualifizierten Namen für das Ziel ein. Informationen zur Syntax finden Sie unter Zielpfadformate.
  6. Geben Sie die einzuschließenden Logeinträge an:

    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 einschließen möchten. Informationen zur Syntax 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 Logeinträge für den Datenzugriff 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. Wenn Sie prüfen möchten, ob Sie den richtigen Filter eingegeben haben, wählen Sie Logvorschau ansehen aus. 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 auszuschließen:

    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 der Senke die Berechtigung, Logeinträge in das Ziel der Senke zu schreiben. Weitere Informationen finden Sie unter Berechtigungen für das Ziel 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 Logsenke. Sie können den Namen einer Senke nach dem Erstellen nicht mehr ändern.
    • SINK_DESTINATION: Der Dienst oder das Projekt, zu dem Sie Ihre Logeinträge weiterleiten möchten. Legen Sie SINK_DESTINATION auf den entsprechenden Pfad fest, wie unter Formate für Zielpfade beschrieben.

      Wenn das Ziel Ihrer Senke beispielsweise ein Pub/Sub-Thema ist, sieht SINK_DESTINATION so aus:

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

    Sie können auch die folgenden Optionen angeben:

    • --log-filter : Mit dieser Option können Sie einen Filter festlegen, der mit den Logeinträgen übereinstimmt, die in Ihre Senke aufgenommen werden sollen. Wenn Sie keinen Wert für den „Einschließen“-Filter angeben, entspricht dieser Filter allen Logeinträgen.
    • --exclusion: Mit dieser Option können Sie einen Ausschlussfilter für Logeinträge festlegen, die nicht über 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 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 gcloud logging sinks-Referenz.

  2. Wenn die Antwort des Befehls einen JSON-Schlüssel mit dem Label "writerIdentity" enthält, gewähren Sie dem Dienstkonto der Senke die Berechtigung, in das Senkenziel zu schreiben. Weitere Informationen finden Sie unter Zielberechtigungen festlegen.

    Sie müssen keine Berechtigungen für das Ziel festlegen, wenn die Antwort keinen JSON-Schlüssel mit dem Label "writerIdentity" enthält.

REST

  1. Wenn Sie in Ihrem Google Cloud -Projekt einen Logsenken erstellen möchten, verwenden Sie projects.sinks.create in der Logging API. Geben Sie im Objekt LogSink die entsprechenden erforderlichen Werte im Anfragetext der Methode an:

    • name: Eine Kennung für das Ziel. Nachdem Sie die Senke erstellt haben, können Sie sie nicht mehr umbenennen, aber löschen und eine neue 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 auf den entsprechenden Pfad fest, wie unter Zielpfadformate beschrieben.

      Wenn das Ziel Ihrer Senke beispielsweise ein Pub/Sub-Thema ist, sieht 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 mit den Logeinträgen übereinstimmt, die Sie in Ihre 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 aus Ihrer Senke ausschließen möchten. Mit der Funktion sample können Sie auch einen Teil der Logeinträge auswählen, die ausgeschlossen werden sollen. Sie können bis zu 50 Ausschlussfilter pro Senke erstellen.
    • description: Legen Sie dieses Feld fest, um den Zweck oder 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 dem Label "writerIdentity" enthält, erteilen Sie dem Dienstkonto der Senke die Berechtigung, in das Senkenziel zu schreiben. Weitere Informationen finden Sie unter Zielberechtigungen festlegen.

    Sie müssen keine Berechtigungen für das Ziel festlegen, wenn die API-Antwort keinen JSON-Schlüssel mit dem Label "writerIdentity" enthält.

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

Wenn Sie Fehlermeldungen erhalten, lesen Sie den Abschnitt Fehlerbehebung bei Weiterleitung und Senken.

Formate für Zielpfade

Wenn Sie ein Senkenziel konfigurieren, geben Sie den vollständig qualifizierten Pfad an und verwenden Sie den globalen Endpunkt des Dienstes. Regionale Dienstendpunkte (Regional Service Endpoints, REPs) wie pubsub.LOCATION.rep.googleapis.com werden nicht unterstützt.

In den folgenden Pfadformaten bezieht sich DESTINATION_PROJECT_ID auf die ID oder Nummer des Zielprojekts:

  • Cloud Logging-Log-Bucket:

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

    logging.googleapis.com/projects/DESTINATION_PROJECT_ID
    
  • Pub/Sub-Thema:

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

Zielberechtigungen festlegen

In diesem Abschnitt wird beschrieben, wie Sie dem Logging die Berechtigungen für Identity and Access Management (IAM) erteilen, um Logeinträge in das Ziel Ihres Senken zu schreiben. Eine vollständige Liste der Logging-Rollen und ‑Berechtigungen finden Sie unter Zugriffssteuerung.

Cloud Logging erstellt ein gemeinsames Dienstkonto für eine Ressource, wenn ein Senken erstellt wird, sofern das erforderliche Dienstkonto noch nicht vorhanden ist. Das Dienstkonto ist möglicherweise vorhanden, weil dasselbe Dienstkonto für alle Senken in der zugrunde liegenden Ressource verwendet wird. Eine Ressource kann ein Google Cloud Projekt, eine Organisation, ein Ordner oder ein Rechnungskonto sein.

Die Identität des Autors einer Senke ist die Kennung des Dienstkontos, das mit dieser Senke verknüpft ist. Alle Senken haben eine Writer-Identität, mit Ausnahme von Senken, die in einen Log-Bucket im selben Google Cloud Projekt schreiben, in dem die Logeinträge stammen. Für die zweite Konfiguration ist kein Dienstkonto erforderlich. Daher wird das Feld writerIdentity der Senke in der Console als None aufgeführt. Die API und die Google Cloud CLI-Befehle geben keine Identität des Autors zurück.

Die folgenden Anleitungen gelten für Projekte, Ordner, Organisationen und Rechnungskonten:

Console

  1. Sie müssen Inhaberzugriff auf dasGoogle Cloud -Projekt haben, das das Ziel enthält. Wenn Sie keinen Owner Zugriff auf das Ziel der Senke haben, bitten Sie einen Project Owner, die Writer-Identität als Prinzipal hinzuzufügen.

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

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

      Zu Logs Router

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

    2. Wählen Sie in der Symbolleiste das Projekt aus, das die Senke enthält.
    3. Wählen Sie das 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, fahre mit dem nächsten Schritt fort. Wenn der Wert None ist, müssen Sie keine Zielberechtigungen für das Senken 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 Logdaten in das Ziel:

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

      IAM aufrufen

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

    2. Prüfen Sie, ob in der Symbolleiste das Projekt ausgewählt ist, in dem das Ziel gespeichert ist oder das das Senkenziel ist. Wenn das Ziel beispielsweise ein Log-Bucket ist, muss in der Symbolleiste das Projekt angezeigt werden, in dem der Log-Bucket gespeichert ist.

    3. Wählen Sie Zugriff gewähren aus.

    4. Weisen Sie dem Hauptkonto, das in der Identität des Autors der Senke angegeben ist, eine IAM-Rolle basierend auf dem Ziel der Logsenke zu:

gcloud

  1. Sie müssen Inhaberzugriff auf dasGoogle Cloud -Projekt haben, das das Ziel enthält. Wenn Sie keinen Owner Zugriff auf das Ziel der Senke haben, bitten Sie einen Project Owner, die Writer-Identität als Prinzipal 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 Sink-Details 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.
    
  4. Gewähren Sie der Autorenidentität der Senke die Berechtigung, Logdaten in das Ziel zu schreiben, indem Sie den Befehl gcloud projects add-iam-policy-binding aufrufen.

    Bevor Sie den folgenden Befehl verwenden, ersetzen Sie die folgenden Werte:

    • 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 Kennzeichnung für das Hauptkonto, dem Sie die Rolle zuweisen möchten. Hauptkonto-Kennzeichnungen haben normalerweise das folgende Format: PRINCIPAL-TYPE:ID. Beispiel: Eine vollständige Liste der Formate, die PRINCIPAL haben kann, finden Sie unter Hauptkonto-IDs.
    • ROLE: Eine IAM-Rolle. Weisen Sie der Identität des Autors der Senke eine IAM-Rolle basierend auf dem Ziel der Logsenke 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 -Konsole oder die Google Cloud CLI zu verwenden, um dem Dienstkonto eine Rolle zuzuweisen.

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 Ein- und Ausschlussfiltern hilfreich sein können, finden Sie unter Beispielabfragen.

_Default-Senkenfilter wiederherstellen

Wenn Sie den Filter für das _Default-Ziel bearbeitet haben, sollten Sie es möglicherweise auf die ursprüngliche Konfiguration zurücksetzen. Wenn die _Default-Senke erstellt wird, wird sie mit dem folgenden „Einschließen“-Filter und einem leeren „Ausschließen“-Filter 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

Wenn Sie Google Kubernetes Engine-Container- und ‑Pod-Logeinträge für das GKE-System namespaces ausschließen möchten, verwenden Sie den folgenden Filter:

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")

Wenn Sie Google Kubernetes Engine-Knoten-Logeinträge für GKE-Systemwerte log_id ausschließen möchten, verwenden Sie den folgenden Filter:

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

Support

Mit Cloud Logging können Sie Logeinträge ausschließen und verhindern, dass sie in einem Log-Bucket gespeichert werden. Es empfiehlt sich jedoch, Logeinträge beizubehalten, die die Supportfähigkeit verbessern. Mithilfe dieser Logeinträge können Sie Probleme mit Ihren Anwendungen beheben und identifizieren.

GKE-Systemlog-Einträge sind beispielsweise nützlich für die Fehlerbehebung bei Ihren GKE-Anwendungen und -Clustern, da sie für Ereignisse generiert werden, die in Ihrem Cluster auftreten. Anhand dieser Logeinträge können Sie feststellen, ob ein Anwendungsfehler durch Ihren Anwendungscode oder den zugrunde liegenden GKE-Cluster verursacht wird. GKE-Systemlogs enthalten auch Kubernetes-Audit-Logging, das von der Kubernetes API Server-Komponente generiert wird. Dazu gehören Änderungen, die mit dem Befehl kubectl vorgenommen wurden, und Kubernetes-Ereignisse.

Nächste Schritte