Informazioni sui record dei log di flusso VPC
Questa pagina descrive il formato dei record dei log di flusso VPC, inclusi i campi di base e dei metadati disponibili. Inoltre, spiega come utilizzare il filtro dei log in modo che vengano generati solo i log che soddisfano determinati criteri.
Formato del record
I record di log contengono campi di base, che sono i campi principali di ogni record di log, e campi di metadati che aggiungono informazioni aggiuntive. I campi dei metadati possono essere omessi per risparmiare sui costi di archiviazione.
Alcuni campi di log sono in formato multi-campo, con più di un dato in un determinato campo. Ad esempio, il campo connection è in formato IpConnection, che contiene l'indirizzo IP e la porta di origine e di destinazione, oltre al protocollo, in un unico campo. Questi campi multi-campo sono descritti sotto la tabella dei formati del record.
I valori dei campi dei metadati non si basano sul percorso del piano dati; sono approssimazioni e potrebbero essere mancanti o errati. A differenza dei campi dei metadati, i valori dei campi di base vengono presi direttamente dalle intestazioni dei pacchetti.
| Campo | Formato campo | Tipo di campo: metadati di base o facoltativi |
|---|---|---|
| connessione |
IpConnection
Dettagli della connessione che descrivono il flusso, tra cui la tupla di 5 elementi e l'indirizzo IP NAT, se applicabile |
Livelli |
| Wazer che fa la segnalazione |
string
Il lato che ha segnalato il flusso:
|
Livelli |
| connection_direction |
string
Direzione della connessione TCP rispetto al reporter. Compilato per VM ed endpoint serverless quando il logging delle connessioni TCP è abilitato e viene osservato un pacchetto Può corrispondere a uno dei seguenti:
|
Livelli |
| round_trip_time |
Latenze
RTT in millisecondi con precisione inferiore al millisecondo misurata durante l'intervallo di aggregazione. Questo campo viene compilato per il traffico TCP (per VM ed endpoint serverless) e Falcon:
Non compilato:
|
Livelli |
| rtt_msec |
int64
Tempo di round trip (RTT) in millisecondi misurato durante l'intervallo di aggregazione. Questo campo viene compilato come segue:
L'RTT misurato è il tempo trascorso tra l'invio di un SEQ e la ricezione di un ACK corrispondente. |
Livelli |
| bytes_sent |
int64
Numero stimato di byte del payload utente inviati dall'origine alla destinazione.1 Per i pacchetti senza payload utente, il valore è zero.2 Non compilato per il traffico ignorato ( disposition=DROPPED)
o quando
il logging delle connessioni TCP
registra un evento di connessione senza pacchetti di dati campionati.
|
Livelli |
| packets_sent |
int64
Numero stimato di pacchetti inviati dall'origine alla destinazione.1 Non compilato per il traffico eliminato ( disposition=DROPPED) o quando
il logging delle connessioni TCP
registra un evento di connessione senza pacchetti di dati campionati.
|
Livelli |
| start_time |
string
Timestamp (nel formato di stringa per la data RFC 3339) del primo pacchetto osservato durante l'intervallo di tempo aggregato. |
Livelli |
| end_time |
string
Timestamp (nel formato di stringa per la data RFC 3339) dell'ultimo pacchetto osservato durante l'intervallo di tempo aggregato. |
Livelli |
| disposizione |
string
Compilato solo per i record di log che acquisiscono i pacchetti eliminati. Questo campo è impostato su DROPPED.
|
Livelli |
| drop_reason |
string
Compilato solo per i record di log con disposition=DROPPED.
Per saperne di più, consulta Annotazioni relative alla perdita di pacchetti e Motivi della perdita di pacchetti.
|
Livelli |
| bytes_dropped |
int64
Numero stimato di byte del payload utente eliminati dall'origine alla destinazione. Compilato solo per i record di log con disposition=DROPPED.
|
Livelli |
| packets_dropped |
int64
Numero stimato di pacchetti persi dall'origine alla destinazione. Compilato solo per i record di log con disposition=DROPPED.
|
Livelli |
| throughput_inclusion |
string
Compilato solo per i record di log con disposition=DROPPED.
Indica se il traffico eliminato è incluso (INCLUDED) o escluso (EXCLUDED) dai campi bytes_sent e packets_sent segnalati per il flusso dallo stesso reporter.
|
Livelli |
| Campi dei metadati di origine e destinazione | ||
| src_gateway |
GatewayDetails
Se l'origine del flusso è un endpoint on-premise o un altro endpoint cloud connesso a Google Cloud tramite un gateway come un collegamento VLAN per Cloud Interconnect o un tunnel Cloud VPN e viene soddisfatta una delle seguenti condizioni, questo campo viene compilato con i dettagli del gateway:
|
Metadati |
| dest_gateway |
GatewayDetails
Se la destinazione del flusso è un endpoint on-premise o un altro endpoint cloud connesso a Google Cloud tramite un gateway come un collegamento VLAN per Cloud Interconnect o un tunnel Cloud VPN e viene soddisfatta una delle seguenti condizioni, questo campo viene compilato con i dettagli del gateway:
|
Metadati |
| src_gke_details |
GkeDetails
Se l'origine del flusso è un endpoint Google Kubernetes Engine (GKE), questo campo viene compilato con i dettagli dell'endpoint GKE. |
Metadati |
| dest_gke_details |
GkeDetails
Se la destinazione del flusso è un endpoint GKE, questo campo viene compilato con i dettagli dell'endpoint GKE. |
Metadati |
| src_google_service |
GoogleServiceDetails
Se l'origine del flusso è un servizio Google, questo campo viene compilato con i dettagli del servizio. |
Metadati |
| dest_google_service |
GoogleServiceDetails
Se la destinazione del flusso è un servizio Google, questo campo viene compilato con i dettagli del servizio. |
Metadati |
| src_instance |
InstanceDetails
Se l'origine del flusso è una VM situata in una rete VPC e viene soddisfatta una delle seguenti condizioni, questo campo viene compilato con i dettagli dell'istanza VM:
|
Metadati |
| dest_instance |
InstanceDetails
Se la destinazione del flusso è una VM situata in una rete VPC e viene soddisfatta una delle seguenti condizioni, questo campo viene compilato con i dettagli dell'istanza VM.
|
Metadati |
| src_location |
GeographicDetails
Se l'origine del flusso è un indirizzo IP pubblico esterno alla rete VPC, questo campo viene compilato con i metadati sulla posizione disponibili. |
Metadati |
| dest_location |
GeographicDetails
Se la destinazione del flusso è un indirizzo IP pubblico esterno alla rete VPC, questo campo viene compilato con i metadati sulla posizione disponibili. |
Metadati |
| src_serverless_details |
ServerlessDetails
Se l'origine del flusso è un endpoint serverless, ad esempio una risorsa Cloud Run o App Engine configurata con il traffico VPC diretto in uscita, questo campo viene compilato con i metadati serverless. |
Metadati |
| dest_serverless_details |
ServerlessDetails
Se la destinazione del flusso è un endpoint serverless, ad esempio una risorsa Cloud Run o App Engine configurata con il traffico VPC diretto in uscita, questo campo viene compilato con i metadati serverless. |
Metadati |
| src_psc_interface |
PrivateServiceConnectInterfaceDetails
Se l'origine del flusso è un'interfaccia Private Service Connect, questo campo viene compilato con i dettagli dell'interfaccia Private Service Connect e viene segnalato nel progetto consumer sia dall'origine sia dalla destinazione. |
Metadati |
| dest_psc_interface |
PrivateServiceConnectInterfaceDetails
Se la destinazione del flusso è un'interfaccia Private Service Connect, questo campo viene compilato con i dettagli dell'interfaccia Private Service Connect e viene segnalato nel progetto consumer sia dall'origine sia dalla destinazione. |
Metadati |
| src_vpc |
VpcDetails
Se l'origine del flusso è una VM o un endpoint serverless situato in una rete VPC e viene soddisfatta una delle seguenti condizioni, questo campo viene compilato con i dettagli della rete VPC:
|
Metadati |
| dest_vpc |
VpcDetails
Se la destinazione del flusso è una VM o un endpoint serverless situato in una rete VPC e viene soddisfatta una delle seguenti condizioni, questo campo viene compilato con i dettagli della rete VPC:
|
Metadati |
| Altri campi dei metadati | ||
| internet_routing_details |
InternetRoutingDetails
Se il flusso è tra Google Cloud e internet, questo campo viene compilato con i dettagli di routing. Disponibile solo per i flussi in uscita. |
Metadati |
| load_balancing |
LoadBalancingDetails
Se il flusso passa attraverso un bilanciatore del carico in una delle seguenti configurazioni, questo campo viene compilato con i dettagli di Cloud Load Balancing:
|
Metadati |
| nat_gateway_details |
NatGatewayDetails
Se l'entità che segnala il flusso è SRC in una subnet
in cui un gateway Cloud NAT esegue la Network Address Translation, questo
campo viene compilato con i dettagli del gateway Cloud NAT.
|
Metadati |
| network_service |
NetworkServiceDetails
Se l'intestazione DSCP (Differentiated Services Code Point) è impostata, questo campo viene compilato con i dettagli del servizio di rete. |
Metadati |
| psc |
PrivateServiceConnectDetails
Se il flusso è associato a una connessione Private Service Connect, inclusa una connessione propagata tramite Network Connectivity Center, e se viene soddisfatta una delle seguenti condizioni, questo campo viene compilato con i dettagli di Private Service Connect:
|
Metadati |
| rdma_traffic_type |
string
Tipo di traffico RDMA. Compilato per il traffico da GPU a GPU tra VM. Può essere GPUDirect-TCPXO, Falcon o
RoCE.
|
Metadati |
- Se la VM di origine è l'entità che genera il report, il valore dei byte segnalati è la somma dei byte del payload utente e dei byte dell'intestazione del pacchetto inviati. Questo valore è sempre maggiore di zero, anche per i pacchetti che non contengono payload utente.
- Se la VM di destinazione è il reporter, il valore dei byte segnalati corrisponde ai byte del payload utente ricevuti e inoltrati al livello di applicazione. Per i pacchetti senza payload utente, il valore dei byte è zero.
Formato del campo GatewayDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| project_id | string | ID progettoGoogle Cloud del gateway |
| località | string | Regione del gateway |
| nome | string | Nome del gateway |
| tipo | string |
Tipo di gateway. Può essere INTERCONNECT_ATTACHMENT o VPN_TUNNEL.
|
| vpc | VpcDetails | Dettagli della rete VPC del gateway |
| interconnect_name | string |
Se il tipo di gateway è INTERCONNECT_ATTACHMENT, questo campo viene compilato con il nome della connessione Cloud Interconnect su cui è configurato il collegamento VLAN.
|
| interconnect_project_number | int64 |
Se il tipo di gateway è INTERCONNECT_ATTACHMENT, questo campo viene compilato con il numero di progetto Google Cloud della connessione Cloud Interconnect su cui è configurato il collegamento VLAN.
|
Formato del campo GeographicDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| asn | int32 | L'ASN della rete esterna a cui appartiene questo endpoint |
| city | string | Città per gli endpoint esterni |
| continent | string | Continente per gli endpoint esterni |
| country | string | Paese per gli endpoint esterni, rappresentato come codici paese ISO 3166-1 Alpha-3 |
| regione | string | Regione per gli endpoint esterni |
Formato del campo GkeDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| cluster | ClusterDetails | Metadati del cluster GKE |
| pod | PodDetails | Metadati del pod GKE, compilati quando l'origine o la destinazione del traffico è un pod |
| servizio | ServiceDetails |
Metadati del servizio GKE, compilati solo negli endpoint del servizio. Il record contiene fino a due servizi. Se sono presenti più di due servizi pertinenti, questo campo contiene un singolo servizio con un indicatore MANY_SERVICES speciale.
|
Formato del campo ClusterDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| cluster_location | string | Località del cluster. Può essere una zona o una regione, a seconda che il cluster sia a livello di zona o di regione. |
| cluster_name | string | Nome del cluster GKE. |
Formato del campo PodDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| pod_name | string | Nome del pod |
| pod_namespace | string | Spazio dei nomi del pod |
| workload | WorkloadDetails | Metadati sulla risorsa del workload di primo livello che controlla il pod |
Formato del campo WorkloadDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| workload_name | string | Nome del controller del workload di primo livello |
| workload_type | string |
Tipo di controller del workload di primo livello. Può essere DEPLOYMENT, REPLICA_SET, STATEFUL_SET, DAEMON_SET, JOB, CRON_JOB o REPLICATION_CONTROLLER.
|
Formato del campo ServiceDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| service_name | string |
Nome del servizio. Se sono presenti più di due servizi pertinenti, il campo viene impostato su un indicatore MANY_SERVICES speciale.
|
| service_namespace | string | Spazio dei nomi del servizio |
Esempio:
Se sono presenti due servizi, il campo Servizio ha il seguente aspetto:
service: [
0: {
service_name: "my-lb-service"
service_namespace: "default"
}
1: {
service_name: "my-lb-service2"
service_namespace: "default"
}
]
Se sono presenti più di due servizi, il campo Servizio ha il seguente aspetto:
service: [
0: {
service_name: "MANY_SERVICES"
}
]
Formato del campo GoogleServiceDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| tipo | string | Tipo di servizio:
|
| service_name | string | Nome del servizio. Ad esempio, Limitazioni:
|
| Connettività | string | Metodo di accesso. Per il tipo
Per il tipo
|
| private_domain | string | Bundle di API di dominio privato o Private Service Connect. Il campo private_domain può essere uno dei seguenti:
|
Formato del campo InstanceDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| project_id | string | ID del progetto Google Cloud che contiene la risorsa VM |
| regione | string | Regione della VM |
| vm_name | string | Nome istanza della VM |
| zona | string | Zona della VM |
| managed_instance_group | InstanceGroupDetails | Se la VM fa parte di un gruppo di istanze gestite, questo campo viene compilato con i dettagli del gruppo di istanze. |
Formato del campo InstanceGroupDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| nome | string | Nome del gruppo di istanze |
| regione | string | Se il gruppo di istanze è a livello di regione, questo campo viene compilato con la regione del gruppo di istanze. |
| zona | string | Se il gruppo di istanze è a livello di zona, questo campo viene compilato con la zona del gruppo di istanze. |
Formato del campo InternetRoutingDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| egress_as_path | AsPath | Elenco di percorsi AS pertinenti. Se sono disponibili più percorsi AS per il flusso, il campo potrebbe contenere più di un percorso AS. |
Formato del campo AsPath
| Campo | Tipo | Descrizione |
|---|---|---|
| as_details | AsDetails | Elenco dei dettagli AS per tutti i sistemi nel percorso AS. L'elenco inizia dal primo AS esterno alla rete di Google Cloude termina con l'AS a cui appartiene l'indirizzo IP remoto. |
Formato del campo AsDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| asn | uint32 | Il numero di sistema autonomo (ASN) dell'AS |
Formato del campo IpConnection
| Campo | Tipo | Descrizione |
|---|---|---|
| src_ip | string | Indirizzo IP di origine. Compilato per tutti i flussi. |
| dest_ip | string | Indirizzo IP di destinazione. Compilato per tutti i flussi. |
| src_port | int32 | Porta di origine:
|
| dest_port | int32 | Porta di destinazione:
|
| nat_ip | string | Indirizzo IP utilizzato dal gateway Cloud NAT (se configurato). Compilato solo se l'utente che segnala è SRC. |
| nat_port | int32 | Porta assegnata dal gateway Cloud NAT (se configurato). Compilato solo se l'autore della segnalazione è SRC. |
| protocollo | int32 | Il numero di protocollo IANA:
|
Formato campo latenze
| Campo | Tipo | Descrizione |
|---|---|---|
| median_msec | double | La latenza mediana in millisecondi misurata durante l'intervallo di aggregazione. |
Formato del campo LoadBalancingDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| forwarding_rule_project_id | string | ID progettoGoogle Cloud della regola di forwarding |
| Wazer che fa la segnalazione | string | Reporter di Cloud Load Balancing. Può essere CLIENT o BACKEND.
|
| tipo | string | Tipo di bilanciatore del carico. Può essere APPLICATION_LOAD_BALANCER, PROXY_NETWORK_LOAD_BALANCER, PASSTHROUGH_NETWORK_LOAD_BALANCER o PROTOCOL_FORWARDING. |
| schema | string | Schema del bilanciatore del carico. Può essere EXTERNAL_MANAGED,
INTERNAL_MANAGED, EXTERNAL,
INTERNAL o INTERNAL_SELF_MANAGED. |
| url_map_name | string | Nome della mappa URL. Compilato se il tipo di bilanciatore del carico è APPLICATION_LOAD_BALANCER. |
| forwarding_rule_name | string | Nome della regola di forwarding |
| backend_service_name | string | Nome del servizio di backend. Compilato se il reporter è BACKEND e il tipo di bilanciatore del carico è PASSTHROUGH_NETWORK_LOAD_BALANCER. Se il tipo di gruppo di backend è TARGET_POOL, questo campo non viene compilato. |
| backend_service_project_id | string | ID progetto del servizio di backend.
Compilato se il reporter è BACKEND e il tipo di bilanciatore del carico è PASSTHROUGH_NETWORK_LOAD_BALANCER. Se il tipo di gruppo di backend è TARGET_POOL, questo campo non viene compilato. |
| backend_group_name | string | Il nome del gruppo di backend. Compilato se il reporter è BACKEND e il tipo di bilanciatore del carico è PASSTHROUGH_NETWORK_LOAD_BALANCER. |
| backend_group_type | string | Il tipo di gruppo di backend. Può essere INSTANCE_GROUP,
NETWORK_ENDPOINT_GROUP o TARGET_POOL.
Compilato se il reporter è BACKEND e il tipo di bilanciatore del carico è PASSTHROUGH_NETWORK_LOAD_BALANCER. |
| backend_group_location | string | Località del gruppo di backend. Può essere una zona o una regione, a seconda che l'ambito del gruppo di backend sia a livello di zona o di regione.
Compilato se il reporter è BACKEND e il tipo di bilanciatore del carico è PASSTHROUGH_NETWORK_LOAD_BALANCER. Se il tipo di gruppo di backend è TARGET_POOL, questo campo non viene compilato. |
| vpc | VpcDetails | Dettagli della rete VPC del bilanciatore del carico |
Formato del campo NatGatewayDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| gateway_name | string | Nome del gateway Cloud NAT |
| router_name | string | Nome del router Cloud associato al gateway Cloud NAT |
| project_id | string | ID progettoGoogle Cloud del gateway Cloud NAT e del router Cloud |
| regione | string | Regione del gateway Cloud NAT e del router Cloud |
| tipo | string | Tipo di Cloud NAT: PUBLIC o
PRIVATE |
Formato del campo NetworkServiceDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| dscp | int32 | Se nelle intestazioni dei pacchetti è presente un campo Differentiated Services, questo campo viene compilato con il valore DSCP. |
Motivi della perdita di pacchetti
La tabella seguente descrive i valori supportati del campo drop_reason quando vengono segnalati da SRC o SRC_GATEWAY.
| Motivo perdita | Descrizione |
|---|---|
FIREWALL_DENY |
Il traffico in uscita è stato ignorato perché è stata valutata una regola firewall in uscita e la sua azione era Suggerimento: se vuoi consentire questo traffico, modifica le regole firewall. |
NAT_ENDPOINT_INDEPENDENT_CONFLICT |
Il traffico in uscita è stato ignorato perché si è verificato un conflitto di mappatura indipendente dall'endpoint. Raccomandazione: Consultare la seguente documentazione sul Cloud NAT: |
NAT_OUT_OF_CONNECTIONS |
Il traffico in uscita è stato ignorato perché la tabella di monitoraggio della connessione NAT ha raggiunto la capacità massima. Suggerimento: esamina i limiti di connessione NAT per VM e i timeout NAT. |
NAT_OUT_OF_PORTS |
Il traffico in uscita è stato ignorato perché il gateway Cloud NAT ha esaurito le tuple NAT (porte) da assegnare alle VM. Di conseguenza, l'interfaccia di rete della VM non è riuscita a inviare pacchetti utilizzando il gateway. Suggerimento: assicurati che l'indirizzo IP NAT e le allocazioni di porte per VM siano sufficienti. Per saperne di più, consulta Indirizzi IP e porte. |
NO_MATCHING_ROUTE |
Il traffico in uscita è stato ignorato perché non è stata trovata una route corrispondente per la destinazione. Suggerimento: esamina le route nella tua rete VPC utilizzando la sezione Route operative della console Google Cloud . Puoi anche creare ed eseguire Connectivity Tests. |
QUEUE_OVERFLOW |
Il traffico in uscita è stato ignorato perché il software di elaborazione dei pacchetti dell'host ha superato la capacità della CPU. Suggerimento: se le interruzioni sono persistenti, valuta la possibilità di utilizzare VM con larghezza di banda più elevata (Tier_1) o di distribuire il traffico su più VM. |
SPOOFED_SOURCE |
Il traffico in uscita è stato ignorato perché l'origine del pacchetto non era associata all'interfaccia di rete della VM e l'IP forwarding è disattivato. Suggerimento: per inviare pacchetti con origini arbitrarie da un'interfaccia di rete VM a destinazioni instradabili all'interno di una rete VPC, devi abilitare l'IP forwarding per la VM. |
TOO_MANY_CONNECTIONS |
Il traffico in uscita è stato ignorato perché il software di elaborazione dei pacchetti dell'host non è riuscito a gestire la frequenza del flusso. Suggerimento: valuta la possibilità di utilizzare una serie di macchine diversa progettata per un numero maggiore di connessioni o di distribuire il workload su più VM. |
La tabella seguente descrive i valori supportati del campo drop_reason quando vengono segnalati da DEST o DEST_GATEWAY.
| Motivo perdita | Descrizione |
|---|---|
EARLY_DROPS_FULL_FAIR_QUEUE |
Il traffico in entrata è stato eliminato perché il software di elaborazione dei pacchetti dell'host ha applicato l'equità delle risorse. Questo comportamento in genere interessa solo le serie di macchine di 1ª generazione. Consiglio: se i cali sono persistenti, valuta la possibilità di eseguire la migrazione a una serie di macchine più recente o più performante. |
FIREWALL_DENY |
Il traffico in entrata è stato eliminato perché è stata valutata una regola firewall in entrata e la sua azione era Suggerimento: se vuoi consentire questo traffico, modifica le regole firewall. |
INVALID_L4_CHECKSUM_INTERNET |
Il traffico in entrata è stato interrotto perché è stata rilevata una mancata corrispondenza del checksum. I pacchetti sono stati inviati da un'origine esterna alla rete VPC a un indirizzo IP esterno di destinazione associato al reporter della VM. Per saperne di più, consulta Traffico in ingresso a destinazioni esterne a una rete VPC. Suggerimento: se le interruzioni sono persistenti, esamina l'integrità dell'origine o del percorso di rete. |
INVALID_L4_CHECKSUM_INTERNAL |
Il traffico in entrata è stato interrotto perché è stata rilevata una mancata corrispondenza del checksum. I pacchetti sono stati instradati all'interno della rete VPC a un indirizzo IP di destinazione associato al reporter della VM. Per saperne di più, consulta Traffico in ingresso alle destinazioni instradabili all'interno di una rete VPC. Suggerimento: se le interruzioni sono persistenti, esamina l'integrità dell'origine o del percorso di rete. |
PSC_NAT_OUT_OF_CONNECTIONS |
Il traffico in entrata è stato ignorato perché l'endpoint Private Service Connect ha raggiunto il numero massimo di connessioni simultanee per il consumer. Suggerimento: chiedi al consumer di ridurre la frequenza di nuove connessioni a questo endpoint Private Service Connect o di distribuire le connessioni a questo endpoint Private Service Connect utilizzando più VM client. |
PSC_NAT_OUT_OF_PORTS |
Il traffico in entrata da un consumer Private Service Connect è stato ignorato perché si è verificato l'esaurimento delle porte NAT di Private Service Connect. Suggerimento: rivedi il dimensionamento della subnet NAT. |
QUEUE_OVERFLOW |
Il traffico in entrata è stato ignorato perché il software di elaborazione dei pacchetti dell'host ha superato la capacità della CPU. Suggerimento: se le interruzioni sono persistenti, valuta la possibilità di utilizzare VM con larghezza di banda più elevata (Tier_1) o di distribuire il traffico su più VM. |
TOO_MANY_CONNECTIONS |
Il traffico in entrata è stato ignorato perché il software di elaborazione dei pacchetti dell'host non è riuscito a gestire la velocità del flusso. Suggerimento: se la frequenza di flusso elevata è dovuta a un'elevata concorrenza o un elevato turnover delle connessioni a livello di VM, valuta la possibilità di ridurre la frequenza di nuove connessioni alla VM. |
Formato del campo PrivateServiceConnectDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| Wazer che fa la segnalazione | string | Reporter di Private Service Connect.
Può essere CONSUMER o PRODUCER. |
| consumer_connection | IpConnection |
La tupla di 5 elementi pre-NAT che descrive il flusso dal punto di vista del consumer. Compilato se l'autore della segnalazione è PRODUCER.
|
| psc_endpoint | PrivateServiceConnectEndpointDetails | Dettagli endpoint consumer |
| psc_attachment | PrivateServiceConnectAttachmentDetails | Dettagli del collegamento al servizio producer |
Formato del campo PrivateServiceConnectEndpointDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| nome | string |
Nome dell'endpoint Private Service Connect. Compilato solo se target_service_type è PUBLISHED_SERVICE.
|
| project_id | string | Google Cloud ID progetto dell'endpoint. |
| regione | string | Regione dell'endpoint. Non compilato se il tipo di servizio di destinazione è GLOBAL_GOOGLE_APIS. |
| psc_connection_id | string | ID connessione Private Service Connect |
| target_service_type | string | Tipo di servizio di destinazione. Può essere GLOBAL_GOOGLE_APIS o PUBLISHED_SERVICE. |
| vpc | VpcDetails |
Dettagli della rete VPC dell'endpoint.
Se l'utente che segnala è PRODUCER, i campi subnetwork_name e subnetwork_region non vengono compilati.
|
Formato del campo PrivateServiceConnectAttachmentDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| nome | string | Nome del collegamento al servizio |
| project_id | string | ID progettoGoogle Cloud del collegamento al servizio |
| regione | string | Regione del collegamento al servizio |
| vpc | VpcDetails | Dettagli della rete VPC del collegamento al servizio |
Formato del campo PrivateServiceConnectInterfaceDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| network_attachment | NetworkAttachmentDetails | Metadati per il collegamento di rete del consumer |
| producer | ProducerDetails | Metadati del producer che ha avviato la connessione |
Formato del campo NetworkAttachmentDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| nome | string | Nome del collegamento di rete |
| project_id | string | ID progettoGoogle Cloud del collegamento di rete |
| regione | string | Regione del collegamento di rete |
Formato del campo ProducerDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| project_id | string |
ID progetto Google Cloud del producer. Compilato solo se il campo service_class_id non è disponibile.
|
| regione | string | Regione della VM producer |
| service_class_id | string | ID della classe di servizio del produttore (se disponibile) |
| zona | string | Zona della VM producer |
Formato del campo ServerlessDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| project_id | string | ID del progetto Google Cloud che contiene la risorsa Cloud Run o App Engine. In una configurazione del VPC condiviso, l'ID progetto è in genere l'ID del progetto di servizio. |
| regione | string | Regione della risorsa Cloud Run o App Engine |
Il valore sarà uno dei seguenti:
|
Il valore sarà uno dei seguenti: |
Nome della risorsa Cloud Run o App Engine |
Formato del campo CloudRunServiceDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| service_name | string | Nome del servizio Cloud Run |
Formato del campo CloudRunJobDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| job_name | string | Nome del job Cloud Run |
Formato del campo CloudRunWorkerPoolDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| worker_pool_name | string | Nome del pool di worker Cloud Run |
Formato del campo AppEngineServiceDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| service_name | string | Nome del servizio App Engine |
Formato del campo VpcDetails
| Campo | Tipo | Descrizione |
|---|---|---|
| project_id | string | ID del progetto Google Cloud che contiene il VPC. In una configurazione del VPC condiviso, l'ID progetto è l'ID del progetto host. |
| subnetwork_name | string | Nome della subnet, se applicabile |
| subnetwork_region | string | Regione della subnet, se applicabile |
| vpc_name | string | Nome della rete |
Annotazioni dei metadati
I record di log contengono campi di base e campi di metadati. La sezione Formato dei record elenca i campi di tipo metadati e quelli di tipo base. Tutti i campi di base sono sempre inclusi. Puoi personalizzare i campi dei metadati che decidi di mantenere.
Se selezioni tutti i metadati, tutti i campi dei metadati nel formato del record dei log di flusso VPC vengono inclusi nei log di flusso. Quando vengono aggiunti nuovi campi dei metadati al formato del record, i log di flusso includono automaticamente i nuovi campi.
Se non selezioni alcun metadato, tutti i campi dei metadati vengono omessi.
Se selezioni i metadati personalizzati, puoi specificare i campi dei metadati che vuoi includere in base al campo principale, ad esempio
src_vpc, o in base ai loro nomi completi, ad esempiosrc_vpc.project_idQuando vengono aggiunti nuovi campi dei metadati al formato del record, vengono esclusi dai log di flusso, a meno che non si trovino all'interno di un campo principale che hai specificato di includere.
Se specifichi metadati personalizzati utilizzando i campi principali, quando vengono aggiunti nuovi campi dei metadati al formato del record all'interno del campo principale, i log di flusso includeranno automaticamente i nuovi campi.
Se specifichi i metadati personalizzati utilizzando il nome completo del campo, i nuovi campi dei metadati aggiunti al campo principale vengono esclusi dai log di flusso.
Per informazioni su come personalizzare i campi dei metadati, consulta Abilita i log di flusso VPC o Aggiorna la configurazione dei log di flusso VPC.
Annotazioni tra progetti
Se i log di flusso VPC sono abilitati a livello di organizzazione, i flussi tramite VPC condiviso, peering di rete VPC e Network Connectivity Center vengono annotati con annotazioni tra progetti. Le annotazioni tra progetti sono abilitate per impostazione predefinita. Se vuoi, puoi disattivare queste annotazioni.
- Se le annotazioni tra progetti sono abilitate, i record di log per i flussi tra risorse in progetti diversi includono informazioni su entrambi i lati del flusso.
- Se le annotazioni tra progetti sono disabilitate, i record di log includono informazioni solo sul reporter del flusso.
Se i log di flusso VPC sono abilitati a livello di progetto, i flussi tra risorse in progetti diversi non vengono annotati con annotazioni tra progetti.
Annotazioni GKE
I flussi che hanno un endpoint in un cluster GKE possono essere annotati con annotazioni dei metadati GKE, che possono includere dettagli del cluster, del pod e del servizio dell'endpoint.
Annotazioni dei servizi GKE
Il traffico inviato a un ClusterIP, NodePort o LoadBalancer può ricevere annotazioni del servizio. Se inviato a un NodePort o a un LoadBalancer, il flusso riceve l'annotazione del servizio su entrambi gli hop della connessione.
Il traffico inviato direttamente alla porta del servizio di un pod viene annotato con un'annotazione del servizio sull'endpoint di destinazione.
Il traffico inviato alla porta di un servizio di un pod in cui il pod supporta più di un servizio sulla stessa porta del servizio viene annotato con più servizi sull'endpoint di destinazione. Questo è limitato a due servizi. Se sono presenti più di 1000 endpoint, l'endpoint verrà annotato con un indicatore MANY_SERVICES speciale.
Annotazioni dei pod sul traffico internet
Il traffico tra un pod e internet non riceve annotazioni del pod per impostazione predefinita. I log di flusso VPC non possono aggiungere annotazioni dei pod perché, per i pacchetti verso internet, l'agente di mascheramento traduce l'indirizzo IP del pod nell'indirizzo IP del nodo prima che i log di flusso VPC vedano il pacchetto.
A causa del mascheramento, le annotazioni dei pod sono visibili solo se le destinazioni rientrano tra le destinazioni predefinite senza mascheramento o in un elenco nonMasqueradeCIDRs personalizzato.
Se includi destinazioni internet in un elenco nonMasqueradeCIDRs personalizzato, devi fornire un modo per tradurre gli indirizzi IP interni dei pod prima che vengano inviati a internet. Per i cluster privati e non privati, puoi utilizzare Cloud NAT. Per maggiori dettagli, consulta Interazione con GKE.
Record per il traffico eliminato
I log di flusso VPC generano record di log per il traffico ignorato. I record di log per il traffico ignorato vengono generati separatamente dai record di log standard. I pacchetti eliminati vengono aggregati per flusso e motivo dell'eliminazione. All'interno di un intervallo di aggregazione, i pacchetti ignorati per lo stesso motivo vengono consolidati in un unico record di log. Vengono generati record di log separati per ogni motivo univoco per cui i pacchetti vengono ignorati.
Le interruzioni in uscita vengono segnalate dall'origine (SRC o SRC_GATEWAY), mentre quelle in entrata vengono segnalate dalla destinazione (DEST o DEST_GATEWAY). Quando i log di flusso VPC sono abilitati sia per l'origine che per la destinazione, si applica il seguente comportamento:
- Pacchetti in uscita persi. Se si verifica un'interruzione sul lato di origine, vengono generati per l'origine sia un record di log standard sia un record di log che include il motivo dell'interruzione. Non viene generato alcun record di log per la destinazione perché il traffico non è mai stato consegnato alla destinazione.
- Perdite di traffico in entrata. Se si verifica un'interruzione sul lato di destinazione, vengono generati record di log sia per l'origine che per la destinazione. Per l'origine, i log di flusso VPC generano un record di log standard, mentre per la destinazione generano solo un record di log che include il motivo dell'eliminazione.
I record di log per il traffico ignorato includono i campi disposition, drop_reason,
bytes_dropped, packets_dropped e throughput_inclusion.
Per un elenco dei motivi di perdita dei pacchetti monitorati, consulta Motivi di perdita dei pacchetti.
Filtro dei log
Quando abiliti i log di flusso VPC, puoi impostare un filtro basato sia sui campi di base sia su quelli dei metadati che conserva solo i log corrispondenti al filtro. Tutti gli altri log vengono eliminati prima di essere scritti in Logging.
Puoi filtrare in base a qualsiasi sottoinsieme di campi elencati in Formato dei record, ad eccezione dei seguenti campi:
rtt_msecbytes_sentpackets_sentstart_timeend_timebytes_droppedpackets_droppedthroughput_inclusion
Il filtro dei log di flusso VPC utilizza CEL, un linguaggio di espressione incorporato per le espressioni logiche basate sugli attributi. Le espressioni di filtro per i log di flusso VPC hanno un limite di 2048 caratteri. Per saperne di più, consulta Operatori logici CEL supportati.
Per saperne di più sul CEL, consulta l'introduzione al CEL e la definizione del linguaggio. La funzionalità di filtro di generazione supporta un sottoinsieme limitato della sintassi CEL.
Per creare una configurazione dei log di flusso VPC che utilizza il filtro dei log, consulta Abilita i log di flusso VPC. Per configurare il filtro dei log per una configurazione dei log di flusso VPC esistente, consulta Aggiorna la configurazione dei log di flusso VPC. Per esempi di filtri dei log, consulta Esempi di filtri dei log.
Operatori logici CEL supportati
| Espressione | Tipi supportati | Descrizione |
|---|---|---|
| true, false | boolean | Costanti booleane |
x == y x != y |
boolean, int, string | Operatori di confronto Esempio: connection.protocol == 6 |
x && y x || y |
boolean | Operatori logici booleani Esempio: connection.protocol == 6 && src_instance.vm_name == "vm_1" |
| !x | boolean | Negazione |
| 1, 2.0, 0, … | int | Valori letterali numerici costanti |
| x + y | string | Concatenazione di stringhe |
| "foo", 'foo'… | string | Valore letterale stringa costante |
| x.lower() | string | Restituisce il valore in minuscolo della stringa |
| x.upper() | string | Restituisce il valore in maiuscolo della stringa |
| x.contains(y) | string | Restituisce true se la stringa contiene la sottostringa specificata |
| x.startsWith(y) | string | Restituisce true se la stringa inizia con la sottostringa specificata |
| x.endsWith(y) | string | Restituisce true se la stringa termina con la sottostringa specificata |
| inIpRange(X, Y) | string | Restituisce true se X è un IP e Y è un intervallo IP che contiene X Esempio: inIpRange("1.2.3.1", "1.2.3.0/24") |
| x.containsFieldValue(y) |
x: list y: map(string, string) |
Restituisce true se l'elenco contiene un oggetto con campi che corrispondono alle coppie chiave-valore specificate Esempio: dest_gke_details.service.containsFieldValue({'service_name': 'service1', 'service_namespace': 'namespace1'}) |
| has(x) | string | Restituisce true se il campo è presente. |
Etichette App Hub
Per le risorse Google Cloud registrate come workload o servizi App Hub, i record di log contengono etichette specifiche dell'applicazione. I log di flusso VPC includono queste etichette per il traffico associato alle seguenti risorse:
- Gruppi di istanze gestite di Compute Engine
- Pod GKE (tipi di workload
CRON_JOB,DAEMON_SET,DEPLOYMENTeSTATEFUL_SET) - Servizi e job Cloud Run configurati con il traffico VPC diretto in uscita
- Regole di forwarding
Le etichette App Hub sono associate al massimo a una risorsa di origine e a una risorsa di destinazione per record di log, se applicabile. Per le regole di forwarding, i campi CLIENT e BACKEND determinano se la regola di forwarding è la risorsa di origine o di destinazione.
Le etichette di App Hub sono diverse dalle annotazioni dei metadati dei log di flusso VPC; le impostazioni di filtro dei metadati e dei log di flusso VPC non sono applicabili a queste etichette.