Zugriff auf Flusslogs

Auf dieser Seite wird beschrieben, wie Sie mit Cloud Logging auf Flow-Logs zugreifen.

Auf Flusslogs im Log-Explorer zugreifen

Mit VPC-Flusslogs werden Logs in das Google Cloud -Projekt des Log-Reporters geschrieben. Sie können Flusslogs im Log-Explorer ansehen. VPC-Flusslogs verwendet die folgenden Logs, um Logeinträge zu erfassen:

  • Im networkmanagement.googleapis.com/vpc_flows-Log werden Logeinträge für VPC-Netzwerke (Virtual Private Cloud), Subnetze, VLAN-Anhänge für Cloud Interconnect und Cloud VPN-Tunnel erfasst.
  • Im compute.googleapis.com/vpc_flows-Log werden Logeinträge für Subnetze erfasst. Dieses Log wird nur generiert, wenn Sie VPC-Flusslogs für Subnetze mit der Compute Engine API aktiviert haben.

IAM konfigurieren

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

Flusslogs mit Ressourcenfiltern ansehen

Informationen zum Aufrufen von Flow-Logs in einem Google Cloud -Projekt mithilfe von Ressourcenfiltern finden Sie in den folgenden Abschnitten. Sie können diese Logs auch mit Log-Explorer-Abfragen aufrufen, wie unter Flusslogs mit Abfragen filtern beschrieben.

Flusslogs für alle Konfigurationen ansehen (networkmanagement.googleapis.com/vpc_flows)

  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.

Flusslogs für eine bestimmte Konfiguration (networkmanagement.googleapis.com/vpc_flows) ansehen

  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, die Sie aufrufen möchten.

  4. Klicken Sie auf Übernehmen.

Flusslogs für alle Konfigurationen ansehen (compute.googleapis.com/vpc_flows)

Führen Sie diese Schritte aus, wenn Sie VPC-Flusslogs mit der Compute Engine API aktiviert haben.

  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.

Flusslogs für ein bestimmtes Subnetz ansehen (compute.googleapis.com/vpc_flows)

Führen Sie diese Schritte aus, wenn Sie VPC-Flusslogs mit der Compute Engine API aktiviert haben.

  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 Subnetz 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.

Flusslogs mit Abfragen filtern

So rufen Sie Flusslogs in einem Google Cloud Projekt mit Log-Explorer-Abfragen auf:

  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 beispielsweise Flusslogs für einen bestimmten Cloud VPN-Quelltunnel 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_NUMBER/regions/REGION/vpnTunnels/NAME"
      

      Ersetzen Sie Folgendes:

      • PROJECT_ID: die Google Cloud Projekt-ID des Cloud VPN-Tunnels
      • PROJECT_NUMBER: die Projektnummer des Cloud VPN-Tunnels
      • REGION: die Region des Cloud VPN-Tunnels
      • NAME: Name des Cloud VPN-Tunnels
    • Wenn Sie VPC-Flusslogs für ein Subnetz mit der Compute Engine API aktiviert haben, muss die Abfrage auf compute.googleapis.com ausgerichtet sein. Geben Sie beispielsweise die folgende Abfrage ein und ersetzen Sie 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"
      

      Weitere Beispiele für Abfragen, die Sie ausführen können, um Ihre Flusslogs aufzurufen, 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

Dieser Abschnitt enthält Beispiele für Log-Explorer-Abfragen, mit denen Sie Ihre Flow-Logs aufrufen können. Geben Sie in allen Anfragen die folgenden Informationen an:

  • Geben Sie den Ressourcentyp und den Lognamen des Logs an, das Sie abfragen möchten, wie in der folgenden Tabelle beschrieben. Sie können beide Logs in einer einzigen Abfrage abfragen.

    Log Ressourcentyp und Logname
    networkmanagement.googleapis.com/vpc_flows

    Erfasst Logs für Konfigurationen, die von der Network Management API verwaltet werden.

    resource.type="vpc_flow_logs_config"
    logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows"
    
    compute.googleapis.com/vpc_flows

    Erfasst Logs für Konfigurationen, die von der Compute Engine API verwaltet werden.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"

    Ersetzen Sie PROJECT_ID durch die Google Cloud Projekt-ID der Berichtsressource.

  • Wenn Sie mehrere VPC-Flusslogkonfigurationen pro Ressource verwenden, geben Sie den Namen der Konfiguration an, die Sie abfragen möchten, und die Zielressource, indem Sie die Felder resource.labels.name und labels.target_resource_name der Abfrage hinzufügen. So werden doppelte Logs aus den Abfrageergebnissen ausgeschlossen. Weitere Informationen finden Sie unter Doppelte Logs.

    • resource.labels.name ist der Name der Konfiguration. Sie können mehrere Konfigurationen pro Abfrage angeben.
    • labels.target_resource_name ist der Name des VPC-Netzwerk, Subnetzes, VLAN-Anhang oder Cloud VPN-Tunnels, für den Berichte erstellt werden. Bei Konfigurationen für Organisationen wird keine Zielressource festgelegt.
    • Diese Felder sind nur im networkmanagement.googleapis.com/vpc_flows-Log verfügbar.

In der folgenden Tabelle finden Sie Beispiele für Log-Explorer-Abfragen, mit denen Sie Ihre Flow-Logs ansehen können.

Logs, die Sie ansehen möchten Abfrage
Alle Flusslogs
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
Logs für eine bestimmte Konfiguration
resource.type="vpc_flow_logs_config"
logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows"
resource.labels.name="CONFIG_NAME"
Logs für VM-Instanzen in einem bestimmten VPC-Netzwerk
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
(jsonPayload.src_vpc.vpc_name="NETWORK_NAME" OR
jsonPayload.dest_vpc.vpc_name="NETWORK_NAME")
Logs für VM-Instanzen in einem bestimmten Subnetz
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
(jsonPayload.src_vpc.subnetwork_name="SUBNET_NAME" OR
jsonPayload.dest_vpc.subnetwork_name="SUBNET_NAME")
Logs für eine bestimmte VM-Instanz
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"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 einen bestimmten Google Kubernetes Engine-Cluster
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"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 VM-Traffic aus einem Subnetz
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
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 nur für ausgehenden VM-Traffic aus einem VPC-Netzwerk
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
jsonPayload.reporter="SRC" AND
jsonPayload.src_vpc.vpc_name="VPC_NAME" AND
(jsonPayload.dest_vpc.vpc_name!="VPC_NAME" OR NOT jsonPayload.dest_vpc:*)
Logs für Traffic zu einem bestimmten Subnetzbereich
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
ip_in_net(jsonPayload.connection.dest_ip, "SUBNET_RANGE")
Logs für einen einzelnen Zielport
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
jsonPayload.connection.dest_port=PORT
jsonPayload.connection.protocol=PROTOCOL
Logs für mehrere Zielports
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
jsonPayload.connection.dest_port=(PORT_1 OR PORT_2)
jsonPayload.connection.protocol=PROTOCOL
Logs für einen bestimmten Cloud VPN-Quelltunnel
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_NUMBER/regions/REGION/vpnTunnels/NAME"
Logs 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"
Logs 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-ID
  • CONFIG_NAME: der Name der VPC-Flusslogkonfiguration.
  • SUBNET_NAME: Name des Subnetzes
  • VM_NAME: der Name der VM
  • SUBNET_RANGE: ein CIDR-Bereich, z. B. 192.168.1.0/24
  • CLUSTER_NAME: der Name des GKE-Cluster
  • VPC_NAME: Der Name des VPC-Netzwerks
  • PORT_1 und PORT_2: die Zielports
  • PROTOCOL: das Kommunikationsprotokoll
  • PROJECT_NUMBER: die Projektnummer des Cloud VPN-Tunnels
  • 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.
  • Mit der Google Cloud CLI oder API können Sie ermitteln, ob eine Konfiguration zum Filtern von Logs den gesamten Traffic in einem bestimmten Subnetz filtert. Wenn filterExpr beispielsweise auf false festgelegt ist, werden keine Logs 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 werden, ist der Bytewert normalerweise null. Weitere Informationen finden Sie unter Datensatzformat.

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.

Doppelte Protokolle

Für jede VPC-Flusslogkonfiguration wird ein separater Satz von Logs generiert. Wenn Ihre Protokollierungsinformationen doppelte Logs enthalten, prüfen Sie, ob die Berichtsressource mit mehr als einer Konfiguration verknüpft ist.

Eine Ressource ist mehreren Konfigurationen zugeordnet, wenn Sie mehrere Konfigurationen pro Ressource erstellen oder wenn sich die Bereiche mehrerer Konfigurationen überschneiden, wie in der folgenden Liste beschrieben:

  • VPC-Flusslogs sind für die Organisation konfiguriert und Sie haben zusätzliche Konfigurationen für die Organisation oder VPC-Netzwerke, Subnetze, VLAN-Anhänge oder Cloud VPN-Tunnel in einem der Projekte der Organisation.

    Standardmäßig werden mit einer VPC-Flusslogkonfiguration für eine Organisation Logs für alle VM-Instanzen in allen Subnetzen, allen VLAN-Anhängen und allen Cloud VPN-Tunneln in der Organisation generiert. Wenn Sie zusätzliche Konfigurationen erstellen, wird für jede zusätzliche Konfiguration ein eigener Satz von Logs generiert.

  • VPC-Flusslogs sind für ein VPC-Netzwerk konfiguriert und Sie haben zusätzliche Konfigurationen für Subnetze, VLAN-Anhänge oder Cloud VPN-Tunnel im selben Netzwerk.

    Standardmäßig werden mit einer VPC-Flusslogkonfiguration für ein VPC-Netzwerk Logs für alle VM-Instanzen in allen Subnetzen, alle VLAN-Anhänge und alle Cloud VPN-Tunnel im Netzwerk generiert. Wenn Sie zusätzliche Konfigurationen erstellen, wird für jede zusätzliche Konfiguration ein eigener Satz von Logs generiert.

  • VPC-Flusslogs sind für ein Subnetz sowohl über die Network Management API als auch über die Compute Engine API konfiguriert. Sowohl die von der Compute Engine API verwaltete VPC-Flusslogkonfiguration für das Subnetz als auch jede anwendbare Konfiguration, die Sie mit der Network Management API zum Generieren von Logs erstellen.

Weitere Informationen dazu, welche Ressourcen von den einzelnen VPC-Flusslogkonfigurationsbereichen protokolliert werden, finden Sie unter Unterstützte Konfigurationen. Informationen zum Aufrufen Ihrer VPC-Flusslogkonfigurationen finden Sie unter VPC-Flusslogkonfigurationen (alle) aufrufen.

Wenn Sie doppelte Logs herausfiltern möchten, können Sie die folgenden Felder verwenden:

  • Wenn Sie Logs nach Log-Name filtern möchten, geben Sie die Felder resource_type und log_name an.
  • Wenn Sie Logs nach Konfiguration und Zielressourcennamen filtern möchten, geben Sie die Felder resource.labels.name und labels.target_resource_name an.

Weitere Informationen zu diesen Feldern und ihrer Verwendung finden Sie unter Beispiele für Log-Explorer-Abfragen für VPC-Flusslogs.

Nächste Schritte