In diesem Dokument wird erläutert, wie Sie Senken erstellen und verwalten, um Logeinträge an unterstützte Ziele weiterzuleiten.
Cloud Logging erstellt und verwaltet automatisch ein Dienstkonto für Logsenken, die Logs an ein Ziel weiterleiten, das kein Log-Bucket im aktuellen Google Cloud-Projekt ist. 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.
Überblick
Senken steuern, wie Cloud Logging Logs weiterleitet. Mit Senken können Sie einige oder alle Logs an die folgenden Ziele weiterleiten:
- Cloud Logging-Log-Buckets: stellen Speicher in Cloud Logging bereit. In einem Log-Bucket können Logs gespeichert werden, die von mehreren Google Cloud-Projekten empfangen werden. Sie können Ihre Cloud Logging-Daten mit anderen Daten kombinieren. Aktualisieren Sie dazu einen Log-Bucket auf die Verwendung von Log Analytics und erstellen Sie dann ein verknüpftes BigQuery-Dataset. Informationen zum Aufrufen von Logs, die in Log-Buckets gespeichert sind, finden Sie unter Logs abfragen und ansehen und An Cloud Logging-Buckets weitergeleitete Logs ansehen.
- Google Cloud-Projekte: Sie können Logeinträge an ein anderes Google Cloud-Projekt weiterleiten. Wenn Sie Logs an ein anderes Google Cloud-Projekt weiterleiten, empfängt der Logrouter des Zielprojekts die Logs und verarbeitet sie. Die Senken im Zielprojekt bestimmen, wie die empfangenen Logeinträge weitergeleitet werden. Logeinträge, die an ein anderes Google Cloud-Projekt weitergeleitet werden, können von Error Reporting nicht analysiert werden.
- Pub/Sub-Themen: Bietet Unterstützung für Integrationen von Drittanbietern wie Splunk. Logeinträge werden als JSON formatiert und dann an ein Pub/Sub-Thema weitergeleitet. Informationen zum Ansehen von Logs, die an Pub/Sub weitergeleitet wurden, finden Sie unter An Pub/Sub weitergeleitete Logs ansehen.
- BigQuery-Datasets: Speichert Logeinträge in BigQuery-Datasets. Sie können Big-Data-Analysefunktionen für die gespeicherten Logs verwenden. Wenn Sie Ihre Cloud Logging-Daten mit anderen Datenquellen kombinieren möchten, empfehlen wir Ihnen, Ihre Log-Buckets auf die Verwendung von Log Analytics zu aktualisieren und dann ein verknüpftes BigQuery-Dataset zu erstellen. Informationen zum Aufrufen von an BigQuery weitergeleiteten Logs finden Sie unter An BigQuery weitergeleitete Logs ansehen.
- Cloud Storage-Buckets: Stellt die Speicherung von Logdaten in Cloud Storage bereit. Logeinträge werden als JSON-Dateien gespeichert. Informationen zum Aufrufen von Logs, die an Cloud Storage weitergeleitet wurden, finden Sie unter An Cloud Storage weitergeleitete Logs ansehen.
Senken gehören zu einer bestimmten Google Cloud-Ressource: Google Cloud-Projekte, Rechnungskonten, Ordner und Organisationen. Wenn die Ressource einen Logeintrag empfängt, leitet sie den Logeintrag entsprechend den in dieser Ressource enthaltenen Senken weiter. Der Logeintrag wird an das Ziel gesendet, das der jeweiligen Senke zugeordnet ist.
Eine aggregierte Senke ist ein Senkentyp, der Logeinträge aus den Google Cloud-Ressourcen in einer Organisation oder einem Ordner kombiniert und weiterleitet. Eine Anleitung finden Sie unter Logs auf Organisationsebene sortieren und an unterstützte Ziele weiterleiten.
Zum Erstellen und Verwalten von Senken können Sie die Google Cloud Console, die Cloud Logging API und die Google Cloud CLI verwenden. Die Google Cloud Console bietet gegenüber den anderen Methoden folgende Vorteile:
- Alle Senken an einem Ort ansehen und verwalten.
- Vorschau der Logeinträge ansehen, die dem Filter der Senke entsprechen, bevor Sie die Senke erstellen
- Senkenziele für Senken erstellen und autorisieren
Hinweise
Die Anleitungen in diesem Dokument beschreiben das Erstellen und Verwalten von Senken auf Google Cloud-Projektebene. Sie können jedoch Senken (nicht aggregiert) für Rechnungskonten, Ordner und Organisationen erstellen.
Führen Sie zunächst die folgenden Schritte aus:
Sie haben ein Google Cloud-Projekt mit Logs, die Sie im Log-Explorer sehen können.
Zum Erstellen, Ändern oder Löschen einer Senke benötigen Sie eine der folgenden Rollen der Identity and Access Management für das Google Cloud-Projekt, aus dem Sie Logs weiterleiten.
- Autor von Log-Konfigurationen (
roles/logging.configWriter
) - Logging-Administrator (
roles/logging.admin
) - Inhaber (
roles/owner
)
Informationen zum Gewähren von IAM-Rollen finden Sie in der Anleitung zur Zugriffssteuerung in Logging.
- Autor von Log-Konfigurationen (
Sie haben eine Ressource in einem unterstützten Ziel oder die Erlaubnis, eine Ressource zu erstellen.
Damit Logs an ein Ziel weitergeleitet werden können, muss das Ziel vorhanden sein, bevor Sie die Senke erstellen. Sie können das Ziel in jedem Google Cloud-Projekt in jeder Organisation erstellen.
Wenn Sie Ihre Logs an andere Ziele weiterleiten, gelten möglicherweise einige Einschränkungen. Weitere Informationen finden Sie unter Zieleinschränkungen.
Senke erstellen
Im Folgenden finden Sie eine Anleitung zum Erstellen einer Senke in einem Google Cloud-Projekt. Anstelle eines Google Cloud-Projekts können Sie ein Rechnungskonto, einen Ordner oder eine Organisation angeben.
Sie können bis zu 200 Senken pro Google Cloud-Projekt erstellen.
Prüfen Sie nach dem Erstellen der Senke, ob Logging die entsprechenden Berechtigungen zum Schreiben von Logs in das Ziel der Senke hat. Weitere Informationen finden Sie unter Zielberechtigungen festlegen.
So erstellen Sie eine Senke:
Console
-
Wählen Sie in der Google Cloud Console Logging und anschließend Logs Router aus oder klicken Sie auf die folgende Schaltfläche:
Wählen Sie ein vorhandenes Google Cloud-Projekt aus.
Wählen Sie Senke erstellen aus.
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.
Wählen Sie im Bereich Senkenziel über das Menü Senkendienst auswählen den Senkendienst und das Ziel aus.
Wählen Sie eine der folgenden Optionen aus, um Logs an einen Dienst im selben Google Cloud-Projekt weiterzuleiten:
- Cloud Logging-Bucket: Wählen Sie einen Logging-Bucket aus oder erstellen Sie einen.
- BigQuery-Tabelle: Wählen Sie das spezifische Dataset aus, das die weitergeleiteten Logs erhalten soll, oder erstellen Sie es. Sie können auch partitionierte Tabellen verwenden.
- Cloud Storage-Bucket: Wählen Sie den spezifischen Cloud Storage-Bucket aus, der die weitergeleiteten Logs erhalten soll, oder erstellen Sie ihn.
- Pub/Sub-Thema: Wählen Sie das spezifische Thema aus, das die weitergeleiteten Logs erhalten soll, oder erstellen Sie es.
- Splunk Wählen Sie das Pub/Sub-Thema für den Splunk-Dienst aus.
- Anderes Projekt: Füllen Sie das Feld Senkenziel wie unter Zielpfadformate beschrieben aus.
Führen Sie im Bereich Logs auswählen, die in der Senke enthalten sein sollen die folgenden Schritte aus:
Geben Sie im Feld Einschlussfilter erstellen einen Filterausdruck ein, der den einzuschließenden Logeinträgen entspricht. Weitere Informationen zur Syntax zum Schreiben von Filtern finden Sie unter Logging-Abfragesprache.
Wenn Sie keinen Filter festlegen, werden alle Logs der ausgewählten Ressource an das Ziel weitergeleitet.
Sie können beispielsweise einen Filter erstellen, um alle Datenzugriffslogs an einen einzelnen Logging-Bucket weiterzuleiten. Dieser Filter sieht in etwa so aus:
log_id("cloudaudit.googleapis.com/data_access") OR log_id("externalaudit.googleapis.com/data_access")
Beachten Sie, dass ein Filter nicht länger als 20.000 Zeichen sein darf.
Wählen Sie Vorschau von Logs aus, um zu prüfen, ob Sie den richtigen Filter eingegeben haben. Dadurch wird der Log-Explorer in einem neuen Tab geöffnet, auf dem der Filter bereits ausgefüllt ist.
(Optional) Führen Sie im Bereich Logs auswählen, die aus der Senke gefiltert werden sollen die folgenden Schritte aus:
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
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.
Wählen Sie Senke erstellen aus.
API
Verwenden Sie zum Erstellen einer Logsenke in Ihrem Google Cloud-Projekt projects.sinks.create in der Logging API. Geben Sie im LogSink die entsprechenden erforderlichen Werte im Methodenanfragetext an:
name
: Eine Kennung für die Senke. Nachdem Sie die Senke erstellt haben, können Sie sie nicht mehr umbenennen, sondern lediglich löschen und eine neue Senke erstellen.destination
: Der Dienst und das Ziel, an das Ihre Logs weitergeleitet werden sollen. Wenn Sie Logs an ein anderes Projekt oder an ein Ziel weiterleiten möchten, das sich in einem anderen Projekt befindet, legen Sie im Felddestination
den entsprechenden Pfad fest, wie unter Zielpfadformate beschrieben.Wenn das Senkenziel beispielsweise ein BigQuery-Dataset ist, sieht
destination
so aus:bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
Geben Sie im LogSink die entsprechenden optionalen Informationen an:
filter
: Legen Sie das Attributfilter
so fest, dass es den Logeinträgen entspricht, die Sie in die Senke aufnehmen möchten. Wenn Sie keinen Filter festlegen, werden alle Logs aus Ihrem Google Cloud-Projekt an das Ziel weitergeleitet. Beachten Sie, dass ein Filter nicht länger als 20.000 Zeichen sein darf.exclusions
: Legen Sie dieses Attribut so fest, dass es den Logeinträgen entspricht, die Sie von der Senke ausschließen möchten. Mit der Funktionsample
können Sie auch einen Teil der Logeinträge auswählen, die ausgeschlossen werden sollen. Sie können bis zu 50 Ausschlussfilter pro Senke erstellen.description
: Legen Sie dieses Attribut fest, um den Zweck oder den Anwendungsfall für die Senke zu beschreiben.
Rufen Sie projects.sinks.create auf, um die Senke zu erstellen.
Wenn die API-Antwort einen JSON-Schlüssel mit dem Label
"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 API-Antwort keinen JSON-Schlüssel mit der Bezeichnung
"writerIdentity"
enthält.
Weitere Informationen zum Erstellen von Senken mithilfe der Logging API finden Sie in der LogSink.
gcloud
Führen Sie den folgenden gcloud logging sinks create
Befehl aus, um eine Senke zu erstellen:
Geben Sie die entsprechenden Werte für die Variablen im Befehl wie folgt an:
- SINK_NAME: Eine Kennung für die Senke. Nachdem Sie die Senke erstellt haben, können Sie sie nicht mehr umbenennen, aber löschen und eine neue Senke erstellen.
SINK_DESTINATION: Der Dienst und das Ziel, an das Ihre Logs weitergeleitet werden sollen. Wenn Sie Logs an ein anderes Projekt oder an ein Ziel weiterleiten möchten, das sich in einem anderen Projekt befindet, legen Sie für SINK_DESTINATION den entsprechenden Pfad fest, wie unter Zielpfadformate beschrieben.
Wenn das Senkenziel beispielsweise ein BigQuery-Dataset ist, sieht SINK_DESTINATION so aus:
bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
OPTIONAL_FLAGS enthält die folgenden Flags:
--log-filter
: Verwenden Sie dieses Flag, um einen Filter festzulegen, der den Logeinträgen entspricht, die Sie in die Senke aufnehmen möchten. Wenn Sie keinen Filter festlegen, werden alle Logs aus Ihrem Google Cloud-Projekt an das Ziel weitergeleitet.--exclusion
: Verwenden Sie dieses Flag, um einen Ausschlussfilter für Logeinträge festzulegen, die Sie aus der Senke ausschließen möchten. Mit der Funktionsample
können Sie auch einen Teil der Logeinträge auswählen, die ausgeschlossen werden sollen. Dieses Flag kann wiederholt werden. Sie können bis zu 50 Ausschlussfilter pro Senke erstellen.--description
: Verwenden Sie dieses Flag, um den Zweck oder Anwendungsfall der Senke zu beschreiben.
gcloud logging sinks create SINK_NAME SINK_DESTINATION OPTIONAL_FLAGS
Wenn Sie beispielsweise eine Senke in einem Logging-Bucket erstellen möchten, könnte der Befehl so aussehen:
gcloud logging sinks create my-sink logging.googleapis.com/projects/myproject123/locations/global/buckets/my-bucket \ --log-filter='logName="projects/myproject123/logs/matched"' --description="My first sink"
Weitere Informationen zum Erstellen von Senken mit der Google Cloud CLI, einschließlich weiterer Flags und Beispiele, finden Sie in der Referenz zu gcloud logging sinks
.
Es kann mehrere Stunden dauern, bis neue Logsenken für Cloud Storage-Buckets mit dem Routing von Logs beginnen. Senken für Cloud Storage werden stündlich verarbeitet, während andere Zieltypen in Echtzeit verarbeitet werden.
Senken definieren nicht das Schema für BigQuery-Datasets. Stattdessen bestimmt der erste von BigQuery empfangene Logeintrag das Schema für die Zieltabelle. Weitere Informationen finden Sie unter BigQuery-Schema für weitergeleitete Logs.
Informationen zum Aufrufen von Logs an den Senkenzielen finden Sie unter An Cloud Logging-Buckets weitergeleitete Logs ansehen.
Nachdem Sie die Senke erstellt haben, können Sie die Anzahl und das Umfang der empfangenen Logeinträge mit den logging.googleapis.com/exports/
-Messwerten einsehen.
Wenn Sie Fehlerbenachrichtigungen erhalten, lesen Sie die Informationen unter Fehlerbehebung bei Routing und Senken.
Verwenden Sie keine vertraulichen Informationen in Senkenfiltern. Senkenfilter werden wie Dienstdaten behandelt.
Zielpfadformate
Wenn Sie ein Routing an ein Ziel vornehmen, das sich in einem anderen Projekt befindet, müssen Sie die Informationen zum Logging-, BigQuery-, Cloud Storage- oder Pub/Sub-Dienst und das Ziel bereitstellen:
Wenn Sie Logeinträge an einen Cloud Logging-Log-Bucket weiterleiten möchten, der sich in einem anderen Google Cloud-Projekt befindet, lautet das Senkenziel so:
logging.googleapis.com/projects/DESTINATION_PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
Zum Weiterleiten von Logeinträgen an ein anderes Google Cloud-Projekt lautet der Zielpfad der Senke so:
logging.googleapis.com/projects/DESTINATION_PROJECT_ID
Um Logeinträge an ein BigQuery-Dataset weiterzuleiten, verwenden Sie folgendes Senkenziel:
bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
Das folgende Senkenziel wird festgelegt, um Logeinträge an einen Cloud Storage-Bucket weiterzuleiten:
storage.googleapis.com/BUCKET_NAME
Zum Weiterleiten von Logeinträgen an ein Pub/Sub-Thema wird das folgende Senkenziel verwendet:
pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
Senken verwalten
Nachdem die Senken erstellt wurden, können Sie für sie die folgenden Aktionen ausführen:
- Senkendetails ansehen
- Senke aktualisieren
- Senke deaktivieren
- Senke löschen
- Fehler in Senke beheben
- Volumen und Fehlerraten des Senkenlogs ansehen
Beachten Sie Folgendes, bevor Sie eine Senke löschen:
- Sie können die Senken
_Default
und_Required
nicht löschen. Sie können jedoch_Default
-Senken deaktivieren, um das Routing von Logs an_Default
-Logging-Buckets zu beenden. - Nachdem eine Senke gelöscht wurde, werden keine Logeinträge mehr weitergeleitet.
- Wenn die Senke ein dediziertes Dienstkonto hat, wird beim Löschen dieser Senke auch das Dienstkonto gelöscht. Senken, die vor dem 22. Mai 2023 erstellt wurden, haben dedizierte Dienstkonten. Senken, die am oder nach dem 22. Mai 2023 erstellt wurden, haben ein gemeinsames Dienstkonto. Durch das Löschen der Senke wird das freigegebene Dienstkonto nicht gelöscht.
Es kann einige Minuten dauern, bis Änderungen an einer Senke wirksam werden.
Im Folgenden finden Sie eine Anleitung zum Verwalten einer Senke in einem Google Cloud-Projekt. Anstelle eines Google Cloud-Projekts können Sie ein Rechnungskonto, einen Ordner oder eine Organisation angeben:
Console
-
Wählen Sie in der Google Cloud Console Logging und anschließend Logs Router aus oder klicken Sie auf die folgende Schaltfläche:
Wählen Sie das Google Cloud-Projekt aus, das die Senke enthält. Verwenden Sie dazu die Ressourcenauswahl an einer beliebigen Stelle in der Google Cloud Console:
Wählen Sie zum Aufrufen der aggregierten Senken die Organisation, den Ordner oder das Rechnungskonto aus, das die Senke enthält.
Die Seite Log Router enthält eine Tabellenzusammenfassung der Senken. Jede Tabellenzeile enthält Informationen zu den Attributen einer Senke:
- Aktiviert: Gibt an, ob der Status der Senke aktiviert oder deaktiviert ist.
- Typ: Der Zieldienst der Senke, beispielsweise
Cloud Logging bucket
. - Name: Die Kennzeichnung 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 der Senke.
- Zuletzt aktualisiert: Datum und Uhrzeit der letzten Bearbeitung der Senke.
Für jede Tabellenzeile enthält das more_vert-Menü Weitere Aktionen die folgenden Optionen:
- Senkendetails ansehen: Zeigt den Namen, die Beschreibung, den Zieldienst, das Ziel sowie die Ein- und Ausschlussfilter der Senke an. Wenn Sie Bearbeiten auswählen, wird der Bereich Senke bearbeiten geöffnet.
- Senke bearbeiten: Öffnet das Fenster Senke bearbeiten, in dem Sie die Parameter der Senke aktualisieren können.
- Senke deaktivieren: Ermöglicht das Deaktivieren der Senke und das Beenden der Weiterleitung von Logs an das Ziel der Senke. Weitere Informationen zum Deaktivieren von Senken finden Sie unter Speichern von Logs in Log-Buckets beenden.
- Senke aktivieren: Ermöglicht das Aktivieren einer deaktivierten Senke und den Neustart der Weiterleitung von Logs zum Ziel der Senke.
- Senke löschen: Ermöglicht das Löschen der Senke und das Beenden von Routing-Logs an das Ziel der Senke.
- Fehlerbehebung für Senke: Damit wird der Log-Explorer geöffnet, in dem Sie Fehler in der Senke beheben können.
- Volumen und Fehlerraten von Senkenlogs ansehen: Damit wird der Metrics Explorer geöffnet, in dem Sie Daten aus der Senke ansehen und analysieren können.
Durch einen Klick auf einen der Spaltennamen können Sie Daten in aufsteigender oder absteigender Reihenfolge sortieren.
API
Rufen Sie
projects.sinks.list
auf, um die Senken für Ihr Google Cloud-Projekt anzusehen.Rufen Sie
projects.sinks.get
auf, um die Details einer Senke aufzurufen.Rufen Sie zum Aktualisieren einer Senke
projects.sink.update
auf.Sie können das Ziel, die Filter und die Beschreibung einer Senke aktualisieren. Sie können die Senke auch deaktivieren oder wieder aktivieren.
Rufen Sie zum Deaktivieren einer Senke
projects.sink.update
auf und setzen Sie das Attributdisabled
auftrue
.Rufen Sie
projects.sink.update
auf und legen Sie das Attributdisabled
auffalse
fest, um die Senke wieder zu aktivieren.Rufen Sie zum Löschen einer Senke
projects.sinks.delete
auf.Weitere Informationen zu diesen Methoden zum Verwalten von Senken mit der Logging API finden Sie in der LogSink.
gcloud
Verwenden Sie den Befehl
gcloud logging sinks list
, der der Logging API-Methodeprojects.sinks.list
entspricht, um die Liste der Senken für Ihr Google Cloud-Projekt aufzurufen:gcloud logging sinks list
Um die Liste der aggregierten Senken aufzurufen, verwenden Sie das entsprechende Flag, um die Ressource anzugeben, die die Senke enthält. Wenn Sie beispielsweise die Senke auf Organisationsebene erstellt haben, verwenden Sie das Flag
--organization=ORGANIZATION_ID
, um die Senken für die Organisation aufzulisten.Verwenden Sie zum Beschreiben einer Senke den Befehl
gcloud logging sinks describe
, der der Logging API-Methodeprojects.sinks.get
entspricht:gcloud logging sinks describe SINK_NAME
Verwenden Sie zum Aktualisieren einer Senke den Befehl
gcloud logging sinks update
. Dieser entspricht der API-Methodeprojects.sink.update
.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 Namenmy-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-Methodeprojects.sink.update
entspricht, und fügen Sie das Flag--disabled
ein:gcloud logging sinks update _Default --disabled
Verwenden Sie zum erneuten Aktivieren der Senke den Befehl
gcloud logging sinks update
, entfernen Sie das Flag--disabled
und fügen Sie das Flag--no-disabled
ein:gcloud logging sinks update _Default --no-disabled
Verwenden Sie zum Löschen einer Senke den Befehl
gcloud logging sinks delete
. Dieser entspricht der API-Methodeprojects.sinks.delete
:gcloud logging sinks delete SINK_NAME
Weitere Informationen zum Verwalten von Senken mit der Google Cloud CLI finden Sie in der
gcloud logging sinks
-Referenz.
Speichern von Logs in Log-Buckets beenden
Für jedes Google Cloud-Projekt erstellt Logging automatisch zwei Log-Buckets: _Required
und _Default
.
Logging erstellt automatisch zwei Logsenken (_Required
und _Default
), die Logs an die entsprechenden benannten Buckets weiterleiten.
Sie können die Senke _Required
nicht deaktivieren. Sie können die Senke _Default
deaktivieren, um zu verhindern, dass Logs im Bucket _Default
gespeichert werden. Sie können auch alle benutzerdefinierten Senken deaktivieren.
Wenn Sie alle Senken in Ihrem Google Cloud-Projekt deaktivieren, die Logs an den _Default
-Bucket senden, werden keine neuen Logs in diesem Log-Bucket gespeichert.
Der Bucket _Default
ist leer, wenn alle zuvor gespeicherten Logs im Bucket _Default
die Aufbewahrungsdauer für den Bucket erfüllt haben.
So deaktivieren Sie die Google Cloud-Projektsenken, die Logs an den Bucket _Default
weiterleiten:
Console
-
Wählen Sie in der Google Cloud Console Logging und anschließend Logs Router aus oder klicken Sie auf die folgende Schaltfläche:
Filtern Sie die Senken nach Ziel und geben Sie
_Default
ein, um alle Senken zu ermitteln, die Logs an den_Default
-Bucket weiterleiten.Wählen Sie für jede Senke die Option more_vert Menü und dann Senke deaktivieren aus.
Die Senken sind jetzt deaktiviert und Ihre Google Cloud-Projektsenken leiten Logs nicht mehr an den Bucket _Default
weiter.
Gehen Sie so vor, um eine deaktivierte Senke wieder zu aktivieren und die Weiterleitung der Logs an das Ziel der Senke neu zu starten:
-
Wählen Sie in der Google Cloud Console Logging und anschließend Logs Router aus oder klicken Sie auf die folgende Schaltfläche:
Filtern Sie die Senken nach Ziel und geben Sie
_Default
ein, um alle deaktivierten Senken zu ermitteln, die zuvor für das Weiterleiten von Logs an den_Default
-Bucket konfiguriert wurden.Wählen Sie für jede Senke die Option more_vert Menü und dann Senke aktivieren aus.
API
Rufen Sie die Logging API-Methode
projects.sinks.list
auf, um die Senken für Ihr Google Cloud-Projekt anzusehen.Identifizieren Sie alle Senken, die an den
_Default
-Bucket weiterleiten.Wenn Sie beispielsweise die Senke
_Default
deaktivieren möchten, rufen Sieprojects.sink.update
auf und legen Sie das Attributdisabled
auftrue
fest.
Die Senke _Default
ist jetzt deaktiviert. Sie leitet keine Logs mehr an den _Default
-Bucket weiter.
Wiederholen Sie die obigen Schritte, um die anderen Senken in Ihrem Google Cloud-Projekt zu deaktivieren, die an den Bucket _Default
weiterleiten.
Wenn Sie eine Senke wieder aktivieren möchten, rufen Sie projects.sink.update
auf und setzen Sie das Attribut disabled
auf false
.
gcloud
Verwenden Sie den Befehl
gcloud logging sinks list
, der der Logging API-Methodeprojects.sinks.list
entspricht, um die Liste der Senken für Ihr Google Cloud-Projekt aufzurufen:gcloud logging sinks list
Identifizieren Sie alle Senken, die an den
_Default
-Bucket weiterleiten. Verwenden Sie zum Beschreiben einer Senke, einschließlich des Zielnamens, den Befehlgcloud logging sinks describe
. Dies entspricht der Logging API-Methodeprojects.sinks.get
:gcloud logging sinks describe SINK_NAME
Um die Senke
_Default
zu deaktivieren, verwenden Sie beispielsweise den Befehlgcloud logging sinks update
und fügen das Flag--disabled
ein:gcloud logging sinks update _Default --disabled
Die Senke _Default
ist jetzt deaktiviert. Sie leitet keine Logs mehr an den _Default
-Bucket weiter.
Wiederholen Sie die obigen Schritte, um die anderen Senken in Ihrem Google Cloud-Projekt zu deaktivieren, die an den Bucket _Default
weiterleiten.
Verwenden Sie zum erneuten Aktivieren einer Senke den Befehl gcloud logging sinks update
, entfernen Sie das Flag --disabled
und fügen Sie das Flag --no-disabled
ein:
gcloud logging sinks update _Default --no-disabled
Zielberechtigungen festlegen
In diesem Abschnitt wird beschrieben, wie Sie Logging die IAM-Berechtigungen (Identitäts- und Zugriffsverwaltung) zum Schreiben von Logs an das Ziel der Senke gewähren. Eine vollständige Liste der Logging-Rollen und -Berechtigungen finden Sie unter Zugriffssteuerung.
Cloud Logging erstellt beim Erstellen einer Logsenke ein freigegebenes Dienstkonto für eine Ressource, sofern das erforderliche Dienstkonto nicht bereits vorhanden ist. Das Dienstkonto ist möglicherweise vorhanden, da für alle Senken in der zugrunde liegenden Ressource dasselbe Dienstkonto verwendet wird. Ressourcen können 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 Autorenidentität, mit Ausnahme von Senken, die in einen Log-Bucket im aktuellen Google Cloud-Projekt schreiben.
Wenn das Ziel einer Senke ein Log-Bucket im aktuellen Google Cloud-Projekt ist, sind für die Senke keine zusätzlichen Zielberechtigungen erforderlich. Daher wird der Wert des Felds Identität des Autors in der Console als None
aufgeführt und von der API und den Google Cloud CLI-Befehlen nicht gemeldet.
Im Folgenden wird beschrieben, wie Sie Google Cloud-Berechtigungen auf Projektebene für Ihre Senke festlegen, damit diese an ihr Ziel weitergeleitet wird. Anstelle eines Google Cloud-Projekts können Sie ein Rechnungskonto, einen Ordner oder eine Organisation angeben:
Console
So rufen Sie die Identität des Autors der Senke – also eine E-Mail-Adresse – von der neuen Senke ab:
-
Wählen Sie in der Google Cloud Console Logging und anschließend Logs Router aus oder klicken Sie auf die folgende Schaltfläche:
Wählen Sie more_vert Menü und dann Senkendetails ansehen aus. Die Identität des Autors wird im Bereich Senkendetails angezeigt.
-
Wenn der Wert des Felds
writerIdentity
eine E-Mail-Adresse enthält, fahren Sie mit dem nächsten Schritt fort. Wenn der WertNone
ist, müssen Sie keine Zielberechtigungen für die Senke konfigurieren.Klicken Sie auf content_copy Kopieren, um die Identität des Autors der Senke in die Zwischenablage zu kopieren.
Wenn Sie die Rolle Inhaber für das Ziel haben, fügen Sie das Dienstkonto als IAM-Hauptkonto im Zielprojekt hinzu:
- Fügen Sie für Cloud Storage-Ziele die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle Storage-Objekt-Ersteller (
roles/storage.objectCreator
) zu. - Fügen Sie für BigQuery-Ziele die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle BigQuery-Dateneditor (
roles/bigquery.dataEditor
) zu. - Fügen Sie bei Pub/Sub-Zielen, einschließlich Splunk, die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle „Pub/Sub-Publisher“ (
roles/pubsub.publisher
) zu. - Fügen Sie für Logging-Bucket-Ziele in verschiedenen Google Cloud-Projekten die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle "Log-Bucket-Autor" (
roles/logging.bucketWriter
) zu. - Fügen Sie bei Zielen von Google Cloud-Projekten die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren Sie ihr dann die Rolle „Logautor“ (
roles/logging.logWriter
). Ein Hauptkonto benötigt die Berechtigunglogging.logEntries.route
.
- Fügen Sie für Cloud Storage-Ziele die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle Storage-Objekt-Ersteller (
API
Rufen Sie die API-Methode projects.sinks.list auf, um die Senken in Ihrem Google Cloud-Projekt aufzulisten.
Suchen Sie die Senke, deren Berechtigungen Sie ändern möchten. Wenn die Senkendetails einen JSON-Schlüssel mit dem Namen
"writerIdentity"
enthalten, fahren Sie mit dem nächsten Schritt fort. Wenn die Details das Feld"writerIdentity"
nicht enthalten, müssen Sie keine Zielberechtigungen für die Senke konfigurieren.Wenn Sie IAM-Inhaberzugriff für das Ziel haben, fügen Sie dem Ziel das Dienstkonto hinzu. Gehen Sie dazu so vor:
- Fügen Sie für Cloud Storage-Ziele die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle Storage-Objekt-Ersteller (
roles/storage.objectCreator
) zu. - Fügen Sie für BigQuery-Ziele die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle BigQuery-Dateneditor (
roles/bigquery.dataEditor
) zu. - Fügen Sie bei Pub/Sub-Zielen, einschließlich Splunk, die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle „Pub/Sub-Publisher“ (
roles/pubsub.publisher
) zu. - Fügen Sie für Logging-Bucket-Ziele in verschiedenen Google Cloud-Projekten die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle "Log-Bucket-Autor" (
roles/logging.bucketWriter
) zu. - Fügen Sie bei Zielen von Google Cloud-Projekten die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren Sie ihr dann die Rolle „Logautor“ (
roles/logging.logWriter
). Ein Hauptkonto benötigt die Berechtigunglogging.logEntries.route
.
- Fügen Sie für Cloud Storage-Ziele die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle Storage-Objekt-Ersteller (
gcloud
Rufen Sie das Dienstkonto aus dem Feld
writerIdentity
der Senke ab:gcloud logging sinks describe SINK_NAME
Suchen Sie die Senke, deren Berechtigungen Sie ändern möchten. Wenn die Senkendetails eine Zeile mit
writerIdentity
enthalten, fahren Sie mit dem nächsten Schritt fort. Wenn die Details das FeldwriterIdentity
nicht enthalten, müssen Sie keine Zielberechtigungen für die Senke konfigurieren.Der Wert des Feldes SERVICE_ACCT_NAME in den folgenden Schritten ist die Identität des Autors, die in etwa so aussieht:
serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
Wenn Sie IAM-Inhaberzugriff für das Ziel haben, fügen Sie dem Ziel das Dienstkonto hinzu. Gehen Sie dazu so vor:
- Fügen Sie für Cloud Storage-Ziele die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle Storage-Objekt-Ersteller (
roles/storage.objectCreator
) zu. - Fügen Sie für BigQuery-Ziele die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle BigQuery-Dateneditor (
roles/bigquery.dataEditor
) zu. - Fügen Sie bei Pub/Sub-Zielen, einschließlich Splunk, die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle „Pub/Sub-Publisher“ (
roles/pubsub.publisher
) zu. - Fügen Sie für Logging-Bucket-Ziele in verschiedenen Google Cloud-Projekten die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle "Log-Bucket-Autor" (
roles/logging.bucketWriter
) zu. - Fügen Sie bei Zielen von Google Cloud-Projekten die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren Sie ihr dann die Rolle „Logautor“ (
roles/logging.logWriter
). Ein Hauptkonto benötigt die Berechtigunglogging.logEntries.route
.
Führen Sie beispielsweise den folgenden Befehl aus, um dem Dienstkonto
service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
im Projektmy-test-project
die Rolle „Logautor“ (roles/logging.logWriter
) zuzuweisen:gcloud projects add-iam-policy-binding my-test-project --member='serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com' --role='roles/logging.logWriter'
- Fügen Sie für Cloud Storage-Ziele die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle Storage-Objekt-Ersteller (
Zieleinschränkungen
Je nach Ziel, an das Sie Ihre Logs weiterleiten, gibt es möglicherweise Einschränkungen.
Weiterleitung an Log-Buckets in verschiedenen Google Cloud-Projekten
Wenn Sie Ihre Logs an Log-Buckets in verschiedenen Google Cloud-Projekten weiterleiten, gelten die folgenden Einschränkungen:
Wenn Sie Logs an einen Log-Bucket weiterleiten, der in einem anderen Projekt gespeichert ist, kann Error Reporting diese Logs nicht analysieren.
Error Reporting ist für Logs deaktiviert, die in Log-Buckets gespeichert sind, die vom Kunden verwaltete Verschlüsselungsschlüssel verwenden.
Weiterleitung zu anderen Google Cloud-Projekten
Wenn Sie Ihre Logs an verschiedene Google Cloud-Projekte weiterleiten, gelten die folgenden Einschränkungen:
Wenn Sie Logs an ein anderes Projekt weiterleiten, kann Error Reporting diese Logs nicht analysieren.
Es gilt ein Limit für einen Hop. Wenn Sie beispielsweise Logeinträge von Projekt A an Projekt B weiterleiten, können Sie die Logeinträge von Projekt B nicht an ein anderes Projekt weiterleiten.
Audit-Logs werden nicht an den Bucket
_Required
im Zielprojekt weitergeleitet. Sie müssen eine weitere Senke oder einen weiteren Bucket erstellen, um sie zu speichern.Wenn die Organisation oder der Ordner mit dem Google Cloud-Projekt, zu dem Sie ein Routing ausführen, bereits aggregierte Senken hat, werden die Logs nicht über diese aggregierten Senken weitergeleitet.
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 Ihrer Einschluss- und Ausschlussfilter nützlich sein können, finden Sie unter Beispielabfragen.
Senkenfilter _Default
wiederherstellen
Wenn Sie den Filter für die Senke _Default
bearbeitet haben, können Sie den Standardfilter wiederherstellen. Geben Sie dazu den folgenden Einschlussfilter ein:
NOT log_id("cloudaudit.googleapis.com/activity") AND NOT \
log_id("externalaudit.googleapis.com/activity") AND NOT \
log_id("cloudaudit.googleapis.com/system_event") AND NOT \
log_id("externalaudit.googleapis.com/system_event") AND NOT \
log_id("cloudaudit.googleapis.com/access_transparency") AND NOT \
log_id("externalaudit.googleapis.com/access_transparency")
Google Kubernetes Engine-Container- und -Pod-Logs ausschließen
Verwenden Sie den folgenden Filter, um Google Kubernetes Engine-Container- und Pod-Logs für das GKE-System namespaces
auszuschließen:
resource.type = ("k8s_container" OR "k8s_pod")
resource.labels.namespace_name = (
"cnrm-system" OR
"config-management-system" OR
"gatekeeper-system" OR
"gke-connect" OR
"gke-system" OR
"istio-system" OR
"knative-serving" OR
"monitoring-system" OR
"kube-system")
Verwenden Sie den folgenden Filter, um Google Kubernetes Engine-Knotenlogs für das GKE-System logNames
auszuschließen:
resource.type = "k8s_node"
logName:( "logs/container-runtime" OR
"logs/docker" OR
"logs/kube-container-runtime-monitor" OR
"logs/kube-logrotate" OR
"logs/kube-node-configuration" OR
"logs/kube-node-installation" OR
"logs/kubelet" OR
"logs/kubelet-monitor" OR
"logs/node-journal" OR
"logs/node-problem-detector")
Mit dem Metrics Explorer in Cloud Monitoring können Sie das Volumen der in Log-Buckets gespeicherten Knoten-, Pod- und Container-Logs von Google Kubernetes Engine aufrufen.
Dataflow-Logs, die nicht für Unterstützung erforderlich sind, ausschließen
Verwenden Sie den folgenden Filter, um Dataflow-Logs auszuschließen, die nicht für den Support erforderlich sind:
resource.type="dataflow_step"
labels."dataflow.googleapis.com/log_type"!="system" AND labels."dataflow.googleapis.com/log_type"!="supportability"
Mit dem Metrics Explorer in Cloud Monitoring können Sie das Volumen der in Log-Buckets gespeicherten Dataflow-Logs ansehen.
Support
Sie können in Cloud Logging zwar verhindern, dass Logs in einem Log-Bucket gespeichert werden, es empfiehlt sich aber, Logs beizubehalten, die die Unterstützung erleichtern. Anhand dieser Logs können Probleme mit Ihren Anwendungen schneller behoben und identifiziert werden.
GKE-Systemlogs sind beispielsweise nützlich, um Probleme bei GKE-Anwendungen und -Clustern zu beheben, da sie für Ereignisse in Ihrem Cluster generiert werden. Anhand dieser Logs können Sie feststellen, ob Ihr Anwendungscode oder der zugrunde liegende GKE-Cluster den Anwendungsfehler verursacht. GKE-Systemlogs umfasst auch Kubernetes-Audit-Logging, das von der Kubernetes API Server-Komponente generiert wird. Dazu gehören Änderungen, die mit dem kubectl-Befehl und Kubernetes-Ereignissen vorgenommen wurden.
Für Dataflow empfehlen wir, mindestens die Systemlogs (labels."dataflow.googleapis.com/log_type"="system"
) und 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. Nutzer können die Dataflow-Seite Jobdetails möglicherweise nicht verwenden, um Joblogs anzusehen.
Nächste Schritte
Wenn bei der Verwendung von Senken zum Weiterleiten von Logs Probleme auftreten, lesen Sie die Informationen unter Fehlerbehebung beim Routing von Logs.
Informationen zum Aufrufen von weitergeleiteten Logs in ihren Zielen sowie zum Formatieren und Organisieren der Logs finden Sie unter Logs in Senkenzielen ansehen.
Weitere Informationen zum Abfragen und Filtern mit der Logging-Abfragesprache finden Sie unter Logging-Abfragesprache.