Acerca dos registos de registos de fluxo de VPC

Esta página descreve o formato de registo dos registos de fluxo de VPC, incluindo os campos base e de metadados disponíveis. Também explica como pode usar a filtragem de registos para que apenas sejam gerados registos que correspondam a determinados critérios.

Formato de registo

Os registos de registo contêm campos de base, que são os campos principais de cada registo de registo, e campos de metadados que adicionam informações adicionais. Os campos de metadados podem ser omitidos para poupar custos de armazenamento.

Alguns campos de registo estão num formato de vários campos, com mais do que um elemento de dados num determinado campo. Por exemplo, o campo connection está no formato IpConnection, que contém o endereço IP e a porta de origem e destino, além do protocolo, num único campo. Estes campos de vários campos são descritos abaixo da tabela de formato de registo.

Os valores dos campos de metadados não se baseiam no caminho do plano de dados; são aproximações e podem estar em falta ou incorretos. Ao contrário dos campos de metadados, os valores dos campos base são retirados diretamente dos cabeçalhos dos pacotes.

Campo Formato do campo Tipo de campo: metadados básicos ou opcionais
ligação IpConnection
Tuplo de 5 elementos que descreve o fluxo.
Base
origem string
O lado que comunicou o fluxo.
  • Para VMs, o repórter pode ser SRC ou DEST.
  • Para gateways, como anexos de VLAN para o Cloud Interconnect e túneis da Cloud VPN, o autor do relatório pode ser SRC_GATEWAY ou DEST_GATEWAY.
Base
rtt_msec int64
Latência medida durante o intervalo de tempo. Este campo é preenchido da seguinte forma:
  • Preenchido para tráfego TCP comunicado a partir de VMs.
  • Não preenchido para associações VLAN e túneis de VPN na nuvem.

A latência medida é o tempo decorrido entre o envio de um SEQ e a receção de um ACK correspondente. O resultado da latência é a soma do RTT da rede e de qualquer tempo consumido pela aplicação.

Base
bytes_sent int64
Quantidade de bytes enviados da origem para o destino.
Base
packets_sent int64
Número de pacotes enviados da origem para o destino.
Base
start_time string
Data/hora (formato de string de data RFC 3339) do primeiro pacote observado durante o intervalo de tempo agregado.
Base
end_time string
Data/hora (formato de string de data RFC 3339) do último pacote observado durante o intervalo de tempo agregado.
Base
Campos de metadados de origem e destino
src_gateway GatewayDetails
Se a origem do fluxo for um ponto final nas instalações ou noutra nuvem que esteja ligado Google Cloud através de um gateway, como uma associação de VLAN para o Cloud Interconnect ou um túnel do Cloud VPN, e qualquer uma das seguintes condições for cumprida, este campo é preenchido com os detalhes do gateway:
  • O gateway de origem é o autor do relatório do fluxo.
  • O destino do fluxo é o denunciante e qualquer uma das seguintes afirmações é verdadeira:
    • O gateway de origem está no mesmo projeto que o destino do fluxo.
    • Os registos de fluxo de VPC estão configurados ao nível da organização e as anotações entre projetos não estão desativadas.1
Metadados
dest_gateway GatewayDetails
Se o destino do fluxo for um ponto final nas instalações ou noutra nuvem que esteja ligado Google Cloud através de um gateway, como uma associação de VLAN para o Cloud Interconnect ou um túnel do Cloud VPN e qualquer uma das seguintes condições for cumprida, este campo é preenchido com os detalhes do gateway:
  • O gateway de destino é o autor do relatório do fluxo.
  • A origem do fluxo é o denunciante e qualquer uma das seguintes afirmações é verdadeira:
    • O gateway de destino está no mesmo projeto que a origem do fluxo.
    • Os registos de fluxo de VPC estão configurados ao nível da organização e as anotações entre projetos não estão desativadas.1
Metadados
src_gke_details GkeDetails
Se a origem do fluxo for um ponto final do Google Kubernetes Engine (GKE), este campo é preenchido com detalhes do ponto final do GKE.
Metadados
dest_gke_details GkeDetails
Se o destino do fluxo for um ponto final do GKE, este campo é preenchido com os detalhes do ponto final do GKE.
Metadados
src_google_service GoogleServiceDetails
Se a origem do fluxo for um serviço Google, este campo é preenchido com detalhes do serviço.
Metadados
dest_google_service GoogleServiceDetails
Se o destino do fluxo for um serviço Google, este campo é preenchido com detalhes do serviço.
Metadados
src_instance InstanceDetails
Se a origem do fluxo for uma VM localizada numa rede VPC e qualquer uma das seguintes condições for cumprida, este campo é preenchido com detalhes da instância de VM:
  • A VM de origem é o autor do relatório do fluxo.
  • O destino do fluxo é o denunciante e qualquer uma das seguintes afirmações é verdadeira:
    • A VM de origem ou a rede VPC à qual a VM de origem está anexada encontra-se no mesmo projeto que o destino do fluxo.
    • Os registos de fluxo de VPC estão configurados ao nível da organização e as anotações entre projetos não estão desativadas.1
Metadados
dest_instance InstanceDetails
Se o destino do fluxo for uma VM localizada numa rede da VPC e qualquer uma das seguintes condições for cumprida, este campo é preenchido com detalhes da instância da VM.
  • A VM de destino é o remetente do fluxo.
  • A origem do fluxo é o denunciante e qualquer uma das seguintes afirmações é verdadeira:
    • A VM de destino ou a rede VPC à qual a VM de destino está anexada encontra-se no mesmo projeto que a origem do fluxo.
    • Os registos de fluxo de VPC estão configurados ao nível da organização e as anotações entre projetos não estão desativadas.1
Metadados
src_location GeographicDetails
Se a origem do fluxo for um endereço IP público fora da rede VPC, este campo é preenchido com os metadados de localização disponíveis.
Metadados
dest_location GeographicDetails
Se o destino do fluxo for um endereço IP público fora da rede VPC, este campo é preenchido com os metadados de localização disponíveis.
Metadados
src_vpc VpcDetails
Se a origem do fluxo for uma VM localizada numa rede VPC e qualquer uma das seguintes condições for cumprida, este campo é preenchido com detalhes da rede VPC:
  • A VM de origem é o autor do relatório do fluxo.
  • O destino do fluxo é o denunciante e qualquer uma das seguintes afirmações é verdadeira:
    • A VM de origem ou a rede VPC à qual a VM de origem está anexada encontra-se no mesmo projeto que o destino do fluxo.
    • Os registos de fluxo de VPC estão configurados ao nível da organização e as anotações entre projetos não estão desativadas.1
Metadados
dest_vpc VpcDetails
Se o destino do fluxo for uma VM localizada numa rede VPC e qualquer uma das seguintes condições for cumprida, este campo é preenchido com detalhes da rede VPC:
  • A VM de destino é o remetente do fluxo.
  • A origem do fluxo é o denunciante e qualquer uma das seguintes afirmações é verdadeira:
    • A VM de destino ou a rede VPC à qual a VM de destino está anexada encontra-se no mesmo projeto que a origem do fluxo.
    • Os registos de fluxo de VPC estão configurados ao nível da organização e as anotações entre projetos não estão desativadas.1
Metadados
Outros campos de metadados
internet_routing_details InternetRoutingDetails
Se o fluxo for entre Google Cloud e a Internet, este campo é preenchido com detalhes de encaminhamento. Disponível apenas para fluxos de saída.
Metadados
load_balancing LoadBalancingDetails
Se o fluxo passar por um balanceador de carga numa das seguintes configurações, este campo é preenchido com detalhes do Cloud Load Balancing:
  • O autor do relatório do fluxo é o cliente do balanceador de carga e o tipo de balanceador de carga é APPLICATION_LOAD_BALANCER, PROXY_NETWORK_LOAD_BALANCER, PASSTHROUGH_NETWORK_LOAD_BALANCER ou PROTOCOL_FORWARDING.
  • O autor do fluxo é o back-end do balanceador de carga, e o tipo de balanceador de carga é PASSTHROUGH_NETWORK_LOAD_BALANCER ou PROTOCOL_FORWARDING.
Metadados
network_service NetworkServiceDetails
Se o cabeçalho do Differentiated Services Code Point (DSCP) estiver definido, este campo é preenchido com detalhes do serviço de rede.
Metadados
psc PrivateServiceConnectDetails
Se o fluxo passar pelo Private Service Connect numa das seguintes configurações, este campo é preenchido com detalhes do Private Service Connect:
  • O autor do relatório do tráfego do Private Service Connect é um consumidor e está a usar um ponto final do Private Service Connect que segmenta um serviço publicado ou APIs Google globais.
  • O autor do relatório do tráfego do Private Service Connect é um produtor e está a usar um balanceador de carga de rede de passagem interno ou um encaminhamento de protocolo interno.
Metadados
rdma_traffic_type string
Tipo de tráfego RDMA. Preenchido para tráfego de GPU para GPU entre VMs. Pode ser GPUDirect-TCPXO ou RoCE.
Metadados
1 Se os registos de fluxo de VPC estiverem configurados ao nível da organização, por predefinição, os registos de registo para fluxos entre projetos incluem detalhes sobre ambos os lados do fluxo. As anotações entre projetos estão disponíveis para fluxos através da VPC partilhada, do intercâmbio da rede da VPC e do Centro de conetividade de rede. Para mais informações, consulte Anotações entre projetos.

Formato do campo IpConnection

Campo Tipo Descrição
protocolo int32 O número do protocolo da IANA:
  • Preenchido para fluxos TCP, UDP, ICMP, ESP e GRE
  • Não é preenchido para fluxos RDMA
src_ip de string Endereço IP de origem. Preenchido para todos os fluxos.
dest_ip de string Endereço IP de destino. Preenchido para todos os fluxos.
src_port int32 Porta de origem:
  • Preenchido para fluxos TCP e UDP
  • Não preenchido para fluxos ICMP, ESP, GRE e RDMA
dest_port int32 Porta de destino:
  • Preenchido para fluxos TCP e UDP
  • Não preenchido para fluxos ICMP, ESP, GRE e RDMA

Formato do campo GatewayDetails

Campo Tipo Descrição
project_id de string Google Cloud ID do projeto do gateway
localização de string Região do gateway
nome de string Nome do gateway
escrever de string Tipo de gateway. Pode ser INTERCONNECT_ATTACHMENT ou VPN_TUNNEL.
vpc VpcDetails Detalhes da rede de VPC do gateway
interconnect_name de string Se o tipo do gateway for INTERCONNECT_ATTACHMENT, este campo é preenchido com o nome da ligação do Cloud Interconnect na qual a associação de VLAN está configurada.
interconnect_project_number int64 Se o tipo do gateway for INTERCONNECT_ATTACHMENT, este campo é preenchido com o Google Cloud número do projeto da ligação do Cloud Interconnect na qual a associação de VLAN está configurada.

Formato do campo GkeDetails

Campo Tipo Descrição
cluster ClusterDetails Metadados do cluster do GKE
cápsula PodDetails Metadados do GKE Pod, preenchidos quando a origem ou o destino do tráfego é um Pod
serviço ServiceDetails Metadados do serviço GKE, preenchidos apenas nos pontos finais do serviço. O registo contém até dois serviços. Se existirem mais de dois serviços relevantes, este campo contém um único serviço com um marcador MANY_SERVICES especial.

Formato do campo ClusterDetails

Campo Tipo Descrição
cluster_location de string Localização do cluster. Pode ser uma zona ou uma região, consoante o cluster seja zonal ou regional.
cluster_name de string Nome do cluster do GKE.

Formato do campo PodDetails

Campo Tipo Descrição
pod_name de string Nome do agrupamento
pod_namespace de string Espaço de nomes do agrupamento
pod_workload WorkloadDetails Metadados sobre o recurso de carga de trabalho de nível superior que controla o Pod
Formato do campo WorkloadDetails
Campo Tipo Descrição
workload_name de string Nome do controlador de carga de trabalho de nível superior
workload_type de string Tipo do controlador de carga de trabalho de nível superior. Pode ser DEPLOYMENT, REPLICA_SET, STATEFUL_SET, DAEMON_SET, JOB, CRON_JOB ou REPLICATION_CONTROLLER.

Formato do campo ServiceDetails

Campo Tipo Descrição
service_name de string Nome do serviço. Se existirem mais de dois serviços relevantes, o campo é definido como um marcador MANY_SERVICES especial.
service_namespace de string Espaço de nomes do serviço

Exemplo:

Se existirem dois serviços, o campo Serviço tem o seguinte aspeto:

service: [
 0: {
  service_name: "my-lb-service"
  service_namespace: "default"
 }
 1: {
  service_name: "my-lb-service2"
  service_namespace: "default"
 }
]

Se existirem mais de dois serviços, o campo Serviço tem o seguinte aspeto:

service: [
 0: {
  service_name: "MANY_SERVICES"
 }
]

Formato do campo GoogleServiceDetails

Campo Tipo Descrição
escrever de string

O tipo de serviço, GOOGLE_API ou GOOGLE_VPC_HOSTED_SERVICE:

service_name de string

Nome do serviço. Por exemplo, pubsub.googleapis.com.

Limitações:

  • O nome do serviço pode estar em falta para pedidos às APIs Google que demoram mais de 60 segundos a serem concluídos.
  • Se uma VM ou um gateway usar a mesma tupla de 5 elementos para se ligar a vários serviços, o registo do registo contém o nome de apenas um dos serviços, selecionado aleatoriamente.
conetividade de string

Método de acesso. Para o tipo GOOGLE_API, o campo de conetividade pode ser um dos seguintes:

  • PUBLIC_IP, se a API for acedida a partir de uma VM com um endereço IP externo
  • PRIVATE_GOOGLE_ACCESS ou DIRECT_CONNECTIVITY, se a API for acedida através do acesso privado Google
  • PRIVATE_SERVICE_CONNECT_FOR_GOOGLE_APIS, se a API for acedida através de pontos finais do Private Service Connect

Para o tipo GOOGLE_VPC_HOSTED_SERVICE, o campo de conetividade pode ser um dos seguintes:

  • PUBLIC_IP, se o serviço for acedido através da conetividade de IP público
  • PRIVATE_SERVICES_ACCESS, se o serviço for acedido através do acesso a serviços privados
  • PRIVATE_SERVICE_CONNECT_ENDPOINT ou PRIVATE_SERVICE_CONNECT_INTERFACE, se o serviço for acedido através do Private Service Connect
private_domain de string

Domínio privado ou pacote da API Private Service Connect. O campo private_domain pode ser um dos seguintes:

  • Para o método de acesso PRIVATE_GOOGLE_ACCESS: private.googleapis.com ou restricted.googleapis.com
  • Para o método de acesso DIRECT_CONNECTIVITY: restricted.googleapis.com
  • Para o PRIVATE_SERVICE_CONNECT_FOR_GOOGLE_APIS método de acesso: all-apis ou vpc-sc

Formato do campo InstanceDetails

Campo Tipo Descrição
project_id de string ID do Google Cloud projeto que contém o recurso de VM
região de string Região da VM
vm_name de string Nome da instância da VM
zona de string Zona da VM
managed_instance_group InstanceGroupDetails Se a VM fizer parte de um grupo de instâncias geridas, este campo é preenchido com os detalhes do grupo de instâncias.

Formato do campo InstanceGroupDetails

Campo Tipo Descrição
nome de string Nome do grupo de instâncias
região de string Se o grupo de instâncias for regional, este campo é preenchido com a região do grupo de instâncias.
zona de string Se o grupo de instâncias for zonal, este campo é preenchido com a zona do grupo de instâncias.

Formato do campo GeographicDetails

Campo Tipo Descrição
asn int32 O ASN da rede externa à qual este ponto final pertence.
cidade de string Cidade para pontos finais externos
continente de string Continente para pontos finais externos
country de string País para pontos finais externos, representado como códigos de países ISO 3166-1 alfa-3
região de string Região para pontos finais externos

Formato do campo VpcDetails

Campo Tipo Descrição
project_id de string ID do Google Cloud projeto que contém a VPC. Numa configuração de VPC partilhada, project_id é o ID do projeto anfitrião.
subnetwork_name de string Nome da sub-rede, se aplicável
subnetwork_region de string Região da sub-rede, se aplicável
vpc_name de string Nome da rede

Formato do campo InternetRoutingDetails

Campo Tipo Descrição
egress_as_path AsPath Lista de caminhos de AS relevantes. Se existirem vários caminhos de SA disponíveis para o fluxo, o campo pode conter mais do que um caminho de SA.

Formato do campo AsPath

Campo Tipo Descrição
as_details AsDetails Lista de detalhes do SA para todos os sistemas no caminho do SA. A lista começa pelo primeiro SA que é externo à rede de Google Cloude termina com o SA ao qual o endereço IP remoto pertence.

Formato do campo AsDetails

Campo Tipo Descrição
asn uint32 O número do sistema autónomo (ASN) do SA

Formato do campo LoadBalancingDetails

Campo Tipo Descrição
forwarding_rule_project_id de string Google Cloud ID do projeto da regra de encaminhamento
origem de string Repórter do Cloud Load Balancing. Pode ser CLIENT ou BACKEND.
  • Se o autor do relatório do fluxo for o cliente do balanceador de carga, este campo é definido como CLIENT.
  • Se o autor do relatório do fluxo for o back-end do balanceador de carga, este campo é definido como BACKEND.
escrever de string Tipo de balanceador de carga. Pode ser APPLICATION_LOAD_BALANCER, PROXY_NETWORK_LOAD_BALANCER, PASSTHROUGH_NETWORK_LOAD_BALANCER, ou PROTOCOL_FORWARDING.
esquema de string Esquema do balanceador de carga. Pode ser EXTERNAL_MANAGED, INTERNAL_MANAGED, EXTERNAL, INTERNAL ou INTERNAL_SELF_MANAGED.
url_map_name de string Nome do mapa de URLs. Preenchido se o tipo do balanceador de carga for APPLICATION_LOAD_BALANCER.
forwarding_rule_name de string Nome da regra de encaminhamento
backend_service_name de string Nome do serviço de back-end. Preenchido se o autor do relatório for BACKEND e o tipo de balanceador de carga for PASSTHROUGH_NETWORK_LOAD_BALANCER. Se o tipo de grupo de back-end for TARGET_POOL, este campo não é preenchido.
backend_group_name de string Nome do grupo de back-end. Preenchido se o autor do relatório for BACKEND e o tipo de balanceador de carga for PASSTHROUGH_NETWORK_LOAD_BALANCER.
backend_group_type de string Tipo do grupo de back-end. Pode ser INSTANCE_GROUP, NETWORK_ENDPOINT_GROUP ou TARGET_POOL. Preenchido se o autor do relatório for BACKEND e o tipo de balanceador de carga for PASSTHROUGH_NETWORK_LOAD_BALANCER.
backend_group_location de string Localização do grupo de back-end. Pode ser uma zona ou uma região, dependendo se o âmbito do grupo de back-end é zonal ou regional. Preenchido se o autor do relatório for BACKEND e o tipo de balanceador de carga for PASSTHROUGH_NETWORK_LOAD_BALANCER. Se o tipo de grupo de back-end for TARGET_POOL, este campo não é preenchido.
vpc VpcDetails Detalhes da rede da VPC do balanceador de carga

Formato do campo NetworkServiceDetails

Campo Tipo Descrição
dscp int32 Se o campo Differentiated Services estiver presente nos cabeçalhos dos pacotes, este campo é preenchido com o valor DSCP.

Formato do campo PrivateServiceConnectDetails

Campo Tipo Descrição
origem de string Denunciante do Private Service Connect. Pode ser CONSUMER ou PRODUCER.
psc_endpoint PrivateServiceConnectEndpointDetails Detalhes do ponto final. Preenchido se o denunciante for CONSUMER.
psc_attachment PrivateServiceConnectAttachmentDetails Detalhes do anexo de serviço. Preenchido se o fluxo de tráfego incluir um produtor do Private Service Connect.

Formato do campo PrivateServiceConnectEndpointDetails

Campo Tipo Descrição
project_id de string Google Cloud ID do projeto do ponto final do Private Service Connect
região de string Região do ponto final. Não preenchido se o tipo de serviço de destino for GLOBAL_GOOGLE_APIS.
psc_connection_id de string ID da ligação do Private Service Connect
target_service_type de string Tipo de serviço de destino. Pode ser GLOBAL_GOOGLE_APIS ou PUBLISHED_SERVICE.
vpc VpcDetails Detalhes da rede VPC do ponto final do Private Service Connect

Formato do campo PrivateServiceConnectAttachmentDetails

Campo Tipo Descrição
project_id de string Google Cloud ID do projeto do anexo de serviço
região de string Região da associação do serviço
vpc VpcDetails Detalhes da rede VPC da associação de serviços

Anotações de metadados

Os registos de registos contêm campos base e campos de metadados. A secção Formato do registo indica que campos são metadados de tipo e quais são de base de tipo. Todos os campos base estão sempre incluídos. Pode personalizar os campos de metadados que mantém.

  • Se selecionar todos os metadados, todos os campos de metadados no formato de registo dos registos de fluxo da VPC são incluídos nos registos de fluxo. Quando são adicionados novos campos de metadados ao formato de registo, os registos de fluxo incluem automaticamente os novos campos.

  • Se não selecionar metadados, omite todos os campos de metadados.

  • Se selecionar metadados personalizados, pode especificar os campos de metadados que quer incluir pelo campo principal, como src_vpc, ou pelos respetivos nomes completos, como src_vpc.project_id

    Quando são adicionados novos campos de metadados ao formato de registo, são excluídos dos registos de fluxo, a menos que estejam num campo principal que tenha especificado para inclusão.

    • Se especificar metadados personalizados através de campos principais, quando forem adicionados novos campos de metadados ao formato de registo nesse campo principal, os registos de fluxo incluem automaticamente os novos campos.

    • Se especificar metadados personalizados através do nome completo do campo, os novos campos de metadados adicionados ao campo principal são excluídos dos registos do fluxo.

Para ver informações sobre como personalizar campos de metadados, consulte os artigos Ative os registos de fluxo de VPC ou Atualize a configuração dos registos de fluxo de VPC.

Anotações de metadados do GKE

Os fluxos que têm um ponto final num cluster do GKE podem ser anotados com anotações de metadados do GKE, que podem incluir detalhes do cluster, do pod e do serviço do ponto final.

Anotações de serviço do GKE

O tráfego enviado para um ClusterIP, um NodePort ou um LoadBalancer pode receber anotações de serviço. Se for enviado para um NodePort ou um LoadBalancer, o fluxo recebe a anotação do serviço em ambos os saltos da ligação.

O tráfego enviado diretamente para a porta de serviço de um pod é anotado com uma anotação de serviço no ponto final de destino.

O tráfego enviado para a porta de serviço de um pod em que o pod suporta mais do que um serviço na mesma porta de serviço é anotado com vários serviços no ponto final de destino. Este limite aplica-se a dois Serviços. Se existirem mais do que isso, o ponto final é anotado com um marcador MANY_SERVICES especial.

Anotações de agrupamentos de anúncios no tráfego da Internet

O tráfego entre um agrupamento e a Internet não recebe anotações de agrupamentos por predefinição. Os registos de fluxo da VPC não podem adicionar anotações de pods porque, para pacotes para a Internet, o agente de mascaramento traduz o endereço IP do pod para o endereço IP do nó antes de os registos de fluxo da VPC verem o pacote.

Devido ao mascaramento, as anotações de Pod só são visíveis se os destinos estiverem nos destinos predefinidos sem mascaramento ou numa lista nonMasqueradeCIDRspersonalizada. Se incluir destinos da Internet numa lista personalizada nonMasqueradeCIDRs, tem de fornecer uma forma de os endereços IP dos pods internos serem traduzidos antes de serem enviados para a Internet. Para clusters privados e não privados, pode usar o Cloud NAT. Consulte a interação do GKE para mais detalhes.

Anotações entre projetos

Se os registos de fluxo de VPC estiverem ativados ao nível da organização, os fluxos através da VPC partilhada, do intercâmbio das redes da VPC e do Network Connectivity Center são anotados com anotações entre projetos. As anotações entre projetos estão ativadas por predefinição. Opcionalmente, pode desativar estas anotações.

  • Se as anotações entre projetos estiverem ativadas, os registos de registo para fluxos entre recursos em diferentes projetos incluem informações sobre ambos os lados do fluxo.
  • Se as anotações entre projetos estiverem desativadas, os registos de registo incluem informações apenas sobre o autor do fluxo.

Se os registos de fluxo da VPC estiverem ativados ao nível do projeto, os fluxos entre recursos em projetos diferentes não são anotados com anotações entre projetos.

Filtragem de registos

Quando ativa os registos de fluxo de VPC, pode definir um filtro com base nos campos base e de metadados que apenas preserva os registos que correspondem ao filtro. Todos os outros registos são rejeitados antes de serem escritos no registo.

Pode filtrar qualquer subconjunto de campos listados no Formato de registo, exceto os seguintes campos:

  • rtt_msec
  • bytes_sent
  • packets_sent
  • start_time
  • end_time

A filtragem de registos de fluxo de VPC usa o IEC, um idioma de expressão incorporado para expressões lógicas baseadas em atributos. As expressões de filtro para registos de fluxo de VPC têm um limite de 2048 carateres. Para mais informações, consulte o artigo Operadores lógicos da CEL suportados.

Para mais informações sobre o CEL, consulte a introdução ao CEL e a definição da linguagem. A funcionalidade de filtro de geração suporta um subconjunto limitado da sintaxe CEL.

Para criar uma configuração dos registos de fluxo de VPC que use a filtragem de registos, consulte o artigo Ative os registos de fluxo de VPC. Para configurar a filtragem de registos para uma configuração de registos de fluxo de VPC existente, consulte o artigo Atualize a configuração dos registos de fluxo de VPC.

Operadores lógicos CEL suportados

Expressão Tipos suportados Descrição
true, false Booleano Constantes booleanas

x == y

x != y

Booleano, Int, String

Operadores de comparação

Exemplo: connection.protocol == 6

x && y

x || y

Booleano

Operadores lógicos booleanos

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

!x Booleano Negação
1, 2.0, 0, ... Int Valores numéricos constantes
x + y String Concatenação de strings
"foo", 'foo', ... String Literal de string constante
x.lower() String Devolve o valor em minúsculas da string
x.upper() String Devolve o valor em maiúsculas da string
x.contains(y) String Devolve true se a string contiver a substring especificada
x.startsWith(y) String Devolve true se a string começar com a substring especificada
x.endsWith(y) String Devolve true se a string terminar com a substring especificada
inIpRange(X, Y) String

Devolve true se X for um IP e Y for um intervalo de IPs que contém X

Exemplo: inIpRange("1.2.3.1", "1.2.3.0/24")

x.containsFieldValue(y) x: list
y: map(string, string)

Devolve true se a lista contiver um objeto com campos que correspondam aos pares de chave-valor especificados

Exemplo: dest_gke_details.service.containsFieldValue({'service_name': 'service1', 'service_namespace': 'namespace1'})

has(x) String

Devolve true se o campo estiver presente.

Exemplos de filtros de registo

Se ativou os registos de fluxo de VPC para uma sub-rede através da API Compute Engine, use o comando gcloud compute networks subnets update para configurar a filtragem (exemplos 1 a 3).

Para todas as outras configurações dos registos de fluxo da VPC, use o comando gcloud network-management vpc-flow-logs-configs update (exemplos 4 a 6). As expressões de filtro nos exemplos 1 a 3 podem ser usadas com o comando gcloud network-management vpc-flow-logs-configs update.

Exemplo 1. Limitar a recolha de registos a uma VM específica denominada my-vm. Neste caso, apenas são registados os registos em que o campo src_instance, conforme comunicado pela origem do tráfego, é my-vm ou o campo dst_instance, conforme comunicado pelo destino do tráfego, é 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')"

Exemplo 2. Limite a recolha de registos a pacotes cujos endereços IP de origem estejam na sub-rede 10.0.0.0/8.

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

Exemplo 3. Limite a recolha de registos ao tráfego externo a uma rede da VPC.

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

Exemplo 4. Limitar a recolha de registos a uma associação VLAN de destino específica ou a um túnel de VPN na nuvem, my-gateway.

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

Exemplo 5. Limite a recolha de registos a associações VLAN.

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

Exemplo 6. Limite a recolha de registos a uma rede VPC de origem específica, my-network.

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

O que se segue?