Acerca de los registros de flujo de VPC

En esta página, se describe el formato de los registros de flujo de VPC, incluido qué campos de bases y de metadatos están disponibles. También se explica cómo puedes usar el filtrado de registros para que solo se generen los registros que coincidan con ciertos criterios.

Formato del registro

Los registros contienen campos base, que son los campos principales de cada registro, y campos de metadatos que agregan información adicional. Los campos de metadatos se pueden omitir para ahorrar costos de almacenamiento.

Algunos campos de registro se encuentran en formato de varios campos y poseen más de un dato en un campo específico. Por ejemplo, el campo connection tiene el formato IpConnection, que contiene el puerto y la dirección IP de origen y destino, además del protocolo, en un solo campo. Estos campos de varios campos se describen a continuación en la tabla de formato de registros.

Los valores de los campos de metadatos no se basan en la ruta del plano de datos; son aproximaciones y es posible que algunos falten o sean incorrectos. A diferencia de los campos de metadatos, los valores de los campos de base se toman directamente de los encabezados de paquetes.

Campo Formato del campo Tipo del campo: base o metadatos opcionales
connection IpConnection
5 tuplas que describen el flujo.
Base
reporter cadena
El lado que informó el flujo. Puede ser SRC, DEST, SRC_GATEWAY o DEST_GATEWAY.
Base
rtt_msec int64
Latencia medida durante el intervalo de tiempo. Este campo se completa de la siguiente manera:
  • Se completa cuando se informa el tráfico de TCP que proviene de las VMs
  • No se completa cuando hay adjuntos de VLAN ni túneles de Cloud VPN

La latencia medida es el tiempo transcurrido entre el envío de un SEQ y la recepción de un ACK correspondiente. El resultado de la latencia es la suma del RTT de la red y el tiempo que consume la aplicación.

Base
bytes_sent int64
Cantidad de bytes que se enviaron desde el origen hacia el destino.
Base
packets_sent int64
Cantidad de paquetes que se enviaron desde el origen hacia el destino.
Base
start_time cadena
Marca de tiempo (cadena con formato de fecha RFC 3339) del primer paquete que se observó durante el intervalo de tiempo agregado.
Base
end_time cadena
Marca de tiempo (cadena con formato de fecha RFC 3339) del último paquete que se observó durante el intervalo de tiempo agregado.
Base
Campos de metadatos de origen y destino
src_gateway GatewayDetails
Si la fuente del flujo es un extremo local o de otra nube que está conectado a Trusted Cloud by S3NS a través de una puerta de enlace, como un adjunto de VLAN para Cloud Interconnect o un túnel de Cloud VPN, y se cumple alguna de las siguientes condiciones, este campo se completa con los detalles de la puerta de enlace:
  • La puerta de enlace de origen es el informante del flujo.
  • El destino del flujo es el informante, y se cumple alguna de las siguientes condiciones:
    • La puerta de enlace de origen se encuentra en el mismo proyecto que el destino del flujo.
    • Los registros de flujo de VPC están configurados a nivel de la organización y las anotaciones entre proyectos no están inhabilitadas.1
Metadatos
dest_gateway GatewayDetails
Si el destino del flujo es un extremo local o de otra nube que está conectado a Trusted Cloud a través de una puerta de enlace, como un adjunto de VLAN para Cloud Interconnect o un túnel de Cloud VPN, y se cumple alguna de las siguientes condiciones, este campo se completa con los detalles de la puerta de enlace:
  • La puerta de enlace de destino es el informante del flujo.
  • El origen del flujo es el informante, y se cumple una de las siguientes condiciones:
    • La puerta de enlace de destino se encuentra en el mismo proyecto que el origen del flujo.
    • Los registros de flujo de VPC están configurados a nivel de la organización y las anotaciones entre proyectos no están inhabilitadas.1
Metadatos
src_gke_details GkeDetails
Si la fuente del flujo es un extremo de Google Kubernetes Engine (GKE), este campo se completa con los detalles del extremo de GKE.
Metadatos
dest_gke_details GkeDetails
Si el destino del flujo es un extremo de GKE, este campo se completa con los detalles del extremo de GKE.
Metadatos
src_google_service GoogleServiceDetails
Si el origen del flujo es una API de Google, este campo se completa con los metadatos disponibles de la API de Google.
Metadatos
dest_google_service GoogleServiceDetails
Si el destino del flujo es una API de Google, este campo se completa con los metadatos disponibles de la API de Google.
Metadatos
src_instance InstanceDetails
Si la fuente del flujo es una VM ubicada en una red de VPC y se cumple alguna de las siguientes condiciones, este campo se completa con los detalles de la instancia de VM:
  • La VM de origen es el informante del flujo.
  • El destino del flujo es el informante, y se cumple alguna de las siguientes condiciones:
    • La VM de origen, o la red de VPC a la que está conectada la VM de origen, se encuentra en el mismo proyecto que el destino del flujo.
    • Los registros de flujo de VPC están configurados a nivel de la organización y las anotaciones entre proyectos no están inhabilitadas.1
Metadatos
dest_instance InstanceDetails
Si el destino del flujo es una VM ubicada en una red de VPC y se cumple alguna de las siguientes condiciones, este campo se completa con los detalles de la instancia de VM.
  • La VM de destino es el informante del flujo.
  • El origen del flujo es el informante, y se cumple una de las siguientes condiciones:
    • La VM de destino, o la red de VPC a la que está conectada la VM de destino, se encuentra en el mismo proyecto que la fuente del flujo.
    • Los registros de flujo de VPC están configurados a nivel de la organización y las anotaciones entre proyectos no están inhabilitadas.1
Metadatos
src_location GeographicDetails
Si la fuente del flujo es una dirección IP pública fuera de la red de VPC, este campo se propaga con los metadatos de ubicación disponibles.
Metadatos
dest_location GeographicDetails
Si el destino del flujo es una dirección IP pública fuera de la red de VPC, este campo se propaga con los metadatos de ubicación disponibles.
Metadatos
src_vpc VpcDetails
Si la fuente del flujo es una VM ubicada en una red de VPC y se cumple alguna de las siguientes condiciones, este campo se completa con los detalles de la red de VPC:
  • La VM de origen es el informante del flujo.
  • El destino del flujo es el informante, y se cumple una de las siguientes condiciones:
    • La VM de origen, o la red de VPC a la que está conectada la VM de origen, se encuentra en el mismo proyecto que el destino del flujo.
    • Los registros de flujo de VPC están configurados a nivel de la organización y las anotaciones entre proyectos no están inhabilitadas.1
Metadatos
dest_vpc VpcDetails
Si el destino del flujo es una VM ubicada en una red de VPC y se cumple cualquiera de las siguientes condiciones, este campo se completa con los detalles de la red de VPC:
  • La VM de destino es el informante del flujo.
  • La fuente del flujo es el informante, y se cumple una de las siguientes condiciones:
    • La VM de destino, o la red de VPC a la que está conectada la VM de destino, se encuentra en el mismo proyecto que la fuente del flujo.
    • Los registros de flujo de VPC están configurados a nivel de la organización y las anotaciones entre proyectos no están inhabilitadas.1
Metadatos
Otros campos de metadatos
internet_routing_details InternetRoutingDetails
Si el flujo es entre Trusted Cloud y el Internet, este campo se completa con los detalles de enrutamiento. Disponible solo para los flujos de salida.
Metadatos
load_balancing LoadBalancingDetails
Si el flujo pasa por un balanceador de cargas en uno de los siguientes parámetros de configuración, este campo se completa con los detalles de Cloud Load Balancing:
  • El informante del flujo es el cliente del balanceador de cargas, y el tipo de balanceador de cargas es APPLICATION_LOAD_BALANCER, PROXY_NETWORK_LOAD_BALANCER, PASSTHROUGH_NETWORK_LOAD_BALANCER o PROTOCOL_FORWARDING.
  • El informante del flujo es el backend del balanceador de cargas, y el tipo de balanceador de cargas es PASSTHROUGH_NETWORK_LOAD_BALANCER o PROTOCOL_FORWARDING.
Metadatos
network_service NetworkServiceDetails
Si se establece el encabezado de punto de código de servicios diferenciados (DSCP), este campo se completa con los detalles del servicio de red.
Metadatos
psc PrivateServiceConnectDetails
Si el flujo pasa por Private Service Connect en cualquiera de los siguientes parámetros de configuración, este campo se propaga con los detalles de Private Service Connect:
  • El informante del tráfico de Private Service Connect es un consumidor y usa un extremo de Private Service Connect que se orienta a un servicio publicado o a las APIs de Google globales.
  • El informante del tráfico de Private Service Connect es un productor y usa un balanceador de cargas de red de transferencia interno o un reenvío de protocolo interno.
Metadatos
rdma_traffic_type cadena
Este campo se propaga para el tráfico de RDMA que se informa desde las VMs de A3 Mega. El tipo se establece en GPUDirect-TCPXO.
Metadatos
1 Si los registros de flujo de VPC están configurados a nivel de la organización, de forma predeterminada, los registros de los flujos entre proyectos incluyen detalles sobre ambos lados del flujo. Las anotaciones entre proyectos están disponibles para los flujos a través de la VPC compartida, el intercambio de tráfico entre redes de VPC y Network Connectivity Center. Para obtener más información, consulta Anotaciones entre proyectos.

Formato del campo IpConnection

Campo Tipo Descripción
protocol int32 Número de protocolo IANA (no se completa para el tráfico de RDMA)
src_ip cadena Dirección IP de origen
dest_ip cadena Dirección IP de destino
src_port int32 Puerto de origen (se completa para el tráfico de TCP y UDP)
dest_port int32 Puerto de destino (se completa para el tráfico de TCP y UDP)

Formato del campo GatewayDetails

Campo Tipo Descripción
project_id cadena ID del proyecto deTrusted Cloud de la puerta de enlace
location cadena Región de la puerta de enlace
name cadena Nombre de la puerta de enlace
type cadena Es el tipo de puerta de enlace. Puede ser INTERCONNECT_ATTACHMENT o VPN_TUNNEL.
vpc VpcDetails Detalles de la red de VPC de la puerta de enlace
interconnect_name cadena Si el tipo de puerta de enlace es INTERCONNECT_ATTACHMENT, este campo se completa con el nombre de la conexión de Cloud Interconnect en la que se configura el adjunto de VLAN.
interconnect_project_number int64 Si el tipo de puerta de enlace es INTERCONNECT_ATTACHMENT, este campo se completa con el número de proyecto de Trusted Cloud de la conexión de Cloud Interconnect en la que se configura el adjunto de VLAN.

Formato del campo GkeDetails

Campo Tipo Descripción
cluster ClusterDetails Metadatos del clúster de GKE
pod PodDetails Metadatos del Pod de GKE, propagados cuando el origen o el destino del tráfico es un Pod
service ServiceDetails Metadatos del Service de GKE, propagados solo en los extremos del Service. El registro contiene hasta dos Service. Si hay más de dos Service relevantes, este campo contiene un solo Service con un marcador MANY_SERVICES especial.

Formato del campo ClusterDetails

Campo Tipo Descripción
cluster_location cadena Ubicación del clúster. Puede ser una zona o región, dependiendo de si se trata de un clúster zonal o regional.
cluster_name cadena Nombre del clúster de GKE.

Formato del campo PodDetails

Campo Tipo Descripción
pod_name cadena Nombre del Pod
pod_namespace cadena Espacio de nombres del Pod
pod_workload WorkloadDetails Metadatos sobre el recurso de carga de trabajo de nivel superior que controla el Pod
Formato del campo WorkloadDetails
Campo Tipo Descripción
workload_name cadena Nombre del controlador de carga de trabajo de nivel superior
workload_type cadena Es el tipo de controlador de cargas de trabajo de nivel superior. Puede ser DEPLOYMENT, REPLICA_SET, STATEFUL_SET, DAEMON_SET, JOB, CRON_JOB o REPLICATION_CONTROLLER.

Formato del campo ServiceDetails

Campo Tipo Descripción
service_name cadena Nombre del Service. Si hay más de dos Service relevantes, el campo se configura como un marcador MANY_SERVICES especial.
service_namespace cadena Espacio de nombres del Service

Ejemplo:

Si hay dos servicios, el campo Service tiene el siguiente aspecto:

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

Si hay más de dos servicios, el campo Service tiene el siguiente aspecto:

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

Formato del campo GoogleServiceDetails

Campo Tipo Descripción
type cadena Este campo se establece como GOOGLE_API.

Formato del campo InstanceDetails

Campo Tipo Descripción
project_id cadena ID del proyecto de Trusted Cloud que contiene el recurso de VM
region cadena Región de la VM
vm_name cadena Nombre de la instancia de la VM
zone cadena Zona de la VM
managed_instance_group InstanceGroupDetails Si la VM forma parte de un grupo de instancias administrado, este campo se completa con los detalles del grupo de instancias.

Formato del campo InstanceGroupDetails

Campo Tipo Descripción
name cadena Nombre del grupo de instancias
region cadena Si el grupo de instancias es regional, este campo se completa con la región del grupo de instancias.
zone cadena Si el grupo de instancias es zonal, este campo se completa con la zona del grupo de instancias.

Formato del campo GeographicDetails

Campo Tipo Descripción
asn int32 El ASN de la red externa a la que pertenece el extremo.
city cadena Ciudad para los extremos externos
continent cadena Continente de los extremos externos.
country cadena País para los extremos externos, representado como de un código de país de ISO 3166-1 Alfa-3
region cadena Región de los extremos externos.

Formato del campo VpcDetails

Campo Tipo Descripción
project_id cadena ID del proyecto de Trusted Cloud que contiene la VPC. En una configuración de VPC compartida, project_id es el ID del proyecto host.
subnetwork_name cadena Nombre de la subred, si corresponde
subnetwork_region cadena Región de la subred, si corresponde
vpc_name cadena Nombre de la red

Formato del campo InternetRoutingDetails

Campo Tipo Descripción
egress_as_path AsPath Lista de rutas de acceso de AS relevantes. Si hay varias rutas de acceso de AS disponibles para el flujo, el campo puede contener más de una ruta de acceso de AS.

Formato de campo AsPath

Campo Tipo Descripción
as_details AsDetails Lista de detalles del AS para todos los sistemas de la ruta de acceso del AS. La lista empieza desde el primer AS externo a la red de Trusted Cloudy termina con el AS al que pertenece la dirección IP remota.

Formato del campo AsDetails

Campo Tipo Descripción
asn uint32 Es el número de sistema autónomo (ASN) del AS

Formato del campo LoadBalancingDetails

Campo Tipo Descripción
forwarding_rule_project_id cadena ID del proyecto deTrusted Cloud de la regla de reenvío
reporter cadena Informante de Cloud Load Balancing. Puede ser CLIENT o BACKEND.
  • Si el informante del flujo es el cliente del balanceador de cargas, este campo se establece en CLIENT.
  • Si el informante del flujo es el backend del balanceador de cargas, este campo se establece en BACKEND.
type cadena Tipo de balanceador de cargas. Puede ser APPLICATION_LOAD_BALANCER, PROXY_NETWORK_LOAD_BALANCER, PASSTHROUGH_NETWORK_LOAD_BALANCER o PROTOCOL_FORWARDING.
scheme cadena Esquema del balanceador de cargas. Puede ser EXTERNAL_MANAGED, INTERNAL_MANAGED, EXTERNAL, INTERNAL o INTERNAL_SELF_MANAGED.
url_map_name cadena Es el nombre del mapa de URL. Se completa si el tipo del balanceador de cargas es APPLICATION_LOAD_BALANCER.
forwarding_rule_name cadena Nombre de la regla de reenvío
backend_service_name cadena Es el nombre del servicio de backend. Se completa si el informante es BACKEND y el tipo de balanceador de cargas es PASSTHROUGH_NETWORK_LOAD_BALANCER. Si el tipo de grupo de backend es TARGET_POOL, este campo no se completa.
backend_group_name cadena Es el nombre del grupo de backend. Se completa si el informante es BACKEND y el tipo de balanceador de cargas es PASSTHROUGH_NETWORK_LOAD_BALANCER.
backend_group_type cadena Tipo del grupo de backend. Puede ser INSTANCE_GROUP, NETWORK_ENDPOINT_GROUP o TARGET_POOL. Se completa si el informante es BACKEND y el tipo de balanceador de cargas es PASSTHROUGH_NETWORK_LOAD_BALANCER.
backend_group_location cadena Es la ubicación del grupo de backend. Puede ser una zona o una región, según si el permiso del grupo de backend es zonal o regional. Se completa si el informante es BACKEND y el tipo de balanceador de cargas es PASSTHROUGH_NETWORK_LOAD_BALANCER. Si el tipo de grupo de backend es TARGET_POOL, este campo no se completa.
vpc VpcDetails Detalles de la red de VPC del balanceador de cargas

Formato del campo NetworkServiceDetails

Campo Tipo Descripción
dscp int32 Si el campo de servicios diferenciados está presente en los encabezados de los paquetes, este campo se completa con el valor de DSCP.

Formato del campo PrivateServiceConnectDetails

Campo Tipo Descripción
reporter cadena Informante de Private Service Connect. Puede ser CONSUMER o PRODUCER.
psc_endpoint PrivateServiceConnectEndpointDetails Detalles del extremo. Se propaga si el informante es CONSUMER.
psc_attachment PrivateServiceConnectAttachmentDetails Detalles del adjunto de servicio. Se propaga si el flujo de tráfico incluye un productor de Private Service Connect.

Formato del campo PrivateServiceConnectEndpointDetails

Campo Tipo Descripción
project_id cadena ID del proyecto deTrusted Cloud del extremo de Private Service Connect
region cadena Región del extremo. No se completa si el tipo de servicio de destino es GLOBAL_GOOGLE_APIS.
psc_connection_id cadena ID de conexión de Private Service Connect
target_service_type cadena Tipo de servicio de destino. Puede ser GLOBAL_GOOGLE_APIS o PUBLISHED_SERVICE.
vpc VpcDetails Detalles de la red de VPC del extremo de Private Service Connect

Formato del campo PrivateServiceConnectAttachmentDetails

Campo Tipo Descripción
project_id cadena ID del proyecto deTrusted Cloud del adjunto de servicio
region cadena Región del adjunto de servicio
vpc VpcDetails Detalles de la red de VPC del adjunto del servicio

Anotaciones de metadatos

Los registros contienen campos base y campos de metadatos. En la sección Formato del registro, se enumeran los campos que son de tipo metadatos y los que son de tipo base. Todos los campos base siempre se incluyen. Puedes personalizar qué campos de metadatos conservas.

  • Si seleccionas todos los metadatos, todos los campos de metadatos en el formato de registro Registros de flujo de VPC se incluyen en los registros de flujo. Cuando se agregan campos de metadatos nuevos al formato del registro, los registros de flujo incluyen automáticamente los campos nuevos.

  • Si no seleccionas metadatos, se omitirán todos los campos de metadatos.

  • Si seleccionas metadatos personalizados, puedes especificar los campos de metadatos que deseas incluir en el campo superior, como src_vpc, o en sus nombres completos, como src_vpc.project_id.

    Cuando se agregan campos de metadatos nuevos al formato del registro, se excluyen de los registros de flujo, a menos que se encuentren dentro de un campo superior que hayas especificado para que se incluya.

    • Si especificas metadatos personalizados con campos superiores, cuando los campos de metadatos nuevos se agreguen al formato del registro de ese campo superior, los registros de flujo incluirán automáticamente los campos nuevos.

    • Si especificas metadatos personalizados con el nombre completo del campo, los campos de metadatos nuevos que se agreguen al campo superior se excluirán de los registros de flujo.

Si quieres obtener información para personalizar los campos de metadatos, consulta Habilita los registros de flujo de VPC o Actualiza la configuración de los registros de flujo de VPC.

Anotaciones de metadatos de GKE

Los flujos que tienen un extremo en un clúster de GKE pueden anotarse con anotaciones de metadatos de GKE, que pueden incluir detalles del clúster, el Pod y el Service del extremo.

Anotaciones del Service de GKE

El tráfico enviado a un ClusterIP, NodePort o LoadBalancer puede recibir anotaciones del servicio. Si se envía a un NodePort o un LoadBalancer, el flujo recibe la anotación del Service en ambos saltos de la conexión.

El tráfico enviado directamente al puerto de Service de un Pod se anota con una anotación del Service en el extremo de destino.

El tráfico enviado al puerto de Service de un Pod en el que el Pod está creando una copia de seguridad de más de un Service en el mismo puerto se anota con varios Service en el extremo de destino. Se limita a dos Service. Si hay más que eso, el extremo se anotará con un marcador MANY_SERVICES especial.

Anotaciones de Pod en el tráfico de Internet

De forma predeterminada, el tráfico entre Internet y un Pod no recibe anotaciones de Pod. Los registros de flujo de VPC no pueden agregar anotaciones de Pod porque, para el envío de paquetes a Internet, el agente de enmascaramiento traduce la dirección IP del Pod a la dirección IP del nodo antes de que los registros de flujo de VPC vean el paquete.

Debido al enmascaramiento, las anotaciones de Pod solo son visibles si los destinos se encuentran dentro de los destinos predeterminados sin enmascarar o en una lista nonMasqueradeCIDRs personalizada. Si incluyes destinos de Internet en una lista nonMasqueradeCIDRs personalizada, debes proporcionar una forma de que las direcciones IP internas del Pod se traduzcan antes de que se entreguen a Internet. Para los clústeres privados y no privados, puedes usar Cloud NAT. Consulta Interacción de GKE para obtener más detalles.

Anotaciones entre proyectos

Si los registros de flujo de VPC están habilitados a nivel de la organización, los flujos a través de la VPC compartida, el intercambio de tráfico entre redes de VPC y Network Connectivity Center se anotan con anotaciones entre proyectos. Las anotaciones entre proyectos están habilitadas de forma predeterminada. También puedes inhabilitar estas anotaciones.

  • Si las anotaciones entre proyectos están habilitadas, los registros de los flujos entre recursos de diferentes proyectos incluyen información sobre ambos lados del flujo.
  • Si las anotaciones entre proyectos están inhabilitadas, los registros de registro solo incluyen información sobre el informante del flujo.

Si los registros del flujo de VPC están habilitados a nivel del proyecto, los flujos entre recursos de diferentes proyectos no se anotan con anotaciones entre proyectos.

Filtrado de registros

Cuando habilitas los registros de flujo de VPC, puedes configurar un filtro basado en los campos base y de metadatos que solo conservan los registros que coinciden con el filtro. Todos los demás registros se descartan antes de escribirse en Logging.

Puedes filtrar cualquier subconjunto de campos que aparezca en Formato del registro, excepto para los siguientes campos:

  • rtt_msec
  • bytes_sent
  • packets_sent
  • start_time
  • end_time

Los filtros de registros de flujo de VPC usan CEL, un lenguaje de expresión incorporado para las expresiones lógicas basadas en atributos. Las expresiones de filtro para los registros de flujo de VPC tienen un límite de 2,048 caracteres. Para obtener más información, consulta Operadores lógicos CEL admitidos.

Para obtener más información acerca del CEL, consulta la introducción a CEL y la definición de lenguaje. La función de filtro de generación admite un subconjunto limitado de sintaxis CEL.

Para crear una configuración de registros de flujo de VPC que use el filtrado de registros, consulta Habilita los registros de flujo de VPC. Para configurar el filtrado de registros en una configuración existente de registros de flujo de VPC, consulta Actualiza la configuración de los registros de flujo de VPC.

Operadores lógicos CEL admitidos

Expresión Tipos compatibles Descripción
true, false Booleano Constantes booleanas

x == y

x != y

Booleano, Int, Cadena

Operadores de comparación

Ejemplo: connection.protocol == 6

x && y

x || y

Booleano

Operadores lógicos booleanos

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

!x Booleano Negación
1, 2.0, 0, … Int Literales numéricos constantes
x + y Cadena Concatenación de cadena
"foo", 'foo', … Cadena Literal de cadena constante
x.lower() Cadena Devuelve el valor de la cadena en minúsculas
x.upper() Cadena Devuelve el valor de la cadena en mayúsculas
x.contains(y) Cadena Devuelve el valor verdadero si la cadena contiene la subcadena especificada
x.startsWith(y) Cadena Devuelve el valor verdadero si la cadena comienza con la subcadena especificada
x.endsWith(y) Cadena Devuelve el valor verdadero si la cadena termina con la subcadena especificada
inIpRange(X, Y) Cadena

Devuelve el valor verdadero si X es una IP e Y es un rango de IP que contiene X

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

x.containsFieldValue(y) x: lista
y: mapa(cadena, cadena)

Devuelve el valor verdadero si la lista contiene un objeto con campos que coinciden con los pares clave-valor especificados

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

has(x) Cadena

Devuelve el valor verdadero si el campo está presente.

Ejemplos de filtros de registros

Si habilitaste los registros de flujo de VPC para una subred con la API de Compute Engine, usa el comando gcloud compute networks subnets update para configurar el filtrado (ejemplos del 1 al 3).

Para otra configuración de los registros de flujo de VPC, usa el comando gcloud network-management vpc-flow-logs-configs update (ejemplos del 4 al 6). Las expresiones de filtro de los ejemplos del 1 al 3 se pueden usar con el comando gcloud network-management vpc-flow-logs-configs update.

Ejemplo 1. Limita la recopilación de registros a una VM específica llamada my-vm. En este caso, solo se graban los registros en los que el campo src_instance informado por la fuente del tráfico es my-vm o el campo dst_instance, como lo indica el destino del tráfico es 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')"

Ejemplo 2. Limita la recopilación de registros a los paquetes cuyas direcciones IP de origen estén en la subred 10.0.0.0/8.

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

Ejemplo 3. Limita la recopilación de registros al tráfico externo a una red de VPC.

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

Ejemplo 4. Limita la recopilación de registros a un adjunto de VLAN o un túnel de Cloud VPN de destino específicos, my-gateway.

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

Ejemplo 5. Limita la recopilación de registros a los adjuntos de VLAN.

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

Ejemplo 6. Limita la recopilación de registros a una red de VPC de origen 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'"

¿Qué sigue?