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 log
networkmanagement.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
)
Nella Google Cloud console, vai alla pagina Esplora log.
Fai clic su Tutte le risorse.
Nell'elenco Seleziona risorsa, fai clic su Subnet e poi su Applica.
Fai clic su Tutti i nomi dei log.
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
)
Nella Google Cloud console, vai alla pagina Esplora log.
Fai clic su Tutte le risorse.
Nell'elenco Seleziona risorsa, fai clic su Subnet.
Nell'elenco ID sottorete, seleziona la sottorete e poi fai clic su Applica.
Fai clic su Tutti i nomi dei log.
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
)
Nella Google Cloud console, vai alla pagina Esplora log.
Fai clic su Tutte le risorse.
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
)
Nella Google Cloud console, vai alla pagina Esplora log.
Fai clic su Tutte le risorse.
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.
Fai clic su Applica.
Filtrare i log di flusso utilizzando le query
Nella Google Cloud console, vai alla pagina Esplora log.
Se non vedi il campo dell'editor di query nel riquadro Query, fai clic sul pulsante di attivazione/disattivazione Mostra query.
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 progettoREGION
: la regione del tunnel Cloud VPNNAME
: 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.
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 progettoSUBNET_NAME
: il nome della subnetVM_NAME
: il nome della VMSUBNET_RANGE
: un intervallo CIDR, ad esempio192.168.1.0/24
CLUSTER_NAME
: il nome del cluster GKEVPC_NAME
: il nome della rete VPCPORT1
ePORT2
: le porte di destinazionePROTOCOL
: il protocollo di comunicazioneCONFIG_NAME
: il nome della configurazione dei log di flusso VPCREGION
: la regione del collegamento VLAN o del tunnel Cloud VPNNAME
: 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:
- Vai a Router dei log.
- Nel menu Altre azioni per il bucket di log, fai clic su Visualizza dettagli sink.
- 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 sufalse
, 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
- Visualizza la documentazione di Logging
- Visualizza la documentazione relativa ai destinatari di log
- Analizza i log di flusso in Flow Analyzer