VPC-Flusslogs verwenden
In VPC-Flusslogs wird eine Stichprobe von Netzwerkflüssen erfasst, die von VM-Instanzen gesendet und empfangen werden, darunter Instanzen, die als GKE-Knoten verwendet werden. Diese Logs können für Netzwerk-Monitoring, Forensik, Echtzeit-Sicherheitsanalysen und Kostenoptimierung verwendet werden.
Auf dieser Seite wird davon ausgegangen, dass Sie mit den Konzepten vertraut sind, die unter VPC-Flusslogs – Übersicht beschrieben werden.
VPC-Flusslogs aktivieren
Wenn Sie VPC-Fluss-Logs aktivieren, aktivieren Sie Logging für alle VMs in einem Subnetz. Sie können jedoch die Menge der in Logging geschriebenen Informationen reduzieren. Weitere Informationen zu den Parametern, die Sie festlegen können, finden Sie unter Logprobenahme und Logaggregation.
Wenn Sie Metadatenfelder anpassen oder die Logfilterung konfigurieren möchten, verwenden Sie die gcloud CLI oder die API.
VPC-Flusslogs beim Erstellen eines Subnetzes aktivieren
Console
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf das Netzwerk, dem Sie ein Subnetz hinzufügen möchten.
Klicken Sie auf Subnetz hinzufügen.
Wählen Sie für Flusslogs die Option Ein aus.
Wenn Sie die Logprobenahme und Logaggregation anpassen möchten, klicken Sie auf Logs konfigurieren und ändern Sie die folgenden Einstellungen wie gewünscht:
- Das Aggregationsintervall.
- Ob Metadaten in die endgültigen Logeinträge einbezogen werden sollen. Standardmäßig umfasst Metadaten einschließen alle Felder.
- Die Abtastrate (
100%
bedeutet, dass alle Einträge erhalten bleiben).
Füllen Sie die anderen Felder je nach Bedarf aus.
Klicken Sie auf Hinzufügen.
gcloud
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Führen Sie dazu diesen Befehl aus:
gcloud compute networks subnets create SUBNET_NAME \ --enable-flow-logs \ [--logging-aggregation-interval=AGGREGATION_INTERVAL] \ [--logging-flow-sampling=SAMPLE_RATE] \ [--logging-filter-expr=FILTER_EXPRESSION] \ [--logging-metadata=LOGGING_METADATA] \ [--logging-metadata-fields=METADATA_FIELDS] \ [other flags as needed]
Dabei gilt:
AGGREGATION_INTERVAL
: das Aggregationsintervall für Flusslogs in diesem Subnetz. Das Intervall kann 5 Sekunden (Standard), 30 Sekunden, 1 Minute, 5 Minuten, 10 Minuten oder 15 Minuten betragen.SAMPLE_RATE
: die Flussabtastrate. Das Fluss-Sampling kann auf einen Wert zwischen0.0
(kein Sampling) und1.0
(alle Logs) festgelegt werden. Der Standardwert ist0.5
.FILTER_EXPRESSION
: ein Ausdruck, der definiert, welche Logs Sie behalten möchten. Der Ausdruck ist auf maximal 2.048 Zeichen beschränkt. Weitere Informationen finden Sie unter Logfilterung.LOGGING_METADATA
: Die Metadatenannotationen, die in den Logs enthalten sein sollen:include-all
zum Einschließen aller Metadatenannotationenexclude-all
zum Ausschließen aller Metadatenannotationen (Standard)custom
zum Hinzufügen einer benutzerdefinierten Liste von Metadatenfeldern, die Sie inMETADATA_FIELDS
angeben.
METADATA_FIELDS
: eine durch Kommas getrennte Liste von Metadatenfeldern, die Sie in die Logs aufnehmen möchten. Beispiel:src_instance,dst_instance
Kann nur festgelegt werden, wennLOGGING_METADATA
aufcustom
gesetzt ist.
API
Aktivieren Sie VPC-Flusslogs, wenn Sie ein neues Subnetz erstellen.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "logConfig": { "aggregationInterval": "AGGREGATION_INTERVAL", "flowSampling": SAMPLING_RATE, "filterExpr": EXPRESSION, "metadata": METADATA_SETTING, "metadataFields": METADATA_FIELDS, "enable": true }, "ipCidrRange": "IP_RANGE", "network": "NETWORK_URL", "name": "SUBNET_NAME" }
Ersetzen Sie die Platzhalter durch gültige Werte:
PROJECT_ID
ist die ID des Projekts, in dem das Subnetz erstellt wird.REGION
ist die Region, in der das Subnetz erstellt wird.AGGREGATION_INTERVAL
legt das Aggregationsintervall für Flusslogs im Subnetz fest. Das Intervall kann auf einen der folgenden Werte festgelegt werden:INTERVAL_5_SEC
,INTERVAL_30_SEC
,INTERVAL_1_MIN
,INTERVAL_5_MIN
,INTERVAL_10_MIN
oderINTERVAL_15_MIN
.SAMPLING_RATE
ist die Flussabtastrate. Die Flussprobenahme kann auf einen Wert zwischen0.0
(keine Probenahme) und1.0
(alle Logs) festgelegt werden. Der Standardwert ist.0.5
.EXPRESSION
ist der Filterausdruck, mit dem Sie filtern, welche Logs tatsächlich geschrieben werden. Der Ausdruck ist auf maximal 2.048 Zeichen beschränkt. Weitere Informationen finden Sie unter Logfilterung.METADATA_SETTING
gibt an, ob das Log alle Metadaten (INCLUDE_ALL_METADATA
), keine Metadaten (EXCLUDE_ALL_METADATA
) oder nur bestimmte Metadaten (CUSTOM_METADATA
) enthalten soll. Wenn dieses Feld aufCUSTOM_METADATA
gesetzt ist, füllen Sie auch das FeldmetadataFields
aus. Der Standardwert istEXCLUDE_ALL_METADATA
. Weitere Informationen finden Sie unter Metadatenannotationen.METADATA_FIELDS
sind die Metadatenfelder, die Sie erfassen möchten, wenn Siemetadata: CUSTOM_METADATA
festgelegt haben. Dies ist eine durch Kommas getrennte Liste von Metadatenfeldern, z. B.src_instance, src_vpc.project_id
.IP_RANGE
ist der primäre interne IP-Adressbereich des Subnetzes.NETWORK_URL
ist die URL des VPC-Netzwerks, in dem das Subnetz erstellt wird.SUBNET_NAME
ist der Name für das Subnetz.
Weitere Informationen finden Sie in der Methode subnetworks.insert
.
Terraform
Sie können ein Terraform-Modul verwenden, um benutzerdefinierte VPC-Netzwerke und Subnetze zu erstellen.
Im folgenden Beispiel werden drei Subnetze so erstellt:
subnet-01
hat VPC-Flusslogs deaktiviert. Wenn Sie ein Subnetz erstellen, werden VPC-Flusslogs deaktiviert, sofern Sie sie nicht explizit aktivieren.- Für
subnet-02
sind VPC-Flusslogs mit den Standard-Einstellungen aktiviert. subnet-03
hat VPC-Flusslogs mit einigen benutzerdefinierten Einstellungen aktiviert.
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Aktivieren Sie VPC-Flusslogs für ein vorhandenes Subnetz.
Console
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf das Subnetz, das Sie aktualisieren möchten.
Klicken Sie auf Bearbeiten.
Wählen Sie für Flusslogs die Option Ein aus.
Wenn Sie die Logprobenahme und Logaggregation anpassen möchten, klicken Sie auf Logs konfigurieren und ändern Sie die folgenden Einstellungen wie gewünscht:
- Das Aggregationsintervall.
- Ob Metadaten in die endgültigen Logeinträge einbezogen werden sollen. Standardmäßig umfasst Metadaten einschließen alle Felder.
- Die Abtastrate (
100%
bedeutet, dass alle Einträge erhalten bleiben).
Klicken Sie auf Speichern.
gcloud
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Führen Sie dazu diesen Befehl aus:
gcloud compute networks subnets update SUBNET_NAME \ --enable-flow-logs \ [--logging-aggregation-interval=AGGREGATION_INTERVAL] \ [--logging-flow-sampling=SAMPLE_RATE] \ [--logging-filter-expr=FILTER_EXPRESSION] \ [--logging-metadata=LOGGING_METADATA] \ [--logging-metadata-fields=METADATA_FIELDS] \ [other flags as needed]
Dabei gilt:
AGGREGATION_INTERVAL
: das Aggregationsintervall für Flusslogs in diesem Subnetz. Das Intervall kann 5 Sekunden (Standard), 30 Sekunden, 1 Minute, 5 Minuten, 10 Minuten oder 15 Minuten betragen.SAMPLE_RATE
: die Flussabtastrate. Das Fluss-Sampling kann auf einen Wert zwischen0.0
(kein Sampling) und1.0
(alle Logs) festgelegt werden. Der Standardwert ist0.5
.FILTER_EXPRESSION
: ein Ausdruck, der festlegt, welche Logs Sie behalten möchten. Der Ausdruck ist auf maximal 2.048 Zeichen beschränkt. Weitere Informationen finden Sie unter Logfilterung.LOGGING_METADATA
: Die Metadatenannotationen, die in den Logs enthalten sein sollen:include-all
zum Einschließen aller Metadatenannotationenexclude-all
zum Ausschließen aller Metadatenannotationen (Standard)custom
zum Hinzufügen einer benutzerdefinierten Liste von Metadatenfeldern, die Sie inMETADATA_FIELDS
angeben.
METADATA_FIELDS
: eine durch Kommas getrennte Liste von Metadatenfeldern, die Sie in die Logs aufnehmen möchten. Beispiel:src_instance,dst_instance
Kann nur festgelegt werden, wennLOGGING_METADATA
aufcustom
gesetzt ist.
API
Aktivieren Sie VPC-Flusslogs für ein vorhandenes Subnetz.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME { "logConfig": { "enable": true ...other logging fields. }, "fingerprint": "SUBNETWORK_FINGERPRINT" }
Ersetzen Sie die Platzhalter durch gültige Werte:
PROJECT_ID
ist die ID des Projekts, in dem sich das Subnetz befindet.REGION
ist die Region, in der sich das Subnetz befindet.SUBNET_NAME
ist der Name des vorhandenen Subnetzes.SUBNET_FINGERPRINT
ist die Fingerabdruck-ID für das bestehende Subnetz, die Sie beim Beschreiben des Subnetzes erhalten.- Informationen zu den anderen Logging-Feldern finden Sie unter VPC-Flusslogs beim Erstellen eines Subnetzes aktivieren.
Weitere Informationen finden Sie in der Methode subnetworks.patch
.
Geschätztes Logvolumen für vorhandene Subnetze ansehen
Die Google Cloud Console bietet eine Schätzung des Logvolumens für vorhandene Subnetze, die Sie dann verwenden können, wenn Sie die ungefähren Kosten für das Aktivieren der Flusslogs ermitteln möchten. Die Schätzung basiert auf Flüssen, die über die letzten 7 Tage in 5-Sekunden-Intervallen für das Subnetz erfasst wurden. Die Größe jedes Logs hängt auch davon ab, ob Sie Metadatenanmerkungen aktivieren.
Console
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf das Subnetz, für das Sie die Kosten schätzen möchten.
Klicken Sie auf Bearbeiten.
Wählen Sie für Flusslogs die Option Ein aus.
Klicken Sie auf Logs konfigurieren.
Unter Geschätzte Logs pro Tag sehen Sie die Schätzung.
Klicken Sie auf Abbrechen, damit keine Änderungen gespeichert werden.
Ansehen, für welche Subnetze VPC-Flusslogs aktiviert sind
Sie können prüfen, für welche Subnetze in einem Netzwerk VPC-Flusslogs aktiviert sind.
Console
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
In der Spalte Flusslogs sehen Sie, ob das Logging aktiviert oder deaktiviert ist.
gcloud
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Führen Sie dazu diesen Befehl aus:
gcloud compute networks subnets list \ --project PROJECT_ID \ --network="NETWORK" \ --format="csv(name,region,logConfig.enable)"
Dabei gilt:
PROJECT_ID
: die ID des von Ihnen abgefragten Projekts.NETWORK
: der Name des Netzwerks mit den Subnetzen
Parameter für VPC-Flusslogs aktualisieren
Sie können die Log-Sampling-Parameter anpassen. Ausführliche Informationen zu den Parametern, die Sie festlegen können, finden Sie unter Logprobenahme und Logaggregation.
Wenn Sie Metadatenfelder anpassen oder die Logfilterung konfigurieren möchten, verwenden Sie die gcloud CLI oder die API.
Console
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf das Subnetz, das Sie aktualisieren möchten.
Klicken Sie auf Bearbeiten.
Wenn Sie die Logprobenahme und Logaggregation anpassen möchten, klicken Sie auf Logs konfigurieren und ändern Sie die folgenden Einstellungen wie gewünscht:
- Das Aggregationsintervall.
- Ob Metadaten in die endgültigen Logeinträge einbezogen werden sollen. Standardmäßig umfasst Metadaten einschließen alle Felder.
- Die Abtastrate (
100%
bedeutet, dass alle Einträge erhalten bleiben).
Klicken Sie auf Speichern.
gcloud
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Führen Sie dazu diesen Befehl aus:
gcloud compute networks subnets update SUBNET_NAME \ [--logging-aggregation-interval=AGGREGATION_INTERVAL] \ [--logging-flow-sampling=SAMPLE_RATE] \ [--logging-filter-expr=FILTER_EXPRESSION] \ [--logging-metadata=LOGGING_METADATA] \ [--logging-metadata-fields=METADATA_FIELDS] \
Dabei gilt:
AGGREGATION_INTERVAL
: das Aggregationsintervall für Flusslogs in diesem Subnetz. Das Intervall kann 5 Sekunden (Standard), 30 Sekunden, 1 Minute, 5 Minuten, 10 Minuten oder 15 Minuten betragen.SAMPLE_RATE
: die Flussabtastrate. Das Fluss-Sampling kann auf einen Wert zwischen0.0
(kein Sampling) und1.0
(alle Logs) festgelegt werden. Der Standardwert ist0.5
.FILTER_EXPRESSION
: ein Ausdruck, der festlegt, welche Logs Sie behalten möchten. Der Ausdruck ist auf maximal 2.048 Zeichen beschränkt. Weitere Informationen finden Sie unter Logfilterung.LOGGING_METADATA
: Die Metadatenannotationen, die in den Logs enthalten sein sollen:include-all
zum Einschließen aller Metadatenannotationenexclude-all
zum Ausschließen aller Metadatenannotationen (Standard)custom
zum Hinzufügen einer benutzerdefinierten Liste von Metadatenfeldern, die Sie inMETADATA_FIELDS
angeben.
METADATA_FIELDS
: eine durch Kommas getrennte Liste von Metadatenfeldern, die Sie in die Logs aufnehmen möchten. Beispiel:src_instance,dst_instance
Kann nur festgelegt werden, wennLOGGING_METADATA
aufcustom
gesetzt ist.
API
Ändern Sie die Log-Sampling-Felder, um das Verhalten der VPC-Flusslogs zu aktualisieren.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME { "logConfig": { ...fields to modify }, "fingerprint": "SUBNETWORK_FINGERPRINT" }
Ersetzen Sie die Platzhalter durch gültige Werte:
PROJECT_ID
ist die ID des Projekts, in dem sich das Subnetz befindet.REGION
ist die Region, in der sich das Subnetz befindet.SUBNET_NAME
ist der Name des vorhandenen Subnetzes.SUBNET_FINGERPRINT
ist die Fingerabdruck-ID für das bestehende Subnetz, die Sie beim Beschreiben des Subnetzes erhalten.- Informationen zu den Feldern, die Sie ändern können, finden Sie unter VPC-Flusslogs beim Erstellen eines Subnetzes aktivieren.
Weitere Informationen finden Sie in der Methode subnetworks.patch
.
VPC-Flusslogs für ein Subnetz deaktivieren
Console
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf das Subnetz, das Sie aktualisieren möchten.
Klicken Sie auf Bearbeiten.
Wählen Sie für Flusslogs die Option Aus aus.
Klicken Sie auf Speichern.
gcloud
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Führen Sie dazu diesen Befehl aus:
gcloud compute networks subnets update SUBNET_NAME \ --no-enable-flow-logs
API
Deaktivieren Sie VPC-Flusslogs für ein Subnetz, um die Erfassung von Logeinträgen zu beenden.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME { "logConfig": { "enable": false }, "fingerprint": "SUBNETWORK_FINGERPRINT" }
Ersetzen Sie die Platzhalter durch gültige Werte:
PROJECT_ID
ist die ID des Projekts, in dem sich das Subnetz befindet.REGION
ist die Region, in der sich das Subnetz befindet.SUBNET_NAME
ist der Name des vorhandenen Subnetzes.SUBNET_FINGERPRINT
ist die Fingerabdruck-ID für das bestehende Subnetz, die Sie beim Beschreiben des Subnetzes erhalten.
Weitere Informationen finden Sie in der Methode subnetworks.patch
.
Mit Logging auf Logs zugreifen
Sie können VPC-Flusslogs mit dem Log-Explorer aufrufen. Zur Verwendung der folgenden Abfragen benötigen Sie die Projekt-ID Ihres Projekts.
IAM konfigurieren
Informationen zum Konfigurieren der Zugriffssteuerung für das Logging finden Sie im Leitfaden zur Zugriffssteuerung für Logging.
Alle Flusslogs aufrufen
Console
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Klicken Sie auf Ressource.
Klicken Sie in der Liste Ressource auswählen auf Subnetzwerk und dann auf Übernehmen.
Klicken Sie auf Logname.
Klicken Sie in der Liste Lognamen auswählen auf vpc_flows und dann auf Übernehmen.
Alternativ:
Console
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Wenn das Feld des Abfrageeditors im Bereich „Abfrage“ nicht angezeigt wird, klicken Sie auf die Ein/Aus-Schaltfläche Abfrage anzeigen.
Fügen Sie Folgendes in das Feld des Abfrageeditors ein. Ersetzen Sie
PROJECT_ID
durch Ihre Projekt-ID.resource.type="gce_subnetwork" logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
Klicken Sie auf Abfrage ausführen.
Auf Lgs für ein bestimmtes Subnetz zugreifen
Console
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Klicken Sie auf Ressource.
Klicken Sie in der Liste Ressource auswählen auf Subnetzwerk.
Wählen Sie in der Liste Subnetzwerk-ID das Subnetz aus und klicken Sie auf Übernehmen.
Klicken Sie in der Liste Lognamen auswählen auf vpc_flows und dann auf Übernehmen.
Alternativ:
Console
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Wenn das Feld des Abfrageeditors im Bereich „Abfrage“ nicht angezeigt wird, klicken Sie auf die Ein/Aus-Schaltfläche Abfrage anzeigen.
Fügen Sie Folgendes in das Feld des Abfrageeditors ein. Ersetzen Sie
PROJECT_ID
durch die Projekt-ID undSUBNET_NAME
durch das Subnetzwerk.resource.type="gce_subnetwork" logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows" resource.labels.subnetwork_name="SUBNET_NAME"
Klicken Sie auf Abfrage ausführen.
Auf Logs für eine bestimmte VM zugreifen
Console
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Wenn das Feld des Abfrageeditors im Bereich „Abfrage“ nicht angezeigt wird, klicken Sie auf die Ein/Aus-Schaltfläche Abfrage anzeigen.
Fügen Sie Folgendes in das Feld des Abfrageeditors ein. Ersetzen Sie
PROJECT_ID
durch Ihre Projekt-ID undVM_NAME
durch den Namen Ihrer VM.resource.type="gce_subnetwork" logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows" jsonPayload.src_instance.vm_name="VM_NAME"
Klicken Sie auf Abfrage ausführen.
Auf Logs für Traffic zu einem bestimmten Subnetzbereich zugreifen
Console
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Wenn das Feld des Abfrageeditors im Bereich „Abfrage“ nicht angezeigt wird, klicken Sie auf die Ein/Aus-Schaltfläche Abfrage anzeigen.
Fügen Sie Folgendes in das Feld des Abfrageeditors ein. Ersetzen Sie
PROJECT_ID
durch Ihre Projekt-ID undSUBNET_RANGE
durch einen CIDR-Bereich wie192.168.1.0/24
.resource.type="gce_subnetwork" logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows" ip_in_net(jsonPayload.connection.dest_ip, SUBNET_RANGE)
Klicken Sie auf Abfrage ausführen.
Auf Logs für einen bestimmten GKE-Cluster zugreifen
Console
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Wenn das Feld des Abfrageeditors im Bereich „Abfrage“ nicht angezeigt wird, klicken Sie auf die Ein/Aus-Schaltfläche Abfrage anzeigen.
Fügen Sie Folgendes in das Feld des Abfrageeditors ein. Ersetzen Sie
PROJECT_ID
durch Ihre Projekt-ID undSUBNET_NAME
durch den Namen Ihres Subnetzwerks.resource.type="k8s_cluster" logName="projects/PROJECT_ID/logs/vpc_flows" resource.labels.cluster_name="CLUSTER_NAME"
Klicken Sie auf Abfrage ausführen.
Auf Logs nur für ausgehenden Traffic aus einem Subnetz zugreifen
Console
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Wenn das Feld des Abfrageeditors im Bereich „Abfrage“ nicht angezeigt wird, klicken Sie auf die Ein/Aus-Schaltfläche Abfrage anzeigen.
Fügen Sie Folgendes in das Feld des Abfrageeditors ein. Ersetzen Sie
PROJECT_ID
durch die ID Ihres Projekts undSUBNET_NAME
durch den Namen des Subnetzes, dessen ausgehender Traffic angezeigt werden soll.logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows" AND jsonPayload.reporter="SRC" AND jsonPayload.src_vpc.subnetwork_name="SUBNET_NAME" AND (jsonPayload.dest_vpc.subnetwork_name!="SUBNET_NAME" OR NOT jsonPayload.dest_vpc.subnetwork_name:*)
Klicken Sie auf Abfrage ausführen.
Auf Logs für den gesamten ausgehenden Traffic von einem VPC-Netzwerk zugreifen
Console
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Wenn das Feld des Abfrageeditors im Bereich „Abfrage“ nicht angezeigt wird, klicken Sie auf die Ein/Aus-Schaltfläche Abfrage anzeigen.
Fügen Sie Folgendes in das Feld des Abfrageeditors ein. Ersetzen Sie
PROJECT_ID
durch die ID Ihres Projekts undVPC_NAME
durch den Namen Ihres VPC-Netzwerks.logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows" AND jsonPayload.reporter="SRC" AND jsonPayload.src_vpc.vpc_name="VPC_NAME" AND (jsonPayload.dest_vpc.vpc_name!="VPC_NAME" OR NOT jsonPayload.dest_vpc:*)
Klicken Sie auf Abfrage ausführen.
Auf Logs für bestimmte Ports und Protokolle zugreifen
Für einen einzelnen Zielport
Console
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Wenn das Feld des Abfrageeditors im Bereich „Abfrage“ nicht angezeigt wird, klicken Sie auf die Ein/Aus-Schaltfläche Abfrage anzeigen.
Fügen Sie Folgendes in das Feld des Abfrageeditors ein. Ersetzen Sie
PROJECT_ID
durch Ihre Projekt-ID,PORT
durch den Zielport undPROTOCOL
durch das Protokoll.resource.type="gce_subnetwork" logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows" jsonPayload.connection.dest_port=PORT jsonPayload.connection.protocol=PROTOCOL
Klicken Sie auf Abfrage ausführen.
Für mehrere Zielports
Console
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Wenn das Feld des Abfrageeditors im Bereich „Abfrage“ nicht angezeigt wird, klicken Sie auf die Ein/Aus-Schaltfläche Abfrage anzeigen.
Fügen Sie Folgendes in das Feld des Abfrageeditors ein. Ersetzen Sie
PROJECT_ID
durch Ihre Projekt-ID,PORT1
,PORT2
durch die Zielports undPROTOCOL
durch das Protokoll.resource.type="gce_subnetwork" logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows" jsonPayload.connection.dest_port=(PORT1 OR PORT2) jsonPayload.connection.protocol=PROTOCOL
Klicken Sie auf Abfrage ausführen.
Logs an BigQuery, Pub/Sub und zu benutzerdefinierten Zielen weiterleiten
Sie können Flusslogs von Logging an ein Ziel Ihrer Wahl weiterleiten, wie in Routing und Speicher – Übersicht in der Logging-Dokumentation beschrieben. Beispiele für Filter finden Sie im vorherigen Abschnitt.
Fehlerbehebung
In Logging werden für die Ressource gce_subnetwork
keine vpc_flows
angezeigt
- Prüfen Sie, ob das Logging für das jeweilige Subnetz aktiviert ist.
- VPC-Datenflüsse werden nur für VPC-Netzwerke unterstützt. Wenn Sie ein Legacy-Netzwerk haben, werden keine Logs angezeigt.
- In freigegebenen VPC-Netzwerken werden Logs ausschließlich im Hostprojekt, aber nicht in den Dienstprojekten angezeigt. Achten Sie daher darauf, dass Sie im Hostprojekt nach den Logs suchen.
- Ausschlussfilter in Logging sperren bestimmte Logs.
Achten Sie darauf, dass keine Ausschlussregeln vorhanden sind, die VPC-Flusslogs verwerfen.
- Gehen Sie zu Ressourcennutzung.
- Klicken Sie auf den Tab Ausnahmen.
- Achten Sie darauf, dass keine Ausschlussregeln vorhanden sind, die VPC-Flusslogs verwerfen könnten.
Keine RTT- oder Bytewerte für manche Logs
- RTT-Messungen können fehlen, wenn nicht genügend Pakete zur Erfassung von RTT abgetastet wurden. Dies tritt eher bei Verbindungen mit geringem Volumen auf.
- RTT-Werte sind nur für TCP-Flüsse verfügbar.
- Einige Pakete werden ohne Nutzlast gesendet. Wenn Nur-Header-Pakete abgetastet wurden, ist der Bytewert 0.
Einige Datenflüsse fehlen
- Eingehende Pakete werden nach eingehenden VPC-Firewallregeln als Stichprobe erfasst. Achten Sie darauf, dass es keine Firewallregeln für eingehenden Traffic gibt, die die zu protokollierenden Pakete ablehnen. Wenn Sie nicht sicher sind, ob VPC-Firewallregeln eingehende Pakete blockieren, können Sie das Logging von Firewallregeln aktivieren und die Logs prüfen.
- Es werden nur TCP-, UDP-, ICMP-, ESP- und GRE-Protokolle unterstützt. VPC-Flusslogs unterstützen keine anderen Protokolle.
- Es werden Logstichproben erstellt. Einige Pakete in Datenflüssen mit sehr geringem Volumen werden unter Umständen nicht erfasst.
Fehlende GKE-Annotationen in einigen Logs
Sorgen Sie dafür, dass Ihr GKE-Cluster eine unterstützte Version ist.
Fehlende Logs für einige GKE-Abläufe
Prüfen Sie, ob im Knoten knoteninterne Sichtbarkeit aktiviert ist. Andernfalls wird der Traffic zwischen Pods auf demselben Knoten nicht protokolliert.
Flusslogs sind scheinbar deaktiviert, obwohl sie aktiviert wurden
Wenn Sie ein Nur-Proxysubnetz für interne Application Load Balancer konfigurieren und den Befehl
gcloud compute networks subnets
verwenden, um VPC-Flusslogs zu aktivieren, scheint der Befehl erfolgreich zu sein, obwohl die Flusslogs eigentlich nicht aktiviert sind. Das Flag--enable-flow-logs
wird nicht wirksam, wenn Sie auch das Flag--purpose=INTERNAL_HTTPS_LOAD_BALANCER
einfügen.Wenn Sie Flusslogs über die Google Cloud Console oder die API aktivieren, wird folgende Fehlermeldung angezeigt: „Ungültiger Wert für Feld 'resource.enableFlowLogs': 'true'.“ Ungültiges Feld mit dem Zweck INTERNAL_HTTPS_LOAD_BALANCER im Subnetzwerk festgelegt."
Da Nur-Proxysubnetze keine VMs haben, werden VPC-Flusslogs nicht unterstützt. Das ist so gewollt.
Nächste Schritte
- Dokumentation zu Logging ansehen
- Dokumentation zu Logging-Senken ansehen