Zugriff auf Flusslogs
Auf dieser Seite wird beschrieben, wie Sie mit Cloud Logging auf Ablaufprotokolle zugreifen.
Im Log-Explorer auf Flusslogs zugreifen
VPC-Flusslogs schreibt Protokolle in das Google Cloud Projekt des Protokollmelders. Sie können Flusslogs im Log-Explorer aufrufen. Für VPC-Flusslogs werden die folgenden Protokolle verwendet, um Logeinträge zu erfassen:
- Im
compute.googleapis.com/vpc_flows
-Log werden Logeinträge für Subnetze erfasst. Rufen Sie dieses Protokoll auf, wenn Sie VPC-Flusslogs mit der Compute Engine API aktiviert haben. - Rufen Sie für alle anderen VPC-Flusslogkonfigurationen das
networkmanagement.googleapis.com/vpc_flows
-Log auf. In diesem Log werden Logeinträge für VPC-Netzwerke (Virtual Private Cloud) (Vorabversion), Subnetze (Vorabversion), VLAN-Anhänge für Cloud Interconnect und Cloud VPN-Tunnel erfasst.
IAM konfigurieren
Informationen zum Konfigurieren der Zugriffssteuerung für das Logging finden Sie im Leitfaden zur Zugriffssteuerung für Logging.
Flusslogs mithilfe von Ressourcenfiltern aufrufen
In den folgenden Abschnitten erfahren Sie, wie Sie Flussprotokolle in einem Google Cloud Projekt mithilfe von Ressourcenfiltern aufrufen. Sie können diese Logs auch mithilfe von Log-Explorer-Abfragen aufrufen, wie unter Flow-Logs mithilfe von Abfragen filtern beschrieben.
Flusslogs für alle Subnetze ansehen (compute.googleapis.com/vpc_flows
)
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Klicken Sie auf Alle Ressourcen.
Klicken Sie in der Liste Ressource auswählen auf Subnetzwerk und dann auf Übernehmen.
Klicken Sie auf Alle Lognamen.
Suchen Sie in der Liste Lognamen auswählen nach Compute Engine, klicken Sie auf vpc_flows und dann auf Übernehmen.
Flusslogs für ein bestimmtes Subnetz ansehen (compute.googleapis.com/vpc_flows
)
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Klicken Sie auf Alle Ressourcen.
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 auf Alle Lognamen.
Suchen Sie in der Liste Lognamen auswählen nach Compute Engine, klicken Sie auf vpc_flows und dann auf Übernehmen.
Flusslogs für alle Ressourcen ansehen (networkmanagement.googleapis.com/vpc_flows
)
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Klicken Sie auf Alle Ressourcen.
Klicken Sie in der Liste Ressource auswählen auf VPC-Flusslogkonfiguration und dann auf Übernehmen.
Flusslogs für eine bestimmte Konfiguration (networkmanagement.googleapis.com/vpc_flows
) aufrufen
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Klicken Sie auf Alle Ressourcen.
Klicken Sie in der Liste Ressource auswählen auf VPC-Flusslogkonfiguration und wählen Sie die gewünschte VPC-Flusslogkonfiguration aus.
Klicken Sie auf Übernehmen.
Flusslogs mithilfe von Abfragen filtern
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Wenn das Feld "Abfrageeditor" im Bereich Abfrage nicht angezeigt wird, klicken Sie auf Abfrage anzeigen.
Geben Sie im Abfrageeditor eine Abfrage ein:
Wenn Sie VPC-Flusslogs für ein Subnetz mithilfe der Compute Engine API aktiviert haben, muss die Abfrage auf
compute.googleapis.com
ausgerichtet sein, um sich Flusslogs anzusehen. Geben Sie beispielsweise die folgende Abfrage ein. Ersetzen Sie dabeiPROJECT_ID
durch Ihre Projekt-ID Google Cloud undSUBNET_NAME
durch Ihr Subnetzwerk:resource.type="gce_subnetwork" logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows" resource.labels.subnetwork_name="SUBNET_NAME"
Bei allen anderen Abfragen muss die Abfrage auf
networkmanagement.googleapis.com
ausgerichtet sein. Wenn Sie beispielsweise Flussprotokolle für einen bestimmten Cloud VPN-Tunnel der Quelle aufrufen möchten, geben Sie die folgende Abfrage ein:resource.type="vpc_flow_logs_config" logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" jsonPayload.reporter="src_gateway" labels.target_resource_name="projects/PROJECT_ID/regions/REGION/vpnTunnels/NAME"
Ersetzen Sie Folgendes:
PROJECT_ID
: die Google Cloud Projekt-IDREGION
: die Region des Cloud VPN-TunnelsNAME
: Name des Cloud VPN-Tunnels
Weitere Beispiele für Abfragen, mit denen Sie Ihre Flusslogs aufrufen können, finden Sie unter Beispiele für Log-Explorer-Abfragen für VPC-Flusslogs.
Klicken Sie auf Abfrage ausführen.
Beispiele für Log-Explorer-Abfragen für VPC-Flusslogs
In der folgenden Tabelle finden Sie Beispiele für Log-Explorer-Abfragen, mit denen Sie Ihre Flussprotokolle in einem Google Cloud -Projekt aufrufen können.
In den Beispielen im Abschnitt Abfragen für networkmanagement.googleapis.com/vpc_flows wird davon ausgegangen, dass jede Ressource von einer einzelnen VPC-Flusslogkonfiguration protokolliert wird. Wenn Sie mehrere VPC-Flusslogkonfigurationen pro Ressource verwenden, geben Sie die Konfiguration an, die Sie abfragen möchten, um doppelte Protokolle aus den Abfrageergebnissen auszuschließen. Sie können auch mehrere Konfigurationen in einer Abfrage angeben.
Logs, die Sie sich ansehen möchten | Abfrage |
---|---|
Alle Flusslogs | resource.type=("gce_subnetwork" OR "vpc_flow_logs_config") logName=("projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows" OR "projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows") |
Abfragen für das compute.googleapis.com/vpc_flows -Log |
|
Protokolle für alle Subnetze | resource.type="gce_subnetwork" logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows" |
Logs für ein bestimmtes Subnetz | resource.type="gce_subnetwork" logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows" resource.labels.subnetwork_name="SUBNET_NAME" |
Logs für eine bestimmte VM-Instanz | resource.type="gce_subnetwork" logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows" (jsonPayload.src_instance.vm_name="VM_NAME" OR jsonPayload.dest_instance.vm_name="VM_NAME") |
Logs für Traffic zu einem bestimmten Subnetzbereich | resource.type="gce_subnetwork" logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows" ip_in_net(jsonPayload.connection.dest_ip, SUBNET_RANGE) |
Protokolle für einen bestimmten Google Kubernetes Engine-Cluster (GKE) | resource.type="gce_subnetwork" logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows" (jsonPayload.src_gke_details.cluster.cluster_name="CLUSTER_NAME" OR jsonPayload.dest_gke_details.cluster.cluster_name="CLUSTER_NAME") |
Logs nur für ausgehenden Traffic aus einem Subnetz | resource.type="gce_subnetwork" 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:*) |
Logs für den gesamten ausgehenden Traffic von einem VPC-Netzwerk (Virtual Private Cloud) | resource.type="gce_subnetwork" 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:*) |
Protokolle für einen einzelnen Zielport | resource.type="gce_subnetwork" logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows" jsonPayload.connection.dest_port=PORT jsonPayload.connection.protocol=PROTOCOL |
Protokolle für mehrere Zielports | 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 |
Abfragen für das networkmanagement.googleapis.com/vpc_flows -Log |
|
Protokolle für alle VPC-Flusslogkonfigurationen | resource.type="vpc_flow_logs_config" logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" |
Protokolle für eine bestimmte VPC-Flusslogkonfiguration | resource.type="vpc_flow_logs_config" logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" resource.labels.name="CONFIG_NAME" |
Protokolle für einen bestimmten Cloud VPN-Tunnel | resource.type="vpc_flow_logs_config" logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" jsonPayload.reporter="src_gateway" labels.target_resource_name="projects/PROJECT_ID/regions/REGION/vpnTunnels/NAME" |
Protokolle für alle Ziel-VLAN-Anhänge | resource.type="vpc_flow_logs_config" logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" jsonPayload.reporter="dest_gateway" jsonPayload.dest_gateway.type="INTERCONNECT_ATTACHMENT" |
Protokolle für alle Ziel-VLAN-Anhänge in einer bestimmten Region | resource.type="vpc_flow_logs_config" logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" jsonPayload.reporter="dest_gateway" jsonPayload.dest_gateway.type="INTERCONNECT_ATTACHMENT" jsonPayload.dest_gateway.location="REGION" |
Ersetzen Sie Folgendes:
PROJECT_ID
: die Projekt-IDSUBNET_NAME
: Name des SubnetzesVM_NAME
: der Name der VMSUBNET_RANGE
: einen CIDR-Bereich, z. B.192.168.1.0/24
CLUSTER_NAME
: der Name des GKE-ClusterVPC_NAME
: Der Name des VPC-NetzwerksPORT1
undPORT2
: die ZielportsPROTOCOL
: das KommunikationsprotokollCONFIG_NAME
: der Name der VPC-FlusslogkonfigurationREGION
: die Region des VLAN-Anhang oder Cloud VPN-TunnelsNAME
: Name des Cloud VPN-Tunnels
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.
- Zum Logrouter
- Klicken Sie im -Menü Weitere Aktionen für den Logging-Bucket auf Senkendetails ansehen.
- Achten Sie darauf, dass keine Ausschlussregeln vorhanden sind, die VPC-Flusslogs verwerfen könnten.
- Verwenden Sie die Google Cloud CLI oder API, um festzustellen, ob bei einer Protokollfilterung der gesamte Traffic in einem bestimmten Subnetz herausgefiltert wird. Wenn
filterExpr
beispielsweise auffalse
festgelegt ist, werden keine Protokolle angezeigt.
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, die von VMs erfasst werden.
- 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.
Nächste Schritte
- Dokumentation zu Logging ansehen
- Dokumentation zu Logging-Senken ansehen
- Flussprotokolle in Flow Analyzer analysieren