Accedere ai log di flusso

Questa pagina descrive come accedere ai log di flusso utilizzando Cloud Logging.

Accedere ai log di flusso in Esplora log

I log di flusso VPC scrivono i log nel progetto del reporter dei log. Google Cloud 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 networkmanagement.googleapis.com/vpc_flows raccoglie le voci di log per le reti Virtual Private Cloud (VPC), le subnet, i collegamenti VLAN per Cloud Interconnect e i tunnel Cloud VPN.
  • Il log compute.googleapis.com/vpc_flows raccoglie le voci di log per le subnet. Questo log viene generato solo se hai abilitato i log di flusso VPC per le subnet utilizzando l'API Compute Engine.

Configura IAM

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

Visualizzare i log di flusso utilizzando i filtri delle risorse

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

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

  1. Nella console Google Cloud , 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 log di flusso VPC e poi su Applica.

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

  1. Nella console Google Cloud , 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.

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

Segui questi passaggi se hai abilitato i log di flusso VPC utilizzando l'API Compute Engine.

  1. Nella console Google Cloud , 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, trova 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)

Segui questi passaggi se hai abilitato i log di flusso VPC utilizzando l'API Compute Engine.

  1. Nella console Google Cloud , 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 subnet, seleziona la subnet e poi fai clic su Applica.

  5. Fai clic su Tutti i nomi dei log.

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

Filtrare i log di flusso utilizzando le query

Per visualizzare i log di flusso in un progetto Google Cloud utilizzando le query di Esplora log, procedi nel seguente modo.

  1. Nella console Google Cloud , 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:

    • 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_NUMBER/regions/REGION/vpnTunnels/NAME"
      

      Sostituisci quanto segue:

      • PROJECT_ID: l'ID progetto Google Cloud del tunnel Cloud VPN
      • PROJECT_NUMBER: il numero di progetto del tunnel Cloud VPN
      • REGION: la regione del tunnel Cloud VPN
      • NAME: il nome del tunnel Cloud VPN
    • Se hai abilitato i log di flusso VPC per una subnet utilizzando l'API Compute Engine, la query deve avere come target compute.googleapis.com. Ad esempio, inserisci la seguente query, sostituendo PROJECT_ID con il tuo ID progetto Google Cloud e SUBNET_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 altri esempi di query che puoi eseguire per visualizzare i log di flusso, vedi 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

Questa sezione fornisce esempi di query di Esplora log che puoi eseguire per visualizzare i log di flusso. Includi le seguenti informazioni in tutte le query:

  • Specifica il tipo di risorsa e il nome del log che vuoi interrogare, come descritto nella tabella seguente. Puoi eseguire query su entrambi i log in una singola query.

    Log Tipo di risorsa e nome del log
    networkmanagement.googleapis.com/vpc_flows

    Raccoglie i log per le configurazioni gestite dall'API Network Management.

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

    Raccoglie i log per le configurazioni gestite dall'API Compute Engine.

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

    Sostituisci PROJECT_ID con l'ID progetto Google Cloud della risorsa di reporting.

  • Se utilizzi più configurazioni dei log di flusso VPC per risorsa, specifica il nome della configurazione che vuoi interrogare e la risorsa di destinazione aggiungendo i campi resource.labels.name e labels.target_resource_name alla query. In questo modo, i log duplicati vengono esclusi dai risultati della query. Per saperne di più, consulta la sezione Log duplicati.

    • resource.labels.name è il nome della configurazione. Puoi specificare più configurazioni per query.
    • labels.target_resource_name è il nome della rete VPC, della subnet, del collegamento VLAN o del tunnel Cloud VPN di reporting. Le configurazioni per le organizzazioni non impostano una risorsa di destinazione.
    • Questi campi sono disponibili solo nel log networkmanagement.googleapis.com/vpc_flows.

Consulta la tabella seguente per esempi di query di Esplora log che puoi utilizzare per visualizzare i log di flusso.

Log che vuoi visualizzare Query
Tutti i log di flusso
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")
Log per una configurazione specifica
resource.type="vpc_flow_logs_config"
logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows"
resource.labels.name="CONFIG_NAME"
Log per le istanze VM in una rete VPC specifica
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")
Log per le istanze VM in una subnet specifica
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")
Log per un'istanza VM specifica
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")
Log per un cluster Google Kubernetes Engine specifico
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")
Log solo per il traffico VM in uscita da una subnet
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:*)
Log solo per il traffico VM in uscita da una rete VPC
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:*)
Log per il traffico verso un intervallo di subnet specifico
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")
Log per una singola porta di destinazione
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
Log per più porte di destinazione
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
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_NUMBER/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
  • CONFIG_NAME: il nome della configurazione dei log di flusso VPC
  • 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
  • PORT_1 e PORT_2: le porte di destinazione
  • PROTOCOL: il protocollo di comunicazione
  • PROJECT_NUMBER: il numero di progetto del tunnel Cloud VPN
  • REGION: la regione del collegamento VLAN o del tunnel Cloud VPN
  • NAME: il nome del tunnel Cloud VPN

Esegui il routing dei log a BigQuery, Pub/Sub e target personalizzati

Puoi eseguire il routing dei log di flusso da Logging a una destinazione a tua scelta, come descritto nella Panoramica del routing e dell'archiviazione nella documentazione di Logging. Per esempi di filtri, consulta la sezione precedente.

Risoluzione dei problemi

Nessun vpc_flows viene visualizzato in Logging per la risorsa gce_subnetwork

  • Verifica che la registrazione sia abilitata per la subnet specificata.
  • I flussi VPC sono supportati solo per le reti VPC. Se hai una rete legacy, non vedi alcun log.
  • Nelle reti VPC condiviso, 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 del logging bloccano i log specificati. Assicurati che non esistano regole di esclusione che ignorino i log di flusso VPC:
    1. Vai a Router dei log.
    2. Nel menu Altre azioni per il bucket di logging, fai clic su Visualizza dettagli sink.
    3. Assicurati che non esistano regole di esclusione che potrebbero eliminare i log di flusso VPC.
  • Utilizza Google Cloud CLI o l'API per determinare se una configurazione di filtro dei log sta filtrando tutto il traffico in una determinata subnet. Ad esempio, se filterExpr è impostato su false, non vengono visualizzati log.

Nessun valore RTT o byte in alcuni log

  • Le misurazioni RTT potrebbero non essere disponibili se non sono stati campionati pacchetti sufficienti per acquisire l'RTT. Ciò è più probabile che si verifichi per le connessioni a basso volume.
  • I valori RTT sono disponibili solo per i flussi TCP segnalati dalle VM.
  • Alcuni pacchetti vengono inviati senza payload. Se vengono campionati pacchetti solo di intestazione, il valore dei byte è in genere zero. Per saperne di più, vedi Formato del record.

Mancano alcuni flussi

  • I pacchetti in entrata vengono campionati dopo le regole firewall VPC in entrata. Assicurati che non ci siano regole firewall in entrata che negano i pacchetti che prevedi di registrare. Se non sai se le regole firewall VPC bloccano i pacchetti in entrata, puoi attivare il logging delle regole firewall e controllare 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 nei flussi a volume molto basso potrebbero essere persi.

Annotazioni GKE mancanti in alcuni log

Assicurati che il cluster GKE sia una versione supportata.

Log mancanti per alcuni flussi GKE

Assicurati che l'opzione Visibilità interna al nodo sia abilitata nel cluster. In caso contrario, i flussi tra i pod sullo stesso nodo non vengono registrati.

Log duplicati

Ogni configurazione dei log di flusso VPC genera un insieme separato di log. Se le informazioni di logging contengono log duplicati, verifica se la risorsa di reporting è associata a più di una configurazione.

Una risorsa è associata a più di una configurazione se crei più configurazioni per risorsa o se crei più configurazioni e i relativi ambiti si sovrappongono come descritto nel seguente elenco:

  • I log di flusso VPC sono configurati per l'organizzazione e hai configurazioni aggiuntive per l'organizzazione o reti VPC, subnet, collegamenti VLAN o tunnel Cloud VPN in uno qualsiasi dei progetti dell'organizzazione.

    Per impostazione predefinita, una configurazione dei log di flusso VPC per un'organizzazione genera log per tutte le istanze VM in tutte le subnet, tutti i collegamenti VLAN e tutti i tunnel Cloud VPN nell'organizzazione. Se crei configurazioni aggiuntive, ognuna genera il proprio insieme di log.

  • I log di flusso VPC sono configurati per una rete VPC e hai configurazioni aggiuntive per subnet, collegamenti VLAN o tunnel Cloud VPN nella stessa rete.

    Per impostazione predefinita, una configurazione dei log di flusso VPC per una rete VPC genera log per tutte le istanze VM in tutte le subnet, tutti i collegamenti VLAN e tutti i tunnel Cloud VPN nella rete. Se crei configurazioni aggiuntive, ognuna genera il proprio insieme di log.

  • I log di flusso VPC sono configurati per una subnet tramite l'API Network Management e l'API Compute Engine. Sia la configurazione dei log di flusso VPC gestita dall'API Compute Engine per la subnet sia ogni configurazione applicabile che crei utilizzando l'API Network Management per generare log.

Per ulteriori informazioni sulle risorse registrate da ogni ambito di configurazione dei log di flusso VPC, consulta Configurazioni supportate. Per visualizzare le configurazioni dei log di flusso VPC, consulta Visualizzare le configurazioni dei log di flusso VPC (tutte).

Per filtrare i log duplicati durante la visualizzazione, puoi utilizzare i seguenti campi:

  • Per filtrare i log in base al nome, specifica i campi resource_type e log_name.
  • Per filtrare i log in base alla configurazione e al nome della risorsa di destinazione, specifica i campi resource.labels.name e labels.target_resource_name.

Per ulteriori informazioni su questi campi e su come utilizzarli, vedi Esempi di query di Esplora log per i log di flusso VPC.

Passaggi successivi