Sobre os registros de fluxo de VPC

Nesta página, descrevemos o formato de registro dos registros de fluxo de VPC, incluindo quais campos de base e metadados estão disponíveis. Ela também explica como você pode usar filtragem de registros para que apenas registros correspondentes a determinados critérios sejam gerados.

Formato do registro

Os registros contêm campos básicos, que são os campos principais de cada registro, e campos de metadados que acrescentam informações adicionais. É possível omitir os campos de metadados para economizar custos de armazenamento.

Alguns campos de registro aparecem em um formato múltiplo, com mais de um dado em cada campo. Por exemplo, o campo connection é do formato IpConnection, que contém o endereço IP e a porta de origem e destino, mais o protocolo, em um único campo. Esses vários campos estão descritos abaixo da tabela de formatos de registro.

Os valores dos campos de metadados não são baseados no caminho do plano de dados. Eles são aproximações, podendo estar ausentes ou incorretos. Por outro lado, os valores dos campos base são obtidos diretamente dos cabeçalhos dos pacotes.

Campo Formato do campo Tipo de campo: base ou metadados opcionais
conexão IpConnection
5 tuplas que descrevem o fluxo.
Base
reporter string
O lado que informou o fluxo.
  • Para VMs, o reporter pode ser SRC ou DEST.
  • Para gateways como anexos da VLAN para o Cloud Interconnect e túneis do Cloud VPN, o reporter pode ser SRC_GATEWAY ou DEST_GATEWAY.
Base
rtt_msec int64
Tempo de retorno (RTT) em milissegundos medido durante o intervalo de agregação. Esse campo é preenchido para tráfego TCP informado por VMs. O RTT medido é o tempo decorrido entre o envio de um SEQ e o recebimento de um ACK correspondente.
Base
round_trip_time Latências
RTT em milissegundos com precisão inferior a um milissegundo, medido durante o intervalo de agregação. Esse campo é preenchido para tráfego TCP e RDMA (Falcon) relatado por VMs.
  • Para o tráfego TCP, a latência medida é o tempo decorrido entre o envio de um SEQ e o recebimento de um ACK correspondente.
  • Para o tráfego do Falcon, a latência é o RTT medido pelo hardware.
Base
bytes_sent int64
Número de bytes de payload do usuário enviados da origem para o destino. Para pacotes sem payload do usuário, o valor é zero.1
Base
packets_sent int64
Número de pacotes enviados da origem para o destino.
Base
start_time string
Carimbo de data/hora (formato de string de data RFC 3339) do primeiro pacote observado durante o intervalo de tempo agregado.
Base
end_time string
Carimbo de 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 endpoint local ou de outra nuvem conectado a Google Cloud por um gateway, como um anexo da VLAN para o Cloud Interconnect ou um túnel do Cloud VPN e uma das condições a seguir for atendida, esse campo será preenchido com detalhes do gateway:
  • O gateway de origem é aquele que relata o fluxo.
  • O destino do fluxo é o reporter, e uma das seguintes condições é verdadeira:
    • O gateway de origem está no mesmo projeto que o destino do fluxo.
    • Os registros de fluxo de VPC estão configurados no nível da organização, e as anotações entre projetos não estão desativadas.2
Metadados
dest_gateway GatewayDetails
Se o destino do fluxo for um endpoint local ou de outra nuvem conectado a Google Cloud por um gateway, como um anexo da VLAN para o Cloud Interconnect ou um túnel do Cloud VPN e uma das condições a seguir for atendida, esse campo será preenchido com detalhes do gateway:
  • O gateway de destino é aquele que relata o fluxo.
  • A origem do fluxo é o informante, e uma das seguintes condições é verdadeira:
    • O gateway de destino está no mesmo projeto que a origem do fluxo.
    • Os registros de fluxo de VPC estão configurados no nível da organização, e as anotações entre projetos não estão desativadas.2
Metadados
src_gke_details GkeDetails
Se a origem do fluxo for um endpoint do Google Kubernetes Engine (GKE), esse campo será preenchido com detalhes do endpoint do GKE.
Metadados
dest_gke_details GkeDetails (em inglês)
Se o destino do fluxo for um bucket do GKE endpoint, esse campo é preenchido com o endpoint do GKE detalhes.
Metadados
src_google_service GoogleServiceDetails
Se a origem do fluxo for um serviço do Google, esse campo será preenchido com detalhes do serviço.
Metadados
dest_google_service GoogleServiceDetails
Se o destino do fluxo for um serviço do Google, esse campo será preenchido com detalhes do serviço.
Metadados
src_instance InstanceDetails (link em inglês)
Se a origem do fluxo for uma VM localizada em uma VPC rede e uma das condições a seguir for atendida, esse campo será preenchida com detalhes da instância de VM:
  • A VM de origem é a informante do fluxo.
  • O destino do fluxo é o reporter, e uma das seguintes condições é verdadeira:
    • A VM de origem ou a rede VPC a que ela está anexada está no mesmo projeto que o destino do fluxo.
    • Os registros de fluxo de VPC estão configurados no nível da organização, e as anotações entre projetos não estão desativadas.2
Metadados
dest_instance InstanceDetails (link em inglês)
Se o destino do fluxo for uma VM localizada em uma VPC e uma das condições a seguir for atendida, este campo é preenchido com detalhes da instância de VM.
  • A VM de destino é a que informa o fluxo.
  • A origem do fluxo é o informante, e uma das seguintes condições é verdadeira:
    • A VM de destino ou a rede VPC a que ela está anexada está no mesmo projeto da origem do fluxo.
    • Os registros de fluxo de VPC estão configurados no nível da organização, e as anotações entre projetos não estão desativadas.2
Metadados
src_location GeographicDetails (Detalhes geográficos)
Se a origem do fluxo for um endereço IP público fora do rede VPC, esse campo é preenchido com metadados de local disponíveis.
Metadados
dest_location GeographicDetails
Se o destino do fluxo for um endereço IP público fora da rede VPC, esse campo será preenchido com metadados de local disponíveis.
Metadados
src_vpc VpcDetails (em inglês)
Se a origem do fluxo for uma VM localizada em uma VPC rede e uma das condições a seguir for atendida, esse campo será preenchido com detalhes da rede VPC:
  • A VM de origem é a informante do fluxo.
  • O destino do fluxo é o reporter, e uma das seguintes condições é verdadeira:
    • A VM de origem ou a rede VPC a que ela está anexada está no mesmo projeto que o destino do fluxo.
    • Os registros de fluxo de VPC estão configurados no nível da organização, e as anotações entre projetos não estão desativadas.2
Metadados
dest_vpc VpcDetails (em inglês)
Se o destino do fluxo for uma VM localizada em uma rede VPC e uma das condições a seguir for atendida, esse campo será preenchido com detalhes da rede VPC:
  • A VM de destino é a que informa o fluxo.
  • A origem do fluxo é o informante, e uma das seguintes condições é verdadeira:
    • A VM de destino ou a rede VPC a que ela está anexada está no mesmo projeto da origem do fluxo.
    • Os registros de fluxo de VPC estão configurados no nível da organização, e as anotações entre projetos não estão desativadas.2
Metadados
Outros campos de metadados
internet_routing_details InternetRoutingDetails
Se o fluxo for entre Google Cloud e a Internet, esse campo será preenchido com os detalhes de roteamento. Disponível apenas para fluxos de saída.
Metadados
load_balancing LoadBalancingDetails (em inglês)
Se o fluxo passa por um balanceador de carga em um dos seguintes locais de configuração, este campo é preenchido com Cloud Load Balancing detalhes:
  • O informante do fluxo é o cliente do balanceador de carga, e o tipo do balanceador é APPLICATION_LOAD_BALANCER, PROXY_NETWORK_LOAD_BALANCER, PASSTHROUGH_NETWORK_LOAD_BALANCER ou PROTOCOL_FORWARDING.
  • O informante 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 (em inglês)
Se o cabeçalho 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 em uma das seguintes configurações, esse campo será preenchido com detalhes do Private Service Connect:
  • O usuário que relatou o tráfego do Private Service Connect é um consumidor e está usando um endpoint do Private Service Connect que tem como destino um serviço publicado ou APIs globais do Google.
  • Aquele que relata o tráfego do Private Service Connect é um produtor e usa um balanceador de carga de rede de passagem interna ou 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, Falcon ou RoCE.
Metadados
1 Para o tráfego do Falcon, o valor de bytes enviados é calculado de maneira diferente para a origem e o destino:
  • Se a VM de origem for a informante, o valor de bytes informado será a soma dos bytes de payload do usuário e dos bytes de cabeçalho do pacote enviados. Esse valor é sempre maior que zero, mesmo para pacotes que não contêm payload do usuário.
  • Se a VM de destino for a que informa, o valor de bytes informados será os bytes de payload do usuário recebidos e encaminhados à camada de aplicativo. Para pacotes sem payload do usuário, o valor de bytes é zero.
2 Se os registros de fluxo de VPC estiverem configurados no nível da organização, por padrão, os registros de fluxo entre projetos incluirão detalhes sobre os dois lados do fluxo. As anotações entre projetos estão disponíveis para fluxos por VPC compartilhada, peering de rede VPC e Network Connectivity Center. Para mais informações, consulte Anotações entre projetos.

Formato do campo IpConnection

Campo Tipo Descrição
protocolo int32 O número do protocolo IANA:
  • Preenchido para fluxos TCP, UDP, ICMP, ESP e GRE.
  • Não preenchido para fluxos de RDMA
src_ip string Endereço IP de origem. Preenchido para todos os fluxos.
dest_ip 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 string Google Cloud ID do projeto do gateway
local string Região do gateway
name string Nome do gateway
Tipo string Tipo de gateway. Pode ser INTERCONNECT_ATTACHMENT ou VPN_TUNNEL.
vpc VpcDetails Detalhes da rede VPC do gateway
interconnect_name string Se o tipo do gateway for INTERCONNECT_ATTACHMENT, esse campo será preenchido com o nome da conexão do Cloud Interconnect em que o anexo da VLAN está configurado.
interconnect_project_number int64 Se o tipo de gateway for INTERCONNECT_ATTACHMENT, esse campo será preenchido com o número do projeto Google Cloud da conexão do Cloud Interconnect em que o anexo da VLAN está configurado.

Formato do campo GkeDetails

Campo Tipo Descrição
cluster ClusterDetails Metadados do cluster do GKE
pod PodDetails Metadados do pod do GKE, preenchidos quando a origem ou o destino do tráfego for um pod.
serviço ServiceDetails Metadados do Serviço do GKE, preenchidos apenas em endpoints de Serviço. O registro contém até dois Serviços. Se houver mais de dois Serviços relevantes, esse campo conterá um único Serviço com um marcador MANY_SERVICES especial.

Formato do campo ClusterDetails

Campo Tipo Descrição
cluster_location string Local do cluster. É uma zona ou uma região, dependendo se o cluster for zonal ou regional.
cluster_name string Nome do cluster do GKE

Formato do campo PodDetails

Campo Tipo Descrição
pod_name string Nome do pod
pod_namespace string Namespace do pod
pod_workload WorkloadDetails Metadados sobre o recurso de carga de trabalho de nível superior que controla o Conjunto
Formato do campo WorkloadDetails
Campo Tipo Descrição
workload_name string Nome do controlador de carga de trabalho de nível superior
workload_type 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 string Nome do serviço. Se houver mais de dois Serviços relevantes, o campo será definido como um marcador MANY_SERVICES especial.
service_namespace string Namespace do Serviço

Exemplo:

Se houver dois serviços, o campo Serviço será semelhante a:

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

Se houver mais de dois serviços, o campo Serviço será semelhante a:

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

Formato do campo GoogleServiceDetails

Campo Tipo Descrição
Tipo string

O tipo de serviço, GOOGLE_API ou GOOGLE_VPC_HOSTED_SERVICE:

service_name string

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

Limitações:

  • O nome do serviço pode estar faltando em solicitações para APIs do Google que levam mais de 60 segundos para serem concluídas.
  • Se uma VM ou um gateway usar a mesma 5-tupla para se conectar a vários serviços, o registro de log vai conter o nome de apenas um dos serviços, selecionado aleatoriamente.
conectividade string

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

  • PUBLIC_IP, se a API for acessada de uma VM com um endereço IP externo
  • PRIVATE_GOOGLE_ACCESS ou DIRECT_CONNECTIVITY, se a API for acessada pelo Acesso privado do Google
  • PRIVATE_SERVICE_CONNECT_FOR_GOOGLE_APIS, se a API for acessada por endpoints do Private Service Connect

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

  • PUBLIC_IP, se o serviço for acessado por conectividade de IP público
  • PRIVATE_SERVICES_ACCESS, se o serviço for acessado pelo acesso a serviços particulares
  • PRIVATE_SERVICE_CONNECT_ENDPOINT ou PRIVATE_SERVICE_CONNECT_INTERFACE, se o serviço for acessado pelo Private Service Connect
private_domain string

Domínio particular ou pacote de APIs do 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 método de acesso PRIVATE_SERVICE_CONNECT_FOR_GOOGLE_APIS: all-apis ou vpc-sc

Formato do campo InstanceDetails

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

Formato do campo InstanceGroupDetails

Campo Tipo Descrição
name string Nome do grupo de instâncias
região string Se o grupo de instâncias for regional, esse campo será preenchido com a região do grupo.
zona string Se o grupo de instâncias for zonal, esse campo será preenchido com a zona do grupo.

Formato do campo GeographicDetails

Campo Tipo Descrição
asn int32 O ASN da rede externa à qual este endpoint pertence.
cidade string Cidade para endpoints externos
continent string Continente para endpoints externos
país string País para endpoints externos, representado por códigos de país ISO 3166-1 Alfa-3.
região string Região para endpoints externos

Formato do campo VpcDetails

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

Formato do campo InternetRoutingDetails

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

Formato do campo AsPath

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

Formato do campo AsDetails

Campo Tipo Descrição
asn uint32 O número de sistema autônomo (ASN, na sigla em inglês) do AS

Latências

Campo Tipo Descrição
median_msec double A latência mediana em milissegundos medida durante o intervalo de agregação.

Formato do campo LoadBalancingDetails

Campo Tipo Descrição
forwarding_rule_project_id string Google Cloud ID do projeto da regra de encaminhamento
reporter string Relatório do Cloud Load Balancing. Pode ser CLIENT ou BACKEND.
  • Se a pessoa que informou o fluxo for o balanceador de carga cdo liente, esse campo é definido como CLIENT:
  • Se o informante do fluxo for o back-end do balanceador de carga, esse campo será definido como BACKEND.
Tipo string Tipo do balanceador de carga. Pode ser APPLICATION_LOAD_BALANCER, PROXY_NETWORK_LOAD_BALANCER, PASSTHROUGH_NETWORK_LOAD_BALANCER, ou PROTOCOL_FORWARDING.
esquema string Esquema do balanceador de carga. Pode ser EXTERNAL_MANAGED, INTERNAL_MANAGED, EXTERNAL, INTERNAL, ou INTERNAL_SELF_MANAGED.
url_map_name string Nome do mapa de URL. Preenchido se o tipo de balanceador de carga é APPLICATION_LOAD_BALANCER.
forwarding_rule_name string Nome da regra de encaminhamento
backend_service_name string Nome do serviço de back-end. Será preenchido se o informante 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, esse campo não será preenchido.
backend_group_name string Nome do grupo de back-ends. Será preenchido se o informante for BACKEND e o tipo de balanceador de carga for PASSTHROUGH_NETWORK_LOAD_BALANCER.
backend_group_type string Tipo do grupo de back-ends. Pode ser INSTANCE_GROUP, NETWORK_ENDPOINT_GROUP, ou TARGET_POOL. Preenchido se o informante for BACKEND e o balanceador de carga o tipo é PASSTHROUGH_NETWORK_LOAD_BALANCER.
backend_group_location string Local do grupo de back-ends. Pode ser uma zona ou região, dependendo se o escopo do grupo de back-ends é zonal ou regional. Preenchido se o informante for BACKEND e o balanceador de carga o tipo é PASSTHROUGH_NETWORK_LOAD_BALANCER. Se o tipo de grupo de back-end for TARGET_POOL, esse campo não será preenchido.
vpc VpcDetails Detalhes da rede VPC do balanceador de carga

Formato do campo NetworkServiceDetails

Campo Tipo Descrição
dscp int32 Se o campo "Serviços diferenciados" estiver presente nos cabeçalhos dos pacotes, ele será preenchido com o valor DSCP.

Formato do campo PrivateServiceConnectDetails

Campo Tipo Descrição
reporter string Gerador de relatórios do Private Service Connect. Pode ser CONSUMER ou PRODUCER.
psc_endpoint PrivateServiceConnectEndpointDetails Detalhes do endpoint. Preenchido se o denunciante for CONSUMER.
psc_attachment PrivateServiceConnectAttachmentDetails Detalhes do anexo de serviço. Preenchido se o tráfego inclui um produtor do Private Service Connect.

Formato do campo PrivateServiceConnectEndpointDetails

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

Formato do campo PrivateServiceConnectAttachmentDetails

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

Anotações de metadados

Os registros contêm campos de base e de metadados. A seção Formato de registro lista quais campos são do tipo metadados e quais são do tipo base. Todos os campos de base são sempre incluídos. É possível personalizar quais campos de metadados manter.

  • Se você selecionar todos os metadados, todos os campos de metadados no formato de registros de fluxo de VPC serão incluídos nos registros de fluxo. Quando novos campos de metadados são adicionados ao formato de registro, os registros de fluxo incluem automaticamente os novos campos.

  • Se você não selecionar metadados, todos os campos de metadados serão omitidos.

  • Se você selecionar metadados personalizados, poderá especificar os campos de metadados que quer incluir pelo campo pai, como src_vpc, ou pelos nomes completos, como src_vpc.project_id.

    Quando novos campos de metadados são adicionados ao de registro, eles são excluídos dos registros de fluxo, a menos que estejam dentro de um campo pai que você especificou para incluir.

    • Quando você especifica metadados personalizados usando campos pais, quando novos campos de metadados são adicionados ao formato de registro no campo pai, os registros de fluxo incluem automaticamente os novos campos.

    • Se você especificar metadados personalizados usando o nome completo do campo, novos campos de metadados adicionados ao campo pai serão excluídos dos registros de fluxo.

Para informações sobre como personalizar campos de metadados, consulte Ativar os Registros de fluxo de VPC ou Atualizar a configuração dos Registros de fluxo de VPC.

Anotações de metadados do GKE

É possível que fluxos que tenham um endpoint em um cluster do GKE sejam anotados com anotações do GKE, que incluem detalhes do cluster, do pod e do serviço do endpoint.

Anotações de serviço do GKE

O tráfego enviado para um ClusterIP, NodePort ou LoadBalancer recebe anotações de serviço. Se for enviado para um NodePort ou LoadBalancer, o fluxo receberá a anotação de serviço nos dois saltos da conexão.

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

O tráfego enviado para a porta de serviço de um pod em que o pod está fazendo mais de um serviço na mesma porta de serviço será anotado com vários serviços no endpoint de destino. Isso se limita a dois serviços. Se houver mais, o endpoint será anotado com um marcador MANY_SERVICES especial.

Anotações de pod no tráfego da Internet

O tráfego entre um pod e a Internet não recebe anotações de pod por padrão. Os registros de fluxo de VPC não podem adicionar anotações de pod porque, de pacotes para a Internet, o agente de mascaramento traduz o endereço IP do pod para o endereço IP do nó antes que os registros de fluxo de VPC vejam o pacote.

Devido ao mascaramento, as anotações de pod só serão visíveis se os destinos estiverem dentro dos destinos padrão não mascaradosou em uma lista nonMasqueradeCIDRs personalizada. Se você incluir destinos de Internet em uma lista nonMasqueradeCIDRs personalizada, será necessário fornecer uma maneira para que os endereços IP internos do pod sejam traduzidos antes de serem entregues à Internet. Para clusters particulares e não particulares, é possível usar o Cloud NAT. Consulte Interação do GKE para mais detalhes.

Anotações entre projetos

Se os registros de fluxo de VPC estiverem ativados no nível da organização, os fluxos pela VPC compartilhada, pelo peering de rede VPC e pelo Network Connectivity Center serão anotados com anotações entre projetos. As anotações entre projetos são ativadas por padrão. É possível desativar essas anotações.

  • Se as anotações entre projetos estiverem ativadas, os registros de fluxo entre recursos em projetos diferentes incluirão informações sobre os dois lados do fluxo.
  • Se as anotações entre projetos estiverem desativadas, os registros de log vão incluir informações apenas sobre o criador do fluxo.

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

Filtragem de registros

Ao ativar os registros de fluxo de VPC, é possível definir um filtro com base nos campos de base e de metadados que preservam apenas os registros que correspondem ao filtro. Todos os outros registros são descartados antes de serem gravados no Logging.

É possível filtrar qualquer subconjunto de campos listados em Formato de registro, exceto os seguintes:

  • rtt_msec
  • bytes_sent
  • packets_sent
  • start_time
  • end_time

A filtragem de registros de fluxo de VPC usa CEL, uma linguagem de expressão incorporada para expressões lógicas baseadas em atributos. As expressões de filtro dos registros de fluxo de VPC têm um limite de 2.048 caracteres. Para mais informações, consulte Operadores lógicos de CEL compatíveis.

Para mais informações sobre a CEL, consulte a introdução da CEL e a definição da linguagem. O recurso de filtro de geração é compatível com um subconjunto limitado de sintaxe CEL.

Para criar uma configuração de Registros de fluxo de VPC que usa filtragem de registros, consulte Ativar os Registros de fluxo de VPC. Para configurar a filtragem de registros em uma configuração atual dos Registros de fluxo de VPC, consulte Atualizar a configuração dos Registros de fluxo de VPC. Para exemplos de filtros de registros, consulte Exemplos de filtros de registros.

Operadores lógicos compatíveis com CEL

Expressão Tipos compatíveis Descrição
verdadeiro, falso 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 Literais numéricos constantes
x + y string Concatenação de strings
"foo", 'foo', ... string Literal de string constante
x.lower() string Retorna o valor em minúsculas da string
x.upper() string Retorna o valor em maiúsculas da string
x.contains(y) string Retorna verdadeiro se a string contiver a substring especificada
x.startsWith(y) string Retorna verdadeiro se a string começar com a substring especificada
x.endsWith(y) string Retorna verdadeiro se a string terminar com a substring especificada
inIpRange(X, Y) string

Retorna verdadeiro se X for um IP e Y for um intervalo de IP que contenha X

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

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

Retorna verdadeiro se a lista contiver um objeto com campos que correspondem aos pares de chave-valor especificados

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

has(x) string

Retorna verdadeiro se o campo estiver presente.

A seguir