Accedere ai log di flusso

Questa pagina descrive come accedere ai log dei flussi utilizzando Cloud Logging.

Accedere ai log di flusso in Esplora log

I log di flusso VPC scrivono i log nel Google Cloud progetto del reporter dei log. Puoi visualizzare i log di flusso in Esplora log. I log di flusso VPC utilizzano i seguenti log per raccogliere le voci di log:

  • Il log compute.googleapis.com/vpc_flows raccoglie le voci di log per le sottoreti. Visualizza questo log se hai abilitato i log di flusso VPC utilizzando l'API Compute Engine.
  • Per tutte le altre configurazioni dei log di flusso VPC, visualizza il lognetworkmanagement.googleapis.com/vpc_flows. Questo log raccoglie voci di log per le reti Virtual Private Cloud (VPC) (anteprima), le subnet (anteprima), i collegamenti VLAN per Cloud Interconnect e i tunnel Cloud VPN.

Configura IAM

Per configurare controllo dell'accesso per il logging, consulta la guida al controllo dell'accesso per il logging.

Visualizzare i log di flusso utilizzando i filtri delle risorse

Per visualizzare i log di flusso in un Google Cloud progetto utilizzando i filtri delle risorse, consulta le seguenti sezioni. Puoi visualizzare questi log anche utilizzando le query di Esplora log, come descritto in Filtrare i log del flusso utilizzando le query.

Visualizza i log di flusso per tutte le subnet (compute.googleapis.com/vpc_flows)

  1. Nella Google Cloud console, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Fai clic su Tutte le risorse.

  3. Nell'elenco Seleziona risorsa, fai clic su Subnet e poi su Applica.

  4. Fai clic su Tutti i nomi dei log.

  5. Nell'elenco Seleziona i nomi dei log, individua Compute Engine, fai clic su vpc_flows e poi su Applica.

Visualizza i log di flusso per una subnet specifica (compute.googleapis.com/vpc_flows)

  1. Nella Google Cloud console, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Fai clic su Tutte le risorse.

  3. Nell'elenco Seleziona risorsa, fai clic su Subnet.

  4. Nell'elenco ID sottorete, seleziona la sottorete e poi fai clic su Applica.

  5. Fai clic su Tutti i nomi dei log.

  6. Nell'elenco Seleziona i nomi dei log, individua Compute Engine, fai clic su vpc_flows e poi su Applica.

Visualizza i log di flusso per tutte le risorse (networkmanagement.googleapis.com/vpc_flows)

  1. Nella Google Cloud console, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Fai clic su Tutte le risorse.

  3. Nell'elenco Seleziona risorsa, fai clic su Configurazione dei log di flusso VPC e poi su Applica.

Visualizza i log di flusso per una configurazione specifica (networkmanagement.googleapis.com/vpc_flows)

  1. Nella Google Cloud console, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Fai clic su Tutte le risorse.

  3. Nell'elenco Seleziona risorsa, fai clic su Configurazione dei log di flusso VPC e seleziona la configurazione dei log di flusso VPC che vuoi visualizzare.

  4. Fai clic su Applica.

Filtrare i log di flusso utilizzando le query

  1. Nella Google Cloud console, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Se non vedi il campo dell'editor di query nel riquadro Query, fai clic sul pulsante di attivazione/disattivazione Mostra query.

  3. Nel campo dell'editor di query, inserisci una query:

    • Se hai abilitato i log di flusso VPC per una subnet utilizzando l'API Compute Engine, per visualizzare i log di flusso, la query deve avere come target compute.googleapis.com. Ad esempio, inserisci la seguente query, sostituendoPROJECT_ID con il tuo Google Cloud ID progetto eSUBNET_NAME con la tua subnet:

      resource.type="gce_subnetwork"
      logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
      resource.labels.subnetwork_name="SUBNET_NAME"
      
    • Per tutte le altre query, la query deve avere come target networkmanagement.googleapis.com. Ad esempio, per visualizzare i log di flusso per un tunnel Cloud VPN di origine specifico, inserisci la seguente query:

      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"
      

      Sostituisci quanto segue:

      • PROJECT_ID: l' Google Cloud ID progetto
      • REGION: la regione del tunnel Cloud VPN
      • NAME: il nome del tunnel Cloud VPN

      Per altri esempi di query che puoi eseguire per visualizzare i log di flusso, consulta Esempi di query di Esplora log per i log di flusso VPC.

  4. Fai clic su Esegui query.

Esempi di query di Esplora log per i log di flusso VPC

La tabella seguente fornisce esempi di query di Esplora log che puoi eseguire per visualizzare i log dei flussi in un Google Cloud progetto.

Gli esempi nella sezione Query per networkmanagement.googleapis.com/vpc_flows presuppongono che ogni risorsa venga registrata da una singola configurazione dei log di flusso VPC. Se utilizzi più configurazioni dei log di flusso VPC per risorsa, specifica la configurazione su cui vuoi eseguire una query per escludere i log duplicati dai risultati della query. Puoi anche specificare più configurazioni in una query.

Log da visualizzare Query
Tutti i log di flusso
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")
Query per il log compute.googleapis.com/vpc_flows
Log per tutte le subnet
resource.type="gce_subnetwork"
logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
Log per una subnet specifica
resource.type="gce_subnetwork"
logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
resource.labels.subnetwork_name="SUBNET_NAME"
Log per un'istanza di macchina virtuale (VM) specifica
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")
Log per il traffico verso un intervallo di subnet specifico
resource.type="gce_subnetwork"
logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
ip_in_net(jsonPayload.connection.dest_ip, SUBNET_RANGE)
Log per un cluster Google Kubernetes Engine (GKE) specifico
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")
Log solo per il traffico in uscita da una subnet
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:*)
Log per tutto il traffico in uscita da una rete Virtual Private Cloud (VPC)
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:*)
Log per una singola porta di destinazione
resource.type="gce_subnetwork"
logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
jsonPayload.connection.dest_port=PORT
jsonPayload.connection.protocol=PROTOCOL
Log per più porte di destinazione
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
Query per il log networkmanagement.googleapis.com/vpc_flows
Log per tutte le configurazioni dei log di flusso VPC
resource.type="vpc_flow_logs_config"
logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows"
Log per una configurazione specifica dei log di flusso VPC
resource.type="vpc_flow_logs_config"
logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows"
resource.labels.name="CONFIG_NAME"
Log per un tunnel Cloud VPN di origine specifico
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"
Log per tutti i collegamenti VLAN di destinazione
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"
Log per tutti i collegamenti VLAN di destinazione in una regione specifica
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"

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto
  • SUBNET_NAME: il nome della subnet
  • VM_NAME: il nome della VM
  • SUBNET_RANGE: un intervallo CIDR, ad esempio 192.168.1.0/24
  • CLUSTER_NAME: il nome del cluster GKE
  • VPC_NAME: il nome della rete VPC
  • PORT1 e PORT2: le porte di destinazione
  • PROTOCOL: il protocollo di comunicazione
  • CONFIG_NAME: il nome della configurazione dei log di flusso VPC
  • REGION: la regione del collegamento VLAN o del tunnel Cloud VPN
  • NAME: il nome del tunnel Cloud VPN

Inoltra i log a BigQuery, Pub/Sub e target personalizzati

Puoi instradare i log di flusso da Logging a una destinazione di tua scelta come descritto nella Panoramica di routing e archiviazione nella documentazione di Logging. Consulta la sezione precedente per esempi di filtri.

Risoluzione dei problemi

Nessun vpc_flows viene visualizzato in Logging per la risorsa gce_subnetwork

  • Verifica che il logging sia abilitato per la subnet indicata.
  • I flussi VPC sono supportati solo per le reti VPC. Se hai una rete precedente, non visualizzerai alcun log.
  • Nelle reti VPC condivise, i log vengono visualizzati solo nel progetto host, non nei progetti di servizio. Assicurati di cercare i log nel progetto host.
  • I filtri di esclusione di log bloccano i log specificati. Assicurati che non siano presenti regole di esclusione che scartino i log di flusso VPC:
    1. Vai a Router dei log.
    2. Nel menu Altre azioni per il bucket di log, fai clic su Visualizza dettagli sink.
    3. Assicurati che non siano presenti regole di esclusione che potrebbero eliminare i log di flusso VPC.
  • Utilizza l'API o Google Cloud CLI per determinare se una configurazione di filtro dei log filtra tutto il traffico in una determinata sottorete. Ad esempio, se filterExpr è impostato su false, non vengono visualizzati log.

Nessun valore RTT o in byte in alcuni log

  • Le misurazioni RTT potrebbero non essere presenti se non sono stati campionati pacchetti sufficienti per acquisire RTT. Questo è più probabile che si verifichi per le connessioni a basso volume.
  • I valori RTT sono disponibili solo per i flussi TCP registrati dalle VM.
  • Alcuni pacchetti vengono inviati senza payload. Se sono stati campionati pacchetti solo con intestazione, il valore in byte sarà 0.

Mancano alcuni flussi

  • I pacchetti in entrata vengono campionati dopo le regole firewall VPC in entrata. Assicurati che non siano presenti regole firewall in entrata che neghino i pacchetti che prevedi di registrare. Se non sai con certezza se le regole firewall VPC stanno bloccando i pacchetti in entrata, puoi attivare il logging delle regole firewall e ispezionare i log.
  • Sono supportati solo i protocolli TCP, UDP, ICMP, ESP e GRE. Log di flusso VPC non supporta altri protocolli.
  • I log vengono campionati. Alcuni pacchetti in flussi con volume molto ridotto potrebbero non essere rilevati.

Annotazioni GKE mancanti in alcuni log

Assicurati che il tuo cluster GKE sia una versione supportata.

Log mancanti per alcuni flussi GKE

Assicurati che la visibilità intranodo sia attivata nel cluster. In caso contrario, i flussi tra i pod sullo stesso nodo non vengono registrati.

Passaggi successivi