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
)
Nella console Google Cloud , vai alla pagina Esplora log.
Fai clic su Tutte le risorse.
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
)
Nella console Google Cloud , 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.
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.
Nella console Google Cloud , 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, 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.
Nella console Google Cloud , vai alla pagina Esplora log.
Fai clic su Tutte le risorse.
Nell'elenco Seleziona risorsa, fai clic su Subnet.
Nell'elenco ID subnet, seleziona la subnet e poi fai clic su Applica.
Fai clic su Tutti i nomi dei log.
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.
Nella console Google Cloud , 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:
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 VPNPROJECT_NUMBER
: il numero di progetto del tunnel Cloud VPNREGION
: la regione del tunnel Cloud VPNNAME
: 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, sostituendoPROJECT_ID
con il tuo ID progetto Google Cloud 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 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.
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
elabels.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 progettoCONFIG_NAME
: il nome della configurazione dei log di flusso VPCSUBNET_NAME
: il nome della subnet.VM_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 VPCPORT_1
ePORT_2
: le porte di destinazionePROTOCOL
: il protocollo di comunicazionePROJECT_NUMBER
: il numero di progetto del tunnel Cloud VPNREGION
: la regione del collegamento VLAN o del tunnel Cloud VPNNAME
: 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:
- Vai a Router dei log.
- Nel menu Altre azioni per il bucket di logging, fai clic su Visualizza dettagli sink.
- 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 sufalse
, 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
elog_name
. - Per filtrare i log in base alla configurazione e al nome della risorsa di destinazione, specifica i campi
resource.labels.name
elabels.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
- Visualizza la documentazione di Logging
- Visualizza la documentazione relativa ai sink di Logging.
- Analizza i log di flusso in Flow Analyzer