In diesem Dokument wird erläutert, wie Sie Senken erstellen und verwalten, die Logeinträge weiterleiten die aus einem Google Cloud-Projekt stammen, an unterstützte Ziele senden.
Wenn das Ziel einer Senke kein Log-Bucket im Google Cloud-Projekt ist aus dem ein Logeintrag stammt, ist ein Dienstkonto erforderlich. Cloud Logging erstellt und verwaltet dieses Dienstkonto automatisch. Möglicherweise müssen Sie jedoch die Berechtigungen Dienstkonto. Sie können ein Dienstkonto erstellen und verwalten das von Senken in mehreren Projekten verwendet wird. Weitere Informationen finden Sie unter Logabflüsse mit vom Nutzer verwalteten Dienstkonten konfigurieren.
Übersicht
Senken bestimmen, wie Cloud Logging leitet Logeinträge weiter. Mithilfe von Senken können Sie einige oder alle Logeinträge an die folgenden Ziele weiterleiten:
Cloud Logging-Bucket: Stellt Speicher in Cloud Logging bereit. In einem Log-Bucket können Logeinträge gespeichert werden die von mehreren Google Cloud-Projekten empfangen werden. Der Log-Bucket kann sich im selben Projekt befinden, in dem die Logeinträge stammen, oder in einem anderen Projekt. Informationen zum Ansehen von Logeinträgen, die in Log-Buckets gespeichert sind, finden Sie unter Logs abfragen und ansehen und An Cloud Logging-Buckets weitergeleitete Logs ansehen.
Sie können Ihre Cloud Logging-Daten zusammen mit anderen Daten durch Upgrade eines Log-Buckets zur Verwendung Loganalysen und anschließendes Erstellen eines verknüpften Datasets, das schreibgeschützt ist Dataset, das in BigQuery Studio und Looker Studio abgefragt werden kann Seiten.
BigQuery-Dataset zum Speichern von Logeinträgen in einem beschreibbares BigQuery-Dataset. Das BigQuery-Dataset kann sich im selben Projekt befinden, aus dem die Logeinträge stammen, oder aus einem anderen Projekt arbeiten. Sie können Big-Data-Analysefunktionen auf die gespeicherten Logeinträge anwenden. Informationen zum Aufrufen von zu BigQuery weitergeleiteten Logeinträgen finden Sie unter Zu BigQuery weitergeleitete Logs ansehen.
- Cloud Storage-Bucket: Ermöglicht das Speichern von Logeinträgen in Cloud Storage. Der Cloud Storage-Bucket kann sich im selben Projekt wie die Protokolleinträge oder in einem anderen Projekt befinden. Logeinträge werden als JSON-Dateien gespeichert. Informationen zum Aufrufen von Logeinträgen, die an Cloud Storage weitergeleitet wurden, Siehe An Cloud Storage weitergeleitete Logs ansehen.
Pub/Sub-Thema: Bietet Unterstützung für Integrationen von Drittanbietern. Logeinträge werden als JSON formatiert und dann an ein Pub/Sub weitergeleitet . Das Thema kann sich im selben Projekt wie die Protokolleinträge oder in einem anderen Projekt befinden. Informationen zum Aufrufen von Logeinträgen, die weitergeleitet an Pub/Sub, siehe An Pub/Sub weitergeleitete Logs ansehen
Google Cloud-Projekt: Sie können Protokolleinträge an ein anderes Google Cloud-Projekt weiterleiten. In verarbeiten die Senken im Zielprojekt Logeinträge.
Senken gehören zu einer bestimmten Google Cloud-Ressource: ein Rechnungskonto, einen Ordner oder eine Organisation. Wenn die Ressource ein Logeintrag verarbeitet wird, verarbeitet jede Senke in der Ressource den Logeintrag. Wenn ein mit den Filtern der Senke übereinstimmt, lautet der Logeintrag an das Ziel der Senke weitergeleitet.
Normalerweise leiten Senken nur die Logeinträge weiter, die aus einer Ressource stammen. Für Ordner und Organisationen können Sie jedoch aggregierte Senken erstellen, über die Logeinträge aus dem Ordner oder der Organisation und den darin enthaltenen Ressourcen weitergeleitet werden. In diesem Dokument werden keine aggregierten Senken behandelt. Weitere Informationen finden Sie unter Logs auf Organisationsebene sortieren und an unterstützte Ziele weiterleiten.
Zum Erstellen und Verwalten von Senken können Sie die Google Cloud Console verwenden, die Cloud Logging API und die Google Cloud CLI Wir empfehlen, Sie die Google Cloud Console verwenden:
- Auf der Seite Logs Router sind alle Senken aufgeführt und Sie haben die Möglichkeit, sie zu verwalten.
- Beim Erstellen einer Senke können Sie sich eine Vorschau der Logeinträge ansehen, die den Filtern der Senke entsprechen.
- Sie können Senkenziele beim Erstellen einer Senke konfigurieren.
- Einige Autorisierungsschritte werden für Sie ausgeführt.
Hinweise
In der Anleitung in diesem Dokument wird beschrieben, wie Sie Senken auf Google Cloud-Projektebene erstellen und verwalten. Mit demselben Verfahren können Sie eine Sink erstellen, die Logeinträge weiterleitet, die aus einer Organisation, einem Ordner oder einem Rechnungskonto stammen.
Gehen Sie dazu so vor:
-
Enable the Cloud Logging API.
Ihr Google Cloud-Projekt muss Logeinträge enthalten, die Sie im Log-Explorer sehen können.
-
Um die Berechtigungen zu erhalten, die Sie zum Erstellen, Ändern oder Löschen einer Senke benötigen, bitten Sie Ihren Administrator, Ihnen IAM-Rolle Autor von Logkonfigurationen (
roles/logging.configWriter
) für Ihr Projekt 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 Gewähren von IAM-Rollen finden Sie unter in der Anleitung zur Zugriffssteuerung von Logging
Sie haben eine Ressource in einem unterstützten Ziel oder die Erlaubnis, eine Ressource zu erstellen.
Wenn Sie Logeinträge an ein Ziel weiterleiten möchten, muss dieses Ziel vorhanden sein, bevor Sie die Senke erstellen. Sie können das Ziel in einem beliebigen Google Cloud-Projekt jeder Organisation erstellen.
Lesen Sie vor dem Erstellen einer Senke die für die Senkenziel. Weitere Informationen finden Sie in der Abschnitt Zielbeschränkungen in diesem Dokument.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
REST
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.
Senke erstellen
Nachfolgend finden Sie eine Anleitung zum Erstellen einer Senke in einem Google Cloud-Projekt. Mit demselben Verfahren können Sie Logeinträge weiterleiten, die aus Eine Organisation, einen Ordner oder ein Rechnungskonto:
- Sie können bis zu 200 Senken pro Google Cloud-Projekt erstellen.
- Geben Sie keine vertraulichen Informationen in Senkenfilter ein. Senkenfilter werden wie Dienstdaten behandelt.
- Es kann einige Stunden dauern, bis das Weiterleiten von Logeinträgen für neue Senken für Cloud Storage-Buckets beginnt. Senken in Cloud Storage werden stündlich verarbeitet, während andere Zieltypen werden in Echtzeit verarbeitet.
Sie können Logeinträge nicht an verknüpfte BigQuery-Datasets weiterleiten, die nur lesbar sind. Wenn Sie Logeinträge weiterleiten möchten, in BigQuery hochladen, muss das Ziel-Dataset schreibgeschützt sein.
Das Schema für BigQuery-Datasets wird nicht von Senken definiert. Stattdessen wird das Schema für die Zieltabelle durch den ersten von BigQuery empfangenen Logeintrag bestimmt. Weitere Informationen finden Sie unter BigQuery-Schema für weitergeleitete Logs.
Informationen zum Aufrufen von Logeinträgen im Senkenziel Siehe An Cloud Logging-Buckets weitergeleitete Logs ansehen
Die Anzahl und das Volumen der weitergeleiteten Logeinträge finden Sie in der
logging.googleapis.com/exports/
-Messwerte.Der Log-Explorer fügt implizit den Konjunktionseinschränkung,
AND
, zwischen den im Abfragebereich angezeigten Anweisungen. Wenn Zeile 1 beispielsweiseresource.type = "gce_instance"
und Zeile 2severity >= "ERROR"
ist, lautet die Abfrageresource.type = "gce_instance" AND severity >= "ERROR"
. Wenn Sie eine im Log-Explorer angezeigte Abfrage in einem anderen Kontext verwenden möchten, z. B. für den Einschluss- oder Ausschlussfilter einer Senke, müssen Sie die Abfrage ändern und die konjunktiven Einschränkungen hinzufügen. Weitere Informationen finden Sie unter Logging-Abfragesprache.
So erstellen Sie eine Senke:
Console
-
Rufen Sie in der Google Cloud Console die Seite Logrouter auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
Wählen Sie das Google Cloud-Projekt aus, aus dem die Logeinträge stammen, die Sie weiterleiten möchten.
Wenn Sie z. B. Ihre Datenzugriffs-Logeinträge das Projekt namens
Project-A
in einen Log-Bucket im Projekt namensProject-B
und dannProject-A
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 den Senkendienst aus und Ziel mithilfe des Menüs Senkendienst auswählen an. Führen Sie einen der Folgendes:
So leiten Sie Logeinträge an einen Dienst weiter, der sich im selben Google Cloud-Projekt eine der folgenden Optionen aus:
- Cloud Logging-Bucket: Wählen Sie einen Logging-Bucket aus oder erstellen Sie einen.
- BigQuery-Dataset: Wählen Sie das beschreibbare Dataset aus oder erstellen Sie es. Dataset zum Empfangen der weitergeleiteten Logeinträge. Sie haben auch die Möglichkeit, zu verwenden Partitionierte Tabellen.
- Cloud Storage-Bucket: Wählen Sie den gewünschten Bucket aus oder erstellen Sie ihn. Cloud Storage-Bucket zum Empfangen der weitergeleiteten Logeinträge.
- Pub/Sub-Thema: Wählen Sie das spezifische Thema aus, das die weitergeleiteten Logeinträge erhalten soll, oder erstellen Sie es.
- Splunk: Wählen Sie das Pub/Sub-Thema für den Splunk-Dienst aus.
Wenn Sie Protokolleinträge an ein anderes Google Cloud-Projekt weiterleiten möchten, wählen Sie Google Cloud-Projekt aus und geben Sie dann den vollqualifizierten Namen für das Ziel ein. Informationen zur Syntax finden Sie in der Zielpfadformate:
So leiten Sie Logeinträge an einen Dienst in einem anderen Google Cloud-Projekt weiter:
- Wählen Sie Sonstige Ressource aus.
- Geben Sie den voll qualifizierten Namen für das Ziel ein. Informationen zur Syntax finden Sie unter Zielortpfadformate.
Geben Sie die Logeinträge an, die eingeschlossen werden sollen:
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 aufnehmen möchten. Weitere Informationen zur Syntax zum Erstellen von Filtern finden Sie unter Logging-Abfragesprache.
Wenn Sie keinen Filter festlegen, werden alle Logeinträge aus der ausgewählten Ressource an das Ziel weitergeleitet.
Wenn Sie beispielsweise alle Datenzugriffs-Logeinträge an einen Logging-Bucket weiterleiten möchten, können Sie den folgenden Filter verwenden:
log_id("cloudaudit.googleapis.com/data_access") OR log_id("externalaudit.googleapis.com/data_access")
Die Länge eines Filters darf 20.000 Zeichen nicht überschreiten.
Wählen Sie Vorschau von Logs aus, um zu prüfen, ob Sie den richtigen Filter eingegeben haben. Der Log-Explorer wird in einem neuen Tab geöffnet, auf dem der Filter bereits ausgefüllt ist.
(Optional) Konfigurieren Sie einen Ausschlussfilter, um einige der eingeschlossene Logeinträge:
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
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.
Gewähren Sie dem Dienstkonto für die Senke die Berechtigung, Logeinträge an das Ziel der Senke zu schreiben. Weitere Informationen finden Sie unter Legen Sie Zielberechtigungen fest.
gcloud
So erstellen Sie eine Senke:
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 eines Sinks nach dem Erstellen nicht mehr ändern.
SINK_DESTINATION: Der Dienst oder das Projekt, an das Ihre Logeinträge weitergeleitet werden sollen. Legen Sie SINK_DESTINATION wie unter Zielpfadformate beschrieben auf den entsprechenden Pfad fest.
Wenn Ihr Senkenziel beispielsweise ein Pub/Sub-Thema ist, sieht SINK_DESTINATION so aus:
pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
Sie können auch die folgenden Optionen angeben:
--log-filter
: Verwenden Sie diese Option, um einen Filter festzulegen, der den Logeinträgen entspricht, die Sie in die Senke aufnehmen möchten. Wenn Sie keinen Wert für den Einschlussfilter angeben, stimmt dieser Filter mit allen Logeinträgen überein.--exclusion
: Mit dieser Option können Sie einen Ausschlussfilter für Logeinträge festlegen, die nicht an die Senke weitergeleitet werden sollen. Mit der Funktionsample
können Sie auch einen Teil der Logeinträge auswählen, die ausgeschlossen werden sollen. Diese Option kann wiederholt werden; können Sie bis zu 50 Ausschlussfilter pro Senke.--description
: Verwenden Sie diese Option, um den Zweck oder Anwendungsfall zu beschreiben. für die Spüle.
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 mithilfe der Google Cloud CLI, siehe die Referenz zu
gcloud logging sinks
.Wenn die Befehlsantwort einen JSON-Schlüssel mit der Kennzeichnung
"writerIdentity"
enthält, gewähren Sie dem Dienstkonto der Senke die Berechtigung zum Schreiben in das Senkenziel. Weitere Informationen finden Sie unter Zielberechtigungen festlegen.Sie müssen keine Zielberechtigungen festlegen, wenn die Antwort keinen JSON-Schlüssel mit der Kennzeichnung
"writerIdentity"
enthält.
REST
Verwenden Sie
projects.sinks.create
in der Logging API, um eine Logging-Senke in Ihrem Google Cloud-Projekt zu erstellen. Geben Sie imLogSink
-Objekt die erforderlichen Werte im Methodenanfragetext an:name
: Geben Sie eine Kennzeichnung für die Senke an. Beachten Sie, dass Sie die Senke nach deren Erstellung nicht mehr umbenennen, jedoch löschen können. Sie können auch eine neue Senke erstellen.destination
: Der Dienst und das Ziel, an das Ihre Logeinträge weitergeleitet werden sollen. So leiten Sie Logeinträge an ein anderes Projekt weiter: oder zu einem Ziel führen, sich in einem anderen Projekt befindet, legen Sie das Felddestination
mit der entsprechenden Pfad, wie in den Zielpfadformate:Wenn das Senkenziel beispielsweise ein Pub/Sub- Thema hat, sieht der
destination
so aus:pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
Geben Sie im
LogSink
-Objekt den entsprechenden optionalen Informationen:filter
: Legen Siefilter
fest. entsprechend den Logeinträgen, die Sie in die Senke aufnehmen möchten. Wenn Wenn Sie keinen Filter festlegen, werden alle Logeinträge aus Ihrer Google Cloud-Projekte sind an das Ziel weitergeleitet. Beachten Sie, dass ein Filter nicht länger als 20.000 Zeichen sein darf.exclusions
: Legen Sie für dieses Feld die gewünschten Logeinträge fest. um sie aus der Senke auszuschließen. 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 Feld fest, um den Zweck oder Anwendungsfall für in die Spüle.
Rufen Sie
projects.sinks.create
auf, um die Senke zu erstellen.Wenn die API-Antwort einen JSON-Schlüssel mit der Kennzeichnung
"writerIdentity"
enthält, gewähren Sie dem Dienstkonto des Sinks die Berechtigung zum Schreiben in das Sink-Ziel. Weitere Informationen finden Sie unter Zielberechtigungen festlegen.Sie müssen keine Zielberechtigungen festlegen, wenn die API-Antwort keinen JSON-Schlüssel mit der Kennzeichnung
"writerIdentity"
enthält.
Weitere Informationen zum Erstellen von Senken mit der Logging API finden Sie in der
LogSink
-Referenz.Wenn Sie Fehlerbenachrichtigungen erhalten, lesen Sie die Informationen unter Fehlerbehebung bei Routing und Senken.
Zielpfadformate
Wenn Sie Logeinträge an einen Dienst weiterleiten, der sich in einem anderen Projekt befindet, müssen Sie Stellen Sie die Senke mit dem vollständig qualifizierten Namen für den Dienst bereit. Wenn Sie Protokolleinträge an ein anderes Google Cloud-Projekt weiterleiten, müssen Sie dem Sink den vollständig qualifizierten Namen des Zielprojekts angeben:
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
BigQuery-Dataset:
bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
Cloud Storage:
storage.googleapis.com/BUCKET_NAME
Pub/Sub-Thema:
pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
Senken verwalten
Nachdem die Senken erstellt wurden, können Sie dafür die folgenden Aktionen ausführen. Es kann einige Minuten dauern, bis alle an einer Senke vorgenommenen Änderungen wirksam werden:
- Details ansehen
- Aktualisieren
Deaktivieren
- Sie können die Senke
_Required
nicht deaktivieren. - Sie können die Senke
_Default
deaktivieren, um zu verhindern, dass Logeinträge an den Logging-Bucket_Default
weitergeleitet werden. - Wenn Sie die
_Default
-Senke für alle neuen Google Cloud-Projekte oder ‑Ordner deaktivieren möchten, die in Ihrer Organisation erstellt werden, können Sie [default resource settings][default-settings] konfigurieren.
- Sie können die Senke
Löschen
- Die Senken
_Default
und_Required
können nicht gelöscht werden. - Wenn Sie eine Senke löschen, werden keine Logeinträge mehr weitergeleitet.
- Wenn die Senke ein eigenes Dienstkonto hat, wird dieses Dienstkonto beim Löschen der Senke ebenfalls gelöscht. Senken erstellt vor dem Ab dem 22. Mai 2023 gibt es dedizierte Dienstkonten. Senken erstellt ab dem 22. Mai 2023 ein gemeinsames Dienstkonto haben. Durch das Löschen der Senke wird das freigegebene Dienstkonto nicht gelöscht.
- Die Senken
Fehler beheben
- Logvolumen und Fehlerraten ansehen
Im Folgenden finden Sie eine Anleitung zum Verwalten eines Sinks in einem Google Cloud-Projekt. Anstelle eines Google Cloud-Projekts können Sie ein Rechnungskonto, einen Ordner oder eine Organisation angeben:
Console
-
Rufen Sie in der Google Cloud Console die Seite Log Router auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
Wählen Sie in der Symbolleiste die Ressource aus, die Ihren Datenablauf enthält. Die Ressource kann ein Projekt, ein Ordner, eine Organisation oder ein Abrechnungskonto sein.
Auf der Seite Logrouter werden die Senken in der ausgewählten Ressource angezeigt. Jede Tabellenzeile enthält Informationen zu den Eigenschaften einer Senke:
- Aktiviert: Gibt an, ob der Status der Senke aktiviert oder deaktiviert ist.
- Typ: Der Zieldienst der Senke, beispielsweise
Cloud Logging bucket
. - Name: Die Senken-ID, die beim Erstellen der Senke angegeben wurde.
Beispiel:
_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 des Sinks.
Für jede Tabellenzeile bietet das Dreipunkt-Menü more_vert Weitere Aktionen die folgenden Optionen:
- Senkendetails ansehen: Zeigt den Namen, die Beschreibung, den Zieldienst, das Ziel, die Einschluss- und Ausschlussfilter der Senke an. Wenn Sie Bearbeiten auswählen, wird der Bereich Senke bearbeiten geöffnet.
- Senke bearbeiten: Öffnet das Fenster Senke bearbeiten, in dem Sie die Parameter der Senke aktualisieren können.
- Senke deaktivieren: Ermöglicht das Deaktivieren der Senke und das Beenden der Weiterleitung von Logeinträgen an das Ziel der Senke. Weitere Informationen zum Deaktivieren von Sinks finden Sie unter Speichern von Protokollen in Log-Buckets beenden.
- Senke aktivieren: Ermöglicht das Aktivieren einer deaktivierten Senke und das Neustarten des Routings. Logeinträge zum Ziel der Senke.
- Senke löschen: Ermöglicht das Löschen der Senke und das Beenden der Weiterleitung von Logeinträgen an Ziel der Senke.
- Fehlerbehebung bei Senken: Öffnet den Log-Explorer, in dem Sie Fehler beheben können mit der Senke.
- Volumen und Fehlerraten des Senkenlogs ansehen: Metrics Explorer wird geöffnet Hier können Sie Daten aus der Senke ansehen und analysieren.
Wenn Sie die Tabelle nach einer Spalte sortieren möchten, wählen Sie den Spaltennamen aus.
gcloud
Verwenden Sie den Befehl
gcloud logging sinks list
, um die Liste der Senken für Ihr Google Cloud-Projekt aufzurufen, der der Logging API-Methodeprojects.sinks.list
entspricht:gcloud logging sinks list
So rufen Sie eine Liste Ihrer aggregierten Senken verwendet werden, Option zur Angabe der Ressource, die die Senke enthält. Für Wenn Sie die Senke beispielsweise auf Organisationsebene erstellt haben, verwenden Sie die Methode
--organization=ORGANIZATION_ID
-Option zum Auflisten der Senken für das Unternehmen.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
, der der API-Methodeprojects.sink.update
entspricht.Sie können eine Senke aktualisieren, um das Ziel, die Filter und die Beschreibung zu ändern oder die Senke zu deaktivieren oder wieder zu aktivieren:
gcloud logging sinks update SINK_NAME NEW_DESTINATION --log-filter=NEW_FILTER
Lassen Sie NEW_DESTINATION oder
--log-filter
weg, wenn sich diese Teile nicht ändern.Wenn Sie beispielsweise das Ziel der Senke mit dem Namen
my-project-sink
auf ein neues Cloud Storage-Bucket-Ziel mit dem 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 die Methode
gcloud logging sinks update
, der der API-Methode entspricht,projects.sink.update
, und fügen Sie die Option--disabled
ein:gcloud logging sinks update SINK_NAME --disabled
Verwenden Sie zum Reaktivieren der Senke die
gcloud logging sinks update
entfernen Sie die Option--disabled
und fügen Sie den--no-disabled
Option:gcloud logging sinks update SINK_NAME --no-disabled
Verwenden Sie zum Löschen einer Senke die Methode
gcloud logging sinks delete
, der der API-Methode entspricht,projects.sinks.delete
:gcloud logging sinks delete SINK_NAME
Weitere Informationen zum Verwalten von Senken mithilfe der Google Cloud CLI, siehe die Referenz zu
gcloud logging sinks
.
REST
Rufen Sie zum Anzeigen der Senken für Ihr Google Cloud-Projekt den folgenden Befehl auf:
projects.sinks.list
Rufen Sie
projects.sinks.get
auf, um die Details einer Senke aufzurufen.Rufen Sie
projects.sink.update
auf, um eine Senke zu aktualisieren.Sie können das Ziel, die Filter und die Beschreibung einer Senke aktualisieren. Sie können auch die Senke deaktivieren oder wieder aktivieren.
Um eine Senke zu deaktivieren, Legen Sie das Feld
disabled
im ObjektLogSink
auftrue
fest und Rufen Sieprojects.sink.update
an.Wenn Sie die Senke wieder aktivieren möchten, setzen Sie das Feld
disabled
imLogSink
-Objekt auffalse
und rufen Sie dannprojects.sink.update
auf.Wenn Sie einen Abfluss löschen möchten, rufen Sie
projects.sinks.delete
auf.Weitere Informationen zum Verwalten von Senken mithilfe der Logging API finden Sie in der Referenz zu
LogSink
.
Speichern von Logeinträgen in Log-Buckets beenden
Sie können die Senke
_Default
und alle benutzerdefinierten Senken deaktivieren. Wenn Sie eine Senke deaktivieren, leitet die Senke Logeinträge nicht mehr an ihr Ziel weiter. Wenn Sie beispielsweise die_Default
-Senke deaktivieren, werden keine Logeinträge an den_Default
-Bucket weitergeleitet. Die_Default
Bucket wird leer, wenn alle zuvor gespeicherten Logeinträge vorhanden sind die für den Bucket Aufbewahrungsdauer.Die folgende Anleitung zeigt, wie Sie deaktivieren Sie die Senken Ihres Google Cloud-Projekts, die Logeinträge an den
_Default
Log-Buckets:Console
-
Rufen Sie in der Google Cloud Console die Seite Log Router auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- So finden Sie alle Senken, die Logeinträge an den Log-Bucket
_Default
weiterleiten: filtern Sie die Senken nach Ziel und geben Sie dann_Default
ein. Wählen Sie für jede Senke more_vert Menü und Wählen Sie dann Senke deaktivieren aus.
Die Senken sind jetzt deaktiviert und die Senken Ihres Google Cloud-Projekts längere Logeinträge an den Bucket
_Default
weiterleiten.
Gehen Sie so vor, um eine deaktivierte Senke wieder zu aktivieren und die Weiterleitung der Protokolleinträge an das Ziel der Senke neu zu starten:
-
Rufen Sie in der Google Cloud Console die Seite Logrouter auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Filtern Sie die Senken nach Ziel und geben Sie
_Default
ein, um alle Senken zu ermitteln, die Logeinträge an den_Default
-Log-Bucket weiterleiten. - Wählen Sie für jede Senke more_vert Menü und Wählen Sie dann Senke aktivieren aus.
gcloud
Verwenden Sie den Befehl
gcloud logging sinks list
, um die Liste der Senken für Ihr Google Cloud-Projekt aufzurufen, der der Logging API-Methodeprojects.sinks.list
entspricht:gcloud logging sinks list
Identifizieren Sie alle Senken, die an den Log-Bucket
_Default
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
Führen Sie den
gcloud logging sinks update
und fügen Sie die Option--disabled
ein. Um die Senke_Default
zu deaktivieren, verwenden Sie beispielsweise den folgenden Befehl:gcloud logging sinks update _Default --disabled
Die Senke
_Default
ist jetzt deaktiviert. Sie leitet keine Logeinträge mehr an den_Default
-Log-Bucket weiter.
Um die anderen Senken in Ihrem Google Cloud-Projekt zu deaktivieren, die das Routing ausführen in den Bucket
_Default
einfügen, wiederholen Sie die vorherigen Schritte.Um eine Senke wieder zu aktivieren, verwenden Sie den
gcloud logging sinks update
entfernen Sie die Option--disabled
und fügen Sie den--no-disabled
Option:gcloud logging sinks update _Default --no-disabled
REST
Rufen Sie zum Anzeigen der Senken für Ihr Google Cloud-Projekt die Methode Logging API-Methode
projects.sinks.list
Identifizieren Sie alle Senken, die an den
_Default
-Bucket weiterleiten.Wenn Sie beispielsweise die Senke
_Default
deaktivieren möchten, setzen Sie das Felddisabled
imLogSink
-Objekt auftrue
und rufen Sie dannprojects.sink.update
auf.Die Senke
_Default
ist jetzt deaktiviert. werden Logeinträge nicht mehr an Bucket_Default
Um die anderen Senken in Ihrem Google Cloud-Projekt zu deaktivieren, die das Routing ausführen in den Bucket
_Default
einfügen, wiederholen Sie die vorherigen Schritte.Wenn Sie eine Senke wieder aktivieren möchten, legen Sie das Feld
disabled
imLogSink
-Objekt auffalse
fest und rufen Sie dannprojects.sink.update
auf.Zielberechtigungen festlegen
In diesem Abschnitt wird beschrieben, wie Sie Logging Berechtigungen zu Identity and Access Management, um Logeinträge in das Senkenziel zu schreiben. Eine vollständige Liste der Logging-Rollen und -Berechtigungen finden Sie Siehe Zugriffssteuerung.
In Cloud Logging wird beim Erstellen eines Sinks ein freigegebenes Dienstkonto für eine Ressource erstellt, es sei denn, das erforderliche Dienstkonto existiert bereits. Das Dienstkonto ist möglicherweise vorhanden, da dasselbe Dienstkonto für alle Senken in der zugrunde liegenden Ressource. Ressourcen können ein Google Cloud-Projekt, eine Organisation, ein Ordner oder ein Rechnungskonto sein.
Die Identität des Autors eines Sinks ist die Kennung des Dienstkontos, das mit diesem Sink verknüpft ist. Alle Senken haben eine Autorenidentität, mit Ausnahme von Senken, die in einen Log-Bucket im selben Google Cloud-Projekt schreiben, in dem den Ursprung des Logeintrags. Für die letztere Konfiguration ist ein Dienstkonto ist nicht erforderlich. Daher ist das Feld Identität des Autors der Senke angegeben. in der Konsole als
None
aufgeführt. Die API- und Google Cloud CLI-Befehle melden keine Autorenidentität.Die folgende Anleitung gilt für Projekte, Ordner, Organisationen und Rechnungskonten:
Console
Sie benötigen Inhaberzugriff auf das Google Cloud-Projekt, das das Ziel enthält. Wenn Sie nicht die Rolle Inhaber für das Ziel der Senke haben, bitten Sie einen Projektinhaber, die Identität des Autors als Hauptbenutzer hinzuzufügen.
Um die Identität des Autors der Senke (eine E-Mail-Adresse) vom neue Senke:
-
Rufen Sie in der Google Cloud Console die Seite Log Router auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Wählen Sie in der Symbolleiste das Projekt aus, das den Abfluss enthält.
- Wählen Sie more_vert Menü und dann Senkendetails ansehen aus. Die Identität des Autors wird im Feld 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.Kopieren Sie die Identität des Autors der Senke in die Zwischenablage.
Wenn das Ziel ein Dienst in einem anderen Projekt ist ein anderes Projekt und wählen Sie in der Symbolleiste das Zielprojekt aus.
Fügen Sie das Dienstkonto als IAM-Hauptkonto im Zielprojekt hinzu:
-
Öffnen Sie in der Google Cloud Console die Seite IAM:
Rufen Sie IAM auf.
Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift IAM und Verwaltung.
Wählen Sie das Zielprojekt aus.
Klicken Sie auf
Zugriff erlauben.Gewähren Sie dem Dienstkonto die erforderliche IAM-Rolle:
- Fügen Sie für Cloud Storage-Ziele die Identität des Autors der Senke hinzu.
mithilfe von IAM als Hauptkonto festlegen und ihm dann die
Rolle „Storage Object Creator“
(
roles/storage.objectCreator
) - Wenn Sie BigQuery-Ziele verwenden, fügen Sie die Identität des Autors der Senke mithilfe von IAM als Principal hinzu und weisen Sie ihr dann die Rolle BigQuery-Datenbearbeiter (
roles/bigquery.dataEditor
) zu. - Fügen Sie für Pub/Sub-Ziele, einschließlich Splunk, die Identität des Autors der Senke hinzu.
mithilfe von IAM als Hauptkonto festlegen und ihm dann die
Rolle „Pub/Sub-Publisher“
(
roles/pubsub.publisher
) - Für Logging-Bucket-Ziele in verschiedenen
Google Cloud-Projekte hinzufügen, fügen Sie die Identität des Autors der Senke als Hauptkonto hinzu.
und gewähren Sie dann die
Rolle „Log-Bucket-Autor“
(
roles/logging.bucketWriter
) - Fügen Sie für Ziele in Google Cloud-Projekten die Identität des Autors der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren Sie ihm dann die Rolle Logautor (
roles/logging.logWriter
). Insbesondere benötigt ein Hauptkonto die Berechtigunglogging.logEntries.route
.
- Fügen Sie für Cloud Storage-Ziele die Identität des Autors der Senke hinzu.
mithilfe von IAM als Hauptkonto festlegen und ihm dann die
Rolle „Storage Object Creator“
(
-
gcloud
Sie benötigen die Rolle Inhaber für das Google Cloud-Projekt, das das Ziel enthält. Wenn Sie nicht die Rolle Inhaber für das Ziel der Senke haben, bitten Sie einen Projektinhaber, die Identität des Autors als Prinzipal hinzuzufügen.
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 Senkeinträge eine Zeile mit
writerIdentity
enthalten, 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.iam.gserviceaccount.com
Fügen Sie das Dienstkonto als IAM-Hauptkonto in der Zielprojekt:
Bevor Sie den folgenden Befehl verwenden, nehmen Sie die folgenden Ersetzungen vor:
- PROJECT_ID: Die Kennung des Projekts.
- PRINCIPAL: Eine Kennung für das Hauptkonto, dem Sie die Rolle zuweisen möchten. Hauptkonto-Kennzeichnungen haben normalerweise das folgende Format:
PRINCIPAL-TYPE:ID
. Beispiel:user:my-user@example.com
Eine vollständige Liste der Formate, diePRINCIPAL
haben kann, Siehe Haupt-IDs. ROLE: Eine IAM-Rolle.
- Wenn Sie Cloud Storage-Ziele verwenden, fügen Sie die Identität des Autors der Senke mithilfe von IAM als Principal hinzu und weisen Sie ihr dann die Rolle Storage-Objekt-Ersteller (
roles/storage.objectCreator
) zu. - Wenn Sie BigQuery-Ziele verwenden, fügen Sie die Identität des Autors der Senke mithilfe von IAM als Principal hinzu und weisen Sie ihr dann die Rolle BigQuery-Datenbearbeiter (
roles/bigquery.dataEditor
) zu. - Fügen Sie für Pub/Sub-Ziele, einschließlich Splunk, die Identität des Autors der Senke hinzu.
mithilfe von IAM als Hauptkonto festlegen und ihm dann die
Rolle „Pub/Sub-Publisher“
(
roles/pubsub.publisher
) - Für Logging-Bucket-Ziele in verschiedenen
Google Cloud-Projekte hinzufügen, fügen Sie die Identität des Autors der Senke als Hauptkonto hinzu.
und gewähren Sie dann die
Rolle „Log-Bucket-Autor“
(
roles/logging.bucketWriter
) - Fügen Sie für Google Cloud-Projektziele den Wert der Senke hinzu.
Identität des Autors mithilfe von IAM als Hauptkonto festlegen und ihr dann den
Rolle „Logautor“
(
roles/logging.logWriter
) Insbesondere benötigt ein Auftraggeber Berechtigung „logging.logEntries.route
“.
- Wenn Sie Cloud Storage-Ziele verwenden, fügen Sie die Identität des Autors der Senke mithilfe von IAM als Principal hinzu und weisen Sie ihr dann die Rolle Storage-Objekt-Ersteller (
Führen Sie den Befehl
gcloud projects add-iam-policy-binding
aus:gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role=ROLE
REST
Wir empfehlen, die Google Cloud Console oder die Google Cloud CLI zu verwenden, um dem Dienstkonto eine Rolle zuzuweisen.
Zieleinschränkungen
In diesem Abschnitt werden zielspezifische Einschränkungen beschrieben:
- Wenn Sie Logeinträge an einen Log-Bucket in einem anderen Google Cloud-Projekt weiterleiten, werden diese Logeinträge von Error Reporting nicht analysiert. Weitere Informationen finden Sie in der Übersicht zu Error Reporting.
- Wenn Sie Logeinträge an BigQuery weiterleiten, muss das BigQuery-Dataset für das Schreiben aktiviert sein. Du kannst keine Route berechnen Logeinträge zu verknüpften Datasets, die schreibgeschützt sind.
Wenn Sie Logeinträge an andere Google Cloud-Projekte:
Es gibt ein Limit für einen Hop.
Wenn Sie z. B. Logeinträge von einem Projekt
A
an ProjektB
, dann können Sie die Logeinträge nicht von ProjektB
in ein anderes Projekt verschieben.Audit-Logs werden nicht an den Log-Bucket
_Required
im Ziel weitergeleitet Projekt arbeiten.Wenn Sie beispielsweise Logeinträge aus Projekt
A
an ProjektB
weiterleiten, enthält der Log-Bucket_Required
in ProjektA
die Audit-Logs für ProjektA
. Die Audit-Logs für das ProjektA
werden nicht an das ProjektB
weitergeleitet. Um diese Logeinträge weiterzuleiten, erstellen Sie eine Senke, deren Ziel ist ein Log-Bucket.Wenn sich das Zielprojekt in einem anderen Ordner oder einer anderen Organisation befindet, werden die aggregierten Senken in diesem Ordner oder dieser Organisation um den Logeintrag weiterzuleiten.
Angenommen, Projekt
A
befindet sich im OrdnerX
. Wenn ein Logeintrag aus dem ProjektA
stammt, wird er von den aggregierten Senken im OrdnerX
und den Senken im ProjektA
verarbeitet. Jetzt Angenommen, das ProjektA
enthält eine Senke, die ihre Logeinträge an ProjektB
, das sich im OrdnerY
befindet. Die Logeinträge aus dem ProjektA
die Senken im ProjektB
durchlaufen; aber sie passieren nicht die aggregierten Senken im OrdnerY
.
Wenn Sie im Log-Explorer die Logeinträge aufrufen möchten, die über einen aggregierten Datensammler an ein Projekt weitergeleitet wurden, legen Sie im Feld Bereich eingrenzen den Speicherbereich fest und wählen Sie dann eine Loganzeige aus, die Zugriff auf diese Logeinträge gewährt.
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 Waschbecken. Weitere Beispiele, die beim Erstellen von Einschluss- und Ausschlussfiltern nützlich sein können, finden Sie unter Beispielabfragen.
Senkenfilter
_Default
wiederherstellenWenn Sie den Filter für die Senke
_Default
bearbeitet haben, empfiehlt es sich, die ursprüngliche Konfiguration dieser Senke wiederherzustellen. Beim Erstellen der Senke_Default
wird konfiguriert mit dem folgenden Einschlussfilter und einem leeren Ausschlussfilter:NOT log_id("cloudaudit.googleapis.com/activity") AND NOT \ log_id("externalaudit.googleapis.com/activity") AND NOT \ log_id("cloudaudit.googleapis.com/system_event") AND NOT \ log_id("externalaudit.googleapis.com/system_event") AND NOT \ log_id("cloudaudit.googleapis.com/access_transparency") AND NOT \ log_id("externalaudit.googleapis.com/access_transparency")
Google Kubernetes Engine-Container- und -Pod-Logs ausschließen
Verwenden Sie den folgenden Filter, um Google Kubernetes Engine-Container- und -Pod-Logeinträge für das GKE-System
namespaces
auszuschließen:resource.type = ("k8s_container" OR "k8s_pod") resource.labels.namespace_name = ( "cnrm-system" OR "config-management-system" OR "gatekeeper-system" OR "gke-connect" OR "gke-system" OR "istio-system" OR "knative-serving" OR "monitoring-system" OR "kube-system")
So schließen Sie Google Kubernetes Engine-Knotenlogeinträge für GKE aus System
logNames
, verwenden Sie folgenden Filter:resource.type = "k8s_node" logName:( "logs/container-runtime" OR "logs/docker" OR "logs/kube-container-runtime-monitor" OR "logs/kube-logrotate" OR "logs/kube-node-configuration" OR "logs/kube-node-installation" OR "logs/kubelet" OR "logs/kubelet-monitor" OR "logs/node-journal" OR "logs/node-problem-detector")
Verwenden Sie den Metrics Explorer, um das Volumen der in Log-Buckets gespeicherten Google Kubernetes Engine-Knoten-, Pod- und Container-Logeinträge aufzurufen:
- Volumen von Knotenprotokolleinträgen ansehen
- Volumen von Pod-Logeinträgen ansehen
- Volume von Container-Logeinträgen ansehen
Dataflow-Logs, die nicht für Unterstützung erforderlich sind, ausschließen
Um Dataflow-Logeinträge auszuschließen, die für supportability haben, verwenden Sie folgenden Filter:
resource.type="dataflow_step" labels."dataflow.googleapis.com/log_type"!="system" AND labels."dataflow.googleapis.com/log_type"!="supportability"
Um das Volumen der in Log-Buckets gespeicherten Dataflow-Logs anzuzeigen, verwenden Sie Metrics Explorer.
Support
In Cloud Logging können Sie zwar Logeinträge ausschließen und verhindern, dass sie in einem Log-Bucket gespeichert werden, doch sollten Sie Logeinträge beibehalten, die für den Support hilfreich sein. Mithilfe dieser Logeinträge können Sie Probleme leichter beheben mit Ihren Anwendungen.
Beispielsweise sind GKE-Systemlogeinträge nützlich, Fehlerbehebung Ihre GKE-Anwendungen und -Cluster, die für Ereignisse in Ihrem Cluster generiert werden. Diese Logeinträge können Ihnen helfen, Ihren Anwendungscode oder die zugrunde liegende GKE Cluster verursacht den Anwendungsfehler. 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 sollten Sie mindestens Ihr System Logs (
labels."dataflow.googleapis.com/log_type"="system"
) und Support Protokolle (labels."dataflow.googleapis.com/log_type"="supportability"
) in Log-Buckets. Diese Logs sind wichtig, damit Entwickler ihre Dataflow-Pipelines beobachten und Fehler beheben können und Nutzer können möglicherweise nicht die Dataflow-Seite Jobdetails verwenden, um Joblogs ansehen andernfalls.Nächste Schritte
Wenn bei der Weiterleitung von Logeinträgen über Senken Probleme auftreten, lesen Sie Fehlerbehebung bei der Weiterleitung von Logs.
Hier erfahren Sie, wie Sie Logeinträge in ihren Zielen aufrufen und sind die Logs formatiert und organisiert, siehe Logs in Senkenzielen ansehen
Weitere Informationen zum Abfragen und Filtern mit der Logging-Abfragesprache finden Sie unter Logging-Abfragesprache.
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2024-11-25 (UTC).