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
_Requiredim 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.comwerden 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_Defaultwerden 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
Aist das ProjektB. In diesem Fall gelten die folgenden Regeln:- Aufgrund des One-Hop-Limits können die Logsenken im Projekt
BLogeinträge nicht an ein anderes Projekt Google Cloud weiterleiten. - Im Log-Bucket
_Requireddes ProjektsBwerden nur Logeinträge gespeichert, die aus dem ProjektBstammen. In diesem Log-Bucket werden keine Logeinträge gespeichert, die aus einer anderen Ressource stammen, einschließlich der Einträge, die aus dem ProjektAstammen. - Wenn Projekt
Aund ProjektBunterschiedliche Ressourcenhierarchien haben, wird ein Logeintrag, den eine Logs-Senke in ProjektAan ProjektBweiterleitet, nicht an die aggregierten Senken in der Ressourcenhierarchie von ProjektBgesendet. - Wenn Projekt
Aund ProjektBdieselbe 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 ProjektA.
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:
-
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 Achten Sie darauf, dass Ihr Google Cloud -Projekt Logeinträge enthält, die Sie im Log-Explorer sehen können.
-
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.
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.
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.
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 initREST
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
-
Rufen Sie in der Google Cloud Console die Seite Logs Router auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Logging ist.
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-Aan einen Log-Bucket im Projekt mit dem NamenProject-Bweiterleiten möchten, wählen SieProject-Aaus.Wählen Sie Senke erstellen aus.
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.
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_IDSo leiten Sie Logeinträge an einen Dienst in einem anderenGoogle Cloud -Projekt weiter:
- Wählen Sie Andere Ressource aus.
- Geben Sie den voll qualifizierten Namen für das Ziel ein. Informationen zur Syntax finden Sie unter Zielpfadformate.
Geben Sie die einzuschließenden Logeinträge an:
Rufen Sie den Bereich Logs auswählen, die in der Senke enthalten sind auf.
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.
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.
Optional: Konfigurieren Sie einen Ausschlussfilter, um einige der enthaltenen Logeinträge auszuschließen:
Rufen Sie den Bereich Auswählen zum Filtern aus der Senke auf.
Geben Sie in das Feld Name des Ausschlussfilters einen Namen ein.
Geben Sie im Abschnitt Ausschlussfilter erstellen einen Filterausdruck ein, der den Logeinträgen entspricht, die Sie ausschließen möchten. Mit der Funktion
samplekö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.
Wählen Sie Senke erstellen aus.
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:
Führen Sie dazu den Befehl
gcloud logging sinks createaus.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 Funktionsamplekö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.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
Wenn Sie in Ihrem Google Cloud -Projekt einen Logsenken erstellen möchten, verwenden Sie
projects.sinks.createin der Logging API. Geben Sie im ObjektLogSinkdie 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 Felddestinationauf den entsprechenden Pfad fest, wie unter Zielpfadformate beschrieben.Wenn das Ziel Ihrer Senke beispielsweise ein Pub/Sub-Thema ist, sieht
destinationso aus:pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
Geben Sie im
LogSink-Objekt die entsprechenden optionalen Informationen an:filter: Legen Sie das Feldfilterso 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 Funktionsamplekö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.
Rufen Sie
projects.sinks.createauf, um die Senke zu erstellen.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
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.
So rufen Sie die Identität des Autors der Senke (eine E‑Mail-Adresse) aus der neuen Senke ab:
-
Rufen Sie in der Google Cloud Console die Seite Logs Router auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.
- Wählen Sie in der Symbolleiste das Projekt aus, das die Senke enthält.
- Wählen Sie das more_vert Menü und dann Senkendetails ansehen aus. Die Identität des Autors wird im Feld Senkendetails angezeigt.
-
Wenn der Wert des Felds
writerIdentityeine E‑Mail-Adresse enthält, fahre mit dem nächsten Schritt fort. Wenn der WertNoneist, müssen Sie keine Zielberechtigungen für das Senken konfigurieren.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.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:
-
Rufen Sie in der Google Cloud Console die Seite IAM auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift IAM & Admin lautet.
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.
Wählen Sie Zugriff gewähren aus.
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:
- Gewähren Sie für alle Ziele die Rolle „Logs Writer“ (
roles/logging.logWriter). Ein Hauptkonto benötigt insbesondere die Berechtigunglogging.logEntries.route. - Weisen Sie je nach Ziel eine der folgenden Rollen zu:
- Log-Bucket: Weisen Sie die Rolle „Log-Bucket-Autor“ (
roles/logging.bucketWriter) zu. - Pub/Sub-Thema: Weisen Sie die Rolle „Pub/Sub-Publisher“ (
roles/pubsub.publisher) zu.
- Log-Bucket: Weisen Sie die Rolle „Log-Bucket-Autor“ (
- Gewähren Sie für alle Ziele die Rolle „Logs Writer“ (
-
gcloud
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.
Rufen Sie das Dienstkonto aus dem Feld
writerIdentityder Senke ab:gcloud logging sinks describe SINK_NAME
Suchen Sie die Senke, deren Berechtigungen Sie ändern möchten. Wenn die Sink-Details eine Zeile mit
writerIdentityenthalten, fahren Sie mit dem nächsten Schritt fort. Wenn die Details keinwriterIdentity-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.
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-bindingaufrufen.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, diePRINCIPALhaben 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:
- Gewähren Sie für alle Ziele die Rolle „Logs Writer“ (
roles/logging.logWriter). Ein Hauptkonto benötigt insbesondere die Berechtigunglogging.logEntries.route. - Weisen Sie je nach Ziel eine der folgenden Rollen zu:
- Log-Bucket: Weisen Sie die Rolle „Log-Bucket-Autor“ (
roles/logging.bucketWriter) zu. - Pub/Sub-Thema: Weisen Sie die Rolle „Pub/Sub-Publisher“ (
roles/pubsub.publisher) zu.
- Log-Bucket: Weisen Sie die Rolle „Log-Bucket-Autor“ (
- Gewähren Sie für alle Ziele die Rolle „Logs Writer“ (
Führen Sie den Befehl
gcloud projects add-iam-policy-bindingaus.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.