Zugriff auf Flusslogs

Auf dieser Seite wird beschrieben, wie Sie mit Cloud Logging auf Ablaufprotokolle zugreifen.

Im Log-Explorer auf Flusslogs zugreifen

Sie können Flusslogs mit dem Log-Explorer aufrufen. Im Log-Explorer können Sie mithilfe von Ressourcenfiltern und Abfragen Ihre Ablaufprotokolle aufrufen. Von VPC-Flusslogs generierte Protokolle werden so gruppiert:

  • Flusslogs für Subnetze sind im compute.googleapis.com/vpc_flows-Log verfügbar.
  • Flusslogs für VLAN-Anhänge und Cloud VPN-Tunnel sind im networkmanagement.googleapis.com/vpc_flows-Log verfügbar (Vorabversion).

IAM konfigurieren

Informationen zum Konfigurieren der Zugriffssteuerung für das Logging finden Sie im Leitfaden zur Zugriffssteuerung für Logging.

Mithilfe von Ressourcenfiltern auf Flussprotokolle zugreifen

In den folgenden Abschnitten erfahren Sie, wie Sie Flussprotokolle in einem Google Cloud-Projekt mithilfe von Ressourcenfiltern aufrufen. Sie können sich diese Logs auch mithilfe von Log-Explorer-Abfragen ansehen, wie unter Über Abfragen auf Flussprotokolle zugreifen beschrieben.

Auf Flusslogs für alle Subnetze zugreifen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zum Log-Explorer

  2. Klicken Sie auf Alle Ressourcen.

  3. Klicken Sie in der Liste Ressource auswählen auf Subnetzwerk und dann auf Übernehmen.

  4. Klicken Sie auf Alle Lognamen.

  5. Suchen Sie in der Liste Lognamen auswählen nach Compute Engine, klicken Sie auf vpc_flows und dann auf Übernehmen.

Auf Flusslogs für ein bestimmtes Subnetz zugreifen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zum Log-Explorer

  2. Klicken Sie auf Alle Ressourcen.

  3. Klicken Sie in der Liste Ressource auswählen auf Subnetzwerk.

  4. Wählen Sie in der Liste Subnetzwerk-ID das Subnetzwerk aus und klicken Sie auf Übernehmen.

  5. Klicken Sie auf Alle Lognamen.

  6. Suchen Sie in der Liste Lognamen auswählen nach Compute Engine, klicken Sie auf vpc_flows und dann auf Übernehmen.

Auf Flussprotokolle für alle VLAN-Anhänge und Cloud VPN-Tunnel zugreifen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zum Log-Explorer

  2. Klicken Sie auf Alle Ressourcen.

  3. Klicken Sie in der Liste Ressource auswählen auf VPC-Flusslogkonfiguration und dann auf Übernehmen.

Auf Flusslogs für einen bestimmten VLAN-Anhang oder Cloud VPN-Tunnel zugreifen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zum Log-Explorer

  2. Klicken Sie auf Alle Ressourcen.

  3. Klicken Sie in der Liste Ressource auswählen auf VPC-Flusslogkonfiguration und wählen Sie die VPC-Flusslogkonfiguration aus, mit der Flusslogs für den VLAN-Anhang oder Cloud VPN-Tunnel erfasst werden, den Sie aufrufen möchten.

  4. Klicken Sie auf Anwenden.

Mit Abfragen auf Flusslogs zugreifen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zum Log-Explorer

  2. Wenn das Feld "Abfrageeditor" im Bereich Abfrage nicht angezeigt wird, klicken Sie auf Abfrage anzeigen.

  3. Geben Sie im Abfrageeditor eine Abfrage ein:

    • Wenn Sie Flusslogs für Subnetze aufrufen möchten, muss die Abfrage auf compute.googleapis.com ausgerichtet sein. Wenn Sie beispielsweise Flussprotokolle für ein bestimmtes Subnetzwerk aufrufen möchten, geben Sie die folgende Abfrage ein. Ersetzen Sie dabei PROJECT_ID durch Ihre Google Cloud-Projekt-ID und SUBNET_NAME durch Ihr Subnetzwerk:

      resource.type="gce_subnetwork"
      logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
      resource.labels.subnetwork_name="SUBNET_NAME"
      
    • Wenn Sie Flusslogs für VLAN-Anhänge oder Cloud VPN-Tunnel aufrufen möchten, 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-ID
      • REGION: die Region des Cloud VPN-Tunnels
      • NAME: 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.

  4. 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 sich die Ablaufprotokolle in einem Google Cloud-Projekt ansehen können.

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 Subnetze
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 Subnetzwerkbereich
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 Subnetzwerk
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)
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 zu VLAN-Anhängen für Cloud Interconnect- und Cloud VPN-Tunnel (Vorabversion)
Protokolle für alle VLAN-Anhänge und Cloud VPN-Tunnel
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 Google Cloud-Projekt-ID.
  • SUBNET_NAME: der Name des Subnetzes.
  • VM_NAME: der Name der VM.
  • SUBNET_RANGE: einen CIDR-Bereich, z. B. 192.168.1.0/24.
  • CLUSTER_NAME ist der Name des GKE-Clusters.
  • VPC_NAME: der Name des VPC-Netzwerks.
  • PORT1 und PORT2: die Zielports.
  • PROTOCOL: das Kommunikationsprotokoll.
  • CONFIG_NAME: der Name der VPC-Flusslogkonfiguration für den VLAN-Anhang oder Cloud VPN-Tunnel, den Sie aufrufen möchten.
  • REGION: die Region des VLAN-Anhang oder Cloud VPN-Tunnels.
  • NAME: 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.
    1. Zum Logrouter
    2. Klicken Sie im -Menü Weitere Aktionen für den Logging-Bucket auf Senkendetails ansehen.
    3. 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 auf false 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