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. Spiega anche come utilizzare il filtro dei log in modo che vengano generati solo i log che corrispondono a 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 è nel formato IpConnection, che contiene l'indirizzo IP e la porta di origine e di destinazione, oltre al protocollo, in un unico campo. Questi campi con più campi sono descritti sotto la tabella del formato del record.

I valori dei campi dei metadati non si basano sul percorso del data plane; 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 del campo Tipo di campo: metadati di base o facoltativi
connessione IpConnection
Tupla a 5 elementi che descrive il flusso.
Livelli
reporter string
Il lato che ha segnalato il flusso. Può essere SRC, DEST, SRC_GATEWAY o DEST_GATEWAY.
Livelli
rtt_msec int64
Latenza misurata durante l'intervallo di tempo. Questo campo viene compilato nel seguente modo:
  • Compilato per il traffico TCP segnalato dalle VM.
  • Non compilato per i collegamenti VLAN e i tunnel Cloud VPN.

La latenza misurata è il tempo trascorso tra l'invio di un SEQ e la ricezione di un ACK corrispondente. Il risultato della latenza è la somma dell'RTT di rete e di qualsiasi tempo consumato dall'applicazione.

Livelli
bytes_sent int64
Quantità di byte inviati dall'origine alla destinazione.
Livelli
packets_sent int64
Numero di pacchetti inviati dall'origine alla destinazione.
Livelli
start_time stringa
Timestamp (nel formato di stringa per la data RFC 3339) del primo pacchetto osservato durante l'intervallo di tempo aggregato.
Livelli
end_time stringa
Timestamp (nel formato di stringa per la data RFC 3339) dell'ultimo pacchetto osservato durante l'intervallo di tempo aggregato.
Livelli
Campi dei metadati di origine e destinazione
src_gateway GatewayDetails
Se l'origine del flusso è un endpoint on-premise o di un altro cloud connesso a Trusted Cloud by S3NS tramite un gateway come un collegamento VLAN per Cloud Interconnect o un tunnel Cloud VPN e si verifica una delle seguenti condizioni, questo campo viene compilato con i dettagli del gateway:
  • Il gateway di origine è il reporter del flusso.
  • La destinazione del flusso è il reporter e si verifica una delle seguenti condizioni:
    • Il gateway di origine si trova nello stesso progetto della destinazione del flusso.
    • I log di flusso VPC sono configurati a livello di organizzazione e le annotazioni tra progetti non sono disattivate.1
Metadati
dest_gateway GatewayDetails
Se la destinazione del flusso è un endpoint on-premise o di un altro cloud connesso a Trusted Cloud tramite un gateway come un collegamento VLAN per Cloud Interconnect o un tunnel Cloud VPN e si verifica una delle seguenti condizioni, questo campo viene compilato con i dettagli del gateway:
  • Il gateway di destinazione è il reporter del flusso.
  • L'origine del flusso è il reporter e una delle seguenti condizioni è vera:
    • Il gateway di destinazione si trova nello stesso progetto dell'origine del flusso.
    • I log di flusso VPC sono configurati a livello di organizzazione e le annotazioni tra progetti non sono disattivate.1
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:
  • La VM di origine è il reporter del flusso.
  • La destinazione del flusso è il reporter e si verifica una delle seguenti condizioni:
    • La VM di origine o la rete VPC a cui è collegata la VM di origine si trova nello stesso progetto della destinazione del flusso.
    • I log di flusso VPC sono configurati a livello di organizzazione e le annotazioni tra progetti non sono disattivate.1
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.
  • La VM di destinazione è il reporter del flusso.
  • L'origine del flusso è il reporter e una delle seguenti condizioni è vera:
    • La VM di destinazione o la rete VPC a cui è collegata la VM di destinazione si trova nello stesso progetto dell'origine del flusso.
    • I log di flusso VPC sono configurati a livello di organizzazione e le annotazioni tra progetti non sono disattivate.1
Metadati
src_location GeographicDetails
Se l'origine del flusso è un indirizzo IP pubblico al di fuori della rete VPC, questo campo viene compilato con i metadati di località disponibili.
Metadati
dest_location GeographicDetails
Se la destinazione del flusso è un indirizzo IP pubblico al di fuori della rete VPC, questo campo viene compilato con i metadati di località disponibili.
Metadati
src_vpc VpcDetails
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 della rete VPC:
  • La VM di origine è il reporter del flusso.
  • La destinazione del flusso è il segnalatore e si verifica una delle seguenti condizioni:
    • La VM di origine o la rete VPC a cui è collegata la VM di origine si trova nello stesso progetto della destinazione del flusso.
    • I log di flusso VPC sono configurati a livello di organizzazione e le annotazioni tra progetti non sono disattivate.1
Metadati
dest_vpc VpcDetails
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 della rete VPC:
  • La VM di destinazione è il reporter del flusso.
  • L'origine del flusso è il segnalatore e si verifica una delle seguenti condizioni:
    • La VM di destinazione o la rete VPC a cui è collegata la VM di destinazione si trova nello stesso progetto dell'origine del flusso.
    • I log di flusso VPC sono configurati a livello di organizzazione e le annotazioni tra progetti non sono disattivate.1
Metadati
Altri campi dei metadati
internet_routing_details InternetRoutingDetails
Se il flusso è tra Trusted Cloud e internet, questo campo viene compilato con i dettagli di routing. Disponibile solo per i flussi di 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:
  • Il reporter del flusso è il client del bilanciatore del carico e il tipo di bilanciatore del carico è APPLICATION_LOAD_BALANCER, PROXY_NETWORK_LOAD_BALANCER, PASSTHROUGH_NETWORK_LOAD_BALANCER o PROTOCOL_FORWARDING.
  • Il reporter del flusso è il backend del bilanciatore del carico e il tipo di bilanciatore del carico è PASSTHROUGH_NETWORK_LOAD_BALANCER o PROTOCOL_FORWARDING.
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 passa attraverso Private Service Connect in una delle seguenti configurazioni, questo campo viene compilato con i dettagli di Private Service Connect:
  • Il reporter del traffico Private Service Connect è un consumer e utilizza un endpoint Private Service Connect che ha come target un servizio pubblicato o le API di Google globali.
  • Il reporter del traffico Private Service Connect è un producer e utilizza un bilanciatore del carico di rete passthrough interno o il forwarding del protocollo interno.
Metadati
rdma_traffic_type string
Questo campo viene compilato per il traffico RDMA segnalato dalle VM A3 Mega. Il tipo è impostato su GPUDirect-TCPXO.
Metadati
1 Se i log di flusso VPC sono configurati a livello di organizzazione, per impostazione predefinita, i record di log per i flussi tra progetti includono dettagli su entrambi i lati del flusso. Le annotazioni tra progetti sono disponibili per i flussi tramite VPC condiviso, peering di rete VPC e Network Connectivity Center. Per saperne di più, consulta la sezione Annotazioni tra progetti.

Formato campo IpConnection

Campo Tipo Descrizione
protocollo int32 Il numero di protocollo IANA (non compilato per il traffico RDMA)
src_ip string Indirizzo IP di origine
dest_ip string Indirizzo IP di destinazione
src_port int32 Porta di origine (compilata per il traffico TCP e UDP)
dest_port int32 Porta di destinazione (compilata per il traffico TCP e UDP)

Formato del campo GatewayDetails

Campo Tipo Descrizione
project_id string Trusted Cloud ID progetto 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 Trusted Cloud della connessione Cloud Interconnect su cui è configurato il collegamento VLAN.

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 di servizio. Il record contiene fino a due servizi. Se sono presenti più di due servizi pertinenti, questo campo contiene un singolo servizio con un marcatore MANY_SERVICES speciale.

Formato del campo ClusterDetails

Campo Tipo Descrizione
cluster_location string La posizione del cluster. Può essere una zona o una regione a seconda che il cluster sia zonale o regionale.
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
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 è impostato su un marcatore speciale MANY_SERVICES.
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

Il tipo di servizio, GOOGLE_API o GOOGLE_VPC_HOSTED_SERVICE:

service_name string

Nome del servizio. Ad esempio, pubsub.googleapis.com.

Limitazioni:

  • Il nome del servizio potrebbe mancare per le richieste alle API di Google che richiedono più di 60 secondi per essere completate.
  • Se una VM o un gateway utilizza la stessa tupla a 5 elementi per connettersi a più servizi, il record di log contiene il nome di uno solo dei servizi, selezionato in modo casuale.
Connettività string

Metodo di accesso. Per il tipo GOOGLE_API, il campo di connettività può essere uno dei seguenti:

  • PUBLIC_IP, se si accede all'API da una VM con un indirizzo IP esterno
  • PRIVATE_GOOGLE_ACCESS o DIRECT_CONNECTIVITY, se l'API viene utilizzata tramite l'accesso privato Google
  • PRIVATE_SERVICE_CONNECT_FOR_GOOGLE_APIS, se si accede all'API tramite endpoint Private Service Connect

Per il tipo GOOGLE_VPC_HOSTED_SERVICE, il campo di connettività può essere uno dei seguenti:

  • PUBLIC_IP, se si accede al servizio tramite connettività IP pubblico
  • PRIVATE_SERVICES_ACCESS, se si accede al servizio tramite l'accesso privato ai servizi
  • PRIVATE_SERVICE_CONNECT_ENDPOINT o PRIVATE_SERVICE_CONNECT_INTERFACE, se si accede al servizio tramite Private Service Connect
private_domain string

Bundle API di dominio privato o Private Service Connect. Il campo private_domain può essere uno dei seguenti:

  • Per il metodo di accesso PRIVATE_GOOGLE_ACCESS: private.googleapis.com o restricted.googleapis.com
  • Per il metodo di accesso DIRECT_CONNECTIVITY: restricted.googleapis.com
  • Per il metodo di accesso PRIVATE_SERVICE_CONNECT_FOR_GOOGLE_APIS: all-apis o vpc-sc

Formato del campo InstanceDetails

Campo Tipo Descrizione
project_id string ID del progetto Trusted 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 è regionale, questo campo viene compilato con la regione del gruppo di istanze.
zona string Se il gruppo di istanze è zonale, questo campo viene compilato con la zona del gruppo di istanze.

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 VpcDetails

Campo Tipo Descrizione
project_id string ID del progetto Trusted Cloud contenente il VPC. In una configurazione del VPC condiviso, project_id è 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 dell'emittente

Formato del campo InternetRoutingDetails

Campo Tipo Descrizione
egress_as_path AsPath Elenco dei percorsi AS pertinenti. Se sono disponibili più percorsi AS per il flusso, il campo potrebbe contenere più di un percorso AS.

Formato 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 Trusted 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) del sistema autonomo

Formato del campo LoadBalancingDetails

Campo Tipo Descrizione
forwarding_rule_project_id string Trusted Cloud ID progetto della regola di forwarding
reporter string Reporter di Cloud Load Balancing. Può essere CLIENT o BACKEND.
  • Se il reporter del flusso è il client del bilanciatore del carico, questo campo è impostato su CLIENT.
  • Se il reporter del flusso è il backend del bilanciatore del carico, questo campo è impostato su 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_group_name string 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 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 La posizione 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 NetworkServiceDetails

Campo Tipo Descrizione
dscp int32 Se nelle intestazioni dei pacchetti è presente un campo Differentiated Services, questo campo viene compilato con il valore DSCP.

Formato del campo PrivateServiceConnectDetails

Campo Tipo Descrizione
reporter string Reporter di Private Service Connect. Può essere CONSUMER o PRODUCER.
psc_endpoint PrivateServiceConnectEndpointDetails Dettagli endpoint. Compilato se l'autore della segnalazione è CONSUMER.
psc_attachment PrivateServiceConnectAttachmentDetails Dettagli del collegamento del servizio. Compilato se il flusso di traffico include un producer Private Service Connect.

Formato del campo PrivateServiceConnectEndpointDetails

Campo Tipo Descrizione
project_id string Trusted Cloud ID progetto dell'endpoint Private Service Connect
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 Private Service Connect

Formato del campo PrivateServiceConnectAttachmentDetails

Campo Tipo Descrizione
project_id string Trusted Cloud ID progetto del collegamento del servizio
regione string Regione del collegamento al servizio
vpc VpcDetails Dettagli della rete VPC del collegamento del servizio

Annotazioni dei metadati

I record di log contengono campi di base e campi di metadati. La sezione Formato record elenca i campi che sono metadati di tipo e quelli che sono di tipo base. Tutti i campi di base sono sempre inclusi. Puoi personalizzare i campi dei metadati che vuoi conservare.

  • Se selezioni tutti i metadati, tutti i campi dei metadati nel formato di record dei log di flusso VPC vengono inclusi nei log di flusso. Quando vengono aggiunti nuovi campi di metadati al formato del record, i log di flusso includono automaticamente i nuovi campi.

  • Se non selezioni metadati, tutti i campi dei metadati vengono omessi.

  • Se selezioni i metadati personalizzati, puoi specificare i campi dei metadati da includere in base al campo principale, ad esempio src_vpc, o in base ai nomi completi, ad esempio src_vpc.project_id.

    Quando vengono aggiunti nuovi campi di metadati al formato del record, questi 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 di metadati al formato del record all'interno di quel campo principale, i log di flusso includeranno automaticamente i nuovi campi.

    • Se specifichi metadati personalizzati utilizzando il nome completo del campo, i nuovi campi di metadati aggiunti al campo principale vengono esclusi dai log del flusso.

Per informazioni su come personalizzare i campi dei metadati, consulta Abilita log di flusso VPC o Aggiorna la configurazione dei log di flusso VPC.

Annotazioni dei metadati 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 del servizio GKE

Il traffico inviato a un servizio ClusterIP, NodePort o LoadBalancer può ricevere annotazioni del servizio. Se inviato a un servizio NodePort o LoadBalancer, il flusso riceve l'annotazione del servizio su entrambi gli hop della connessione.

Il traffico inviato direttamente alla porta di servizio di un pod viene annotato con un'annotazione di servizio sull'endpoint di destinazione.

Il traffico inviato alla porta di servizio di un pod in cui il pod supporta più di un servizio sulla stessa porta di servizio viene annotato con più servizi sull'endpoint di destinazione. Questo limite è di due servizi. Se ce ne sono di più, l'endpoint verrà annotato con un marcatore speciale MANY_SERVICES.

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 del pod perché, per i pacchetti su 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 della rappresentazione, le annotazioni dei pod sono visibili solo se le destinazioni si trovano all'interno delle destinazioni predefinite senza rappresentazione o in un elenco nonMasqueradeCIDRs personalizzato. Se includi destinazioni internet in un elenco nonMasqueradeCIDRs personalizzato, devi fornire un modo per tradurre gli indirizzi IP dei pod interni prima che vengano inviati a internet. Per i cluster privati e non privati, puoi utilizzare Cloud NAT. Per maggiori dettagli, consulta Interazione con GKE.

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 attive per impostazione predefinita. Puoi disattivare queste annotazioni, se vuoi.

  • Se le annotazioni tra progetti sono attive, 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 disattivate, 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 le risorse in progetti diversi non sono annotati con annotazioni tra progetti.

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 record, ad eccezione dei seguenti campi:

  • rtt_msec
  • bytes_sent
  • packets_sent
  • start_time
  • end_time

Il filtro dei log di flusso VPC utilizza CEL, un linguaggio di espressioni incorporato per 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ù su CEL, consulta l'introduzione a CEL e la definizione del linguaggio. La funzionalità di filtro per 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.

Operatori logici CEL supportati

Espressione Tipi supportati Descrizione
true, false Booleano Costanti booleane

x == y

x != y

Booleano, Int, String

Operatori di confronto

Esempio: connection.protocol == 6

x && y

x || y

Booleano

Operatori logici booleani

Esempio: connection.protocol == 6 && src_instance.vm_name == "vm_1"

!x Booleano Negation
1, 2.0, 0, ... Int Valori letterali numerici costanti
x + y Stringa Concatenazione di stringhe
"foo", 'foo', ... Stringa Valore letterale stringa costante
x.lower() Stringa Restituisce il valore in minuscolo della stringa
x.upper() Stringa Restituisce il valore in maiuscolo della stringa
x.contains(y) Stringa Restituisce true se la stringa contiene la sottostringa specificata
x.startsWith(y) Stringa Restituisce true se la stringa inizia con la sottostringa specificata
x.endsWith(y) Stringa Restituisce true se la stringa termina con la sottostringa specificata
inIpRange(X, Y) Stringa

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) Stringa

Restituisce true se il campo è presente.

Esempi di filtri di log

Se hai abilitato i log di flusso VPC per una subnet utilizzando l'API Compute Engine, utilizza il comando gcloud compute networks subnets update per configurare il filtro (Esempi 1-3).

Per tutte le altre configurazioni dei log di flusso VPC, utilizza il comando gcloud network-management vpc-flow-logs-configs update (Esempi 4-6). Le espressioni di filtro negli esempi 1-3 possono essere utilizzate con il comando gcloud network-management vpc-flow-logs-configs update.

Esempio 1. Limita la raccolta dei log a una VM specifica denominata my-vm. In questo caso, vengono registrati solo i log in cui il campo src_instance segnalato dall'origine del traffico è my-vm o il campo dst_instance segnalato dalla destinazione del traffico è my-vm.

gcloud compute networks subnets update my-subnet \
    --logging-filter-expr="(src_instance.vm_name == 'my-vm' && reporter=='SRC') || (dest_instance.vm_name == 'my-vm' && reporter=='DEST')"

Esempio 2: Limita la raccolta dei log ai pacchetti i cui indirizzi IP di origine si trovano nella subnet 10.0.0.0/8.

gcloud compute networks subnets update my-subnet \
    --logging-filter-expr="inIpRange(connection.src_ip, '10.0.0.0/8')"

Esempio 3: Limita la raccolta dei log al traffico esterno a una rete VPC.

gcloud compute networks subnets update my-subnet \
    --logging-filter-expr '!(has(src_vpc.vpc_name) && has(dest_vpc.vpc_name))'

Esempio 4: Limita la raccolta dei log a un collegamento VLAN di destinazione specifico o a un tunnel Cloud VPN, my-gateway.

gcloud network-management vpc-flow-logs-configs update my-config \
    --location=global \
    --filter-expr="dest_gateway.name == 'my-gateway'"

Esempio 5: Limita la raccolta dei log ai collegamenti VLAN.

gcloud network-management vpc-flow-logs-configs update my-config \
    --location=global \
    --filter-expr="dest_gateway.type == 'INTERCONNECT_ATTACHMENT'"

Esempio 6. Limita la raccolta dei log a una rete VPC di origine specifica, my-network.

gcloud beta network-management vpc-flow-logs-configs update my-config \
    --location=global \
    --filter-expr="src_vpc.vpc_name == 'my-network'"

Passaggi successivi