Registro y supervisión del balanceador de cargas de red de transferencia externo global

En este documento, se muestra cómo configurar y usar Cloud Logging y Cloud Monitoring para balanceadores de cargas de red de transferencia externos globales.

Logging

Los registros proporcionan información útil para solucionar problemas y supervisar tu balanceador de cargas de red de transferencia externo global. Los registros se agregan por conexión y se exportan casi en tiempo real. Los registros se generan para los flujos de TCP, UDP, ESP, GRE, ICMP y ICMPv6 de cada instancia con balanceo de cargas para el tráfico de entrada y salida. Para obtener más información sobre los campos proporcionados en la entrada de registro, consulta Campos de registro.

No se aplican cargos adicionales por usar registros. Según cómo importes registros, se aplican los precios estándar para Cloud Logging, BigQuery o Pub/Sub. La habilitación de los registros no afecta el rendimiento del balanceador de cargas.

El registro proporciona los siguientes beneficios:

  • Supervisión del tráfico del balanceador de cargas de red de transferencia externo global. El registro por conexión te brinda estadísticas sobre cómo se enruta cada conexión a los backends activos.

  • Solución de problemas de red Puedes usar los registros del balanceador de cargas de red de transferencia externo global para solucionar problemas.

Formato de registro de muestra para flujos de un cliente externo a VM

En el siguiente diagrama, se muestra el tráfico entrante y saliente de un cliente externo (203.0.113.7) que accede a un balanceador de cargas de red de transferencia externo global configurado con dos direcciones IP de Anycast globales 136.124.69.214 asignadas al grupo de disponibilidad 0 (AG0) y 136.124.83.205 asignadas al grupo de disponibilidad 1 (AG1), y las instancias de backend (10.10.0.2 y 10.20.0.2).

Flujos de cliente externo a servicios de VM de backend.
Flujos entrantes y salientes para un cliente externo a la VM.

Los registros del balanceador de cargas de red de transferencia externo global para las conexiones del cliente a la instancia de backend tienen el siguiente formato:

  • connection.clientIp: 203.0.113.7
  • connection.serverIp: 136.124.69.214 (AG0) o 136.124.83.205 (AG1)
  • bytesSent: 1256
  • bytesReceived: 4521

Muestreo y recopilación de registros

Cloud de Confiance Crea muestras de los paquetes que entran y salen de las VMs de backend del balanceador de cargas. Esos paquetes de muestra se procesan para generar registros.

No todos los paquetes se muestrean. Cloud de Confiance Muestrea un subconjunto variable de paquetes según la cantidad de tráfico en el host físico. La tasa de muestreo más baja posible es una de 1,024 paquetes. Cloud de Confiancecontrola la tasa de muestreo de forma dinámica. No puedes ajustar la tasa de muestreo.

El muestreo de paquetes interactúa con reglas de firewall de las siguientes maneras:

  • Los paquetes se muestrean antes de que se apliquen las reglas de firewall de salida.
  • Los paquetes se muestrean después de que se apliquen las reglas de firewall de entrada.

Después del muestreo de paquetes, Cloud de Confiance procesa los paquetes de muestra según el siguiente procedimiento:

  1. Agregación: Los paquetes de muestra se agregan durante un intervalo de cinco segundos para producir una sola entrada de flujo.

  2. Muestreo de registros configurable (secundario): Este es un segundo proceso de muestreo, en el que se muestrean los flujos. Puedes controlar la fracción de las entradas de flujo que se emiten como entradas de registro según el parámetro logConfig.sampleRate. Cuando logConfig.sampleRate es 1.0 (100%), significa que se procesan todos los paquetes de muestra.

  3. Escritura en Logging: Las entradas de registro se escriben en Cloud Logging.

Campos opcionales

Los registros contienen campos obligatorios y opcionales. En la sección Campos de registro, se enumeran los campos opcionales y los obligatorios. Siempre se incluyen todos los campos obligatorios. Puedes personalizar qué campos de metadatos opcionales.

  • Si seleccionas Include all optional, todos los campos opcionales en el formato del registro se incluyen en los registros de flujo. Cuando se agregan campos opcionales nuevos al formato del registro, los registros de flujo incluyen automáticamente los campos nuevos.

  • Si seleccionas Excluir todas las opciones opcionales, se omitirán todos los campos opcionales.

  • Si seleccionas Personalizado, puedes especificar los campos opcionales que deseas incluir con el campo superior, como serverInstance, o con sus nombres completos, como serverInstance.vm.

Cuando se agregan campos opcionales nuevos al formato del registro, los registros no incluirán estos campos, a menos que sean un campo nuevo dentro de un campo superior que hayas especificado.

Si especificas un campo opcional personalizado con campos superiores, cuando los campos opcionales nuevos se agreguen al formato del registro de ese campo superior, los registros incluirán automáticamente los campos nuevos. Por ejemplo, si eliges incluir optionalFieldA, se incluirá de forma automática un campo nuevo agregado a los registros con el nombre optionalFieldA.subField1.

Para obtener instrucciones para personalizar campos opcionales, consulta Habilita el registro en un nuevo servicio de backend.

Requisitos de dirección IP de origen del paquete de respuesta

El registro muestrea los paquetes de respuesta de las VMs de backend solo si la dirección IP de origen de esos paquetes coincide con la dirección IP de la regla de reenvío del balanceador de cargas. Para las conexiones TCP, los paquetes de respuesta siempre deben tener fuentes que coincidan con el destino del paquete de solicitud. Sin embargo, para otros protocolos, es posible que los paquetes de respuesta usen una dirección IP de origen diferente. A fin de obtener más información, consulta Direcciones IP para solicitudes y paquetes de retorno.

El proceso de muestreo de paquetes que usa el registro del balanceador de cargas de red de transferencia externo global omite cualquier paquete de respuesta de las VMs de backend si esos paquetes tienen fuentes que no coinciden con una dirección IP de una regla de reenvío para un balanceador de cargas de red de transferencia externo global.

Habilita el registro en un servicio de backend nuevo

gcloud

Crea el servicio de backend para habilitar el registro con el gcloud compute backend-services create comando.

    gcloud compute backend-services create BACKEND_SERVICE \
        --global \
        --load-balancing-scheme=EXTERNAL_PASSTHROUGH \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE \
        --logging-optional=LOGGING_OPTIONAL \
        --logging-optional-fields=OPTIONAL_FIELDS
    

Reemplaza lo siguiente:

  • BACKEND_SERVICE: el nombre del servicio de backend.
  • SAMPLE_RATE: este campo solo se puede especificar si el registro está habilitado para este servicio de backend.

    El valor del campo debe ser de 0.0 to 1.0, en el que 0.0 significa que no se generan registros y, 1.0, que se generan registros de todos los paquetes de muestra. Si se habilita el registro, pero se configura la tasa de muestreo en 0.0, se inhabilita ese registro. El valor predeterminado es 1.0.

  • LOGGING_OPTIONAL: los campos opcionales que deseas incluir en los registros:
    • INCLUDE_ALL_OPTIONAL para incluir todos los campos opcionales
    • EXCLUDE_ALL_OPTIONAL (opción predeterminada) para excluir todos los campos opcionales
    • CUSTOM para incluir una lista personalizada de los campos opcionales que especifiques en OPTIONAL_FIELDS.
  • OPTIONAL_FIELDS: una lista separada por comas de los campos opcionales que deseas incluir en los registros.

    Por ejemplo, serverInstance.vm,serverGkeDetails. Solo se puede configurar si LOGGING_OPTIONAL se establece como CUSTOM.

API

Realiza una solicitud POST al método backendServices.insert.

    POST https://compute.s3nsapis.fr/compute/v1/projects/`PROJECT_ID`/global/backendServices
    

Excluir todos los campos opcionales

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_PASSTHROUGH",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Incluir todos los campos opcionales

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_PASSTHROUGH",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "INCLUDE_ALL_OPTIONAL"
      }
    }
    

Cómo incluir una lista personalizada de campos opcionales

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_PASSTHROUGH",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "CUSTOM",
       "optionalFields": ["field1","field2",...]
      }
    }
    

Habilita el registro en un servicio de backend existente

gcloud

Habilita el registro en un servicio de backend existente con el comando gcloud compute backend-services update.

    gcloud compute backend-services update BACKEND_SERVICE \
        --global \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE \
        --logging-optional=LOGGING_OPTIONAL \
        --logging-optional-fields=OPTIONAL_FIELDS
    

Reemplaza lo siguiente:

  • BACKEND_SERVICE: el nombre del servicio de backend.
  • SAMPLE_RATE: este campo solo se puede especificar si el registro está habilitado para este servicio de backend.

    El valor del campo debe ser de 0.0 to 1.0, en el que 0.0 significa que no se informan registros y, 1.0, que se generan registros para todos los paquetes de muestra. Si se habilita el registro, pero se configura la tasa de muestreo en 0.0, se inhabilita ese registro. El valor predeterminado es 1.0.

  • LOGGING_OPTIONAL: los campos opcionales que deseas incluir en los registros:
    • INCLUDE_ALL_OPTIONAL para incluir todos los campos opcionales.
    • EXCLUDE_ALL_OPTIONAL para excluir todos los campos opcionales (opción predeterminada).
    • CUSTOM para incluir una lista personalizada de los campos opcionales que especifiques en OPTIONAL_FIELDS.
  • OPTIONAL_FIELDS: una lista separada por comas de los campos opcionales que deseas incluir en los registros.

    Por ejemplo, serverInstance.vm,serverGkeDetails. Solo se puede configurar si LOGGING_OPTIONAL se establece como CUSTOM.

API

Realiza una solicitud PATCH al método backendServices/patch.

      PATCH https://compute.s3nsapis.fr/compute/v1/projects/`PROJECT_ID`/global/backendServices/`BACKEND_SERVICE`
     

Excluir todos los campos opcionales

     "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "EXCLUDE_ALL_OPTIONAL"
      }
     

Incluir todos los campos opcionales

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_PASSTHROUGH",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "INCLUDE_ALL_OPTIONAL"
      }
    }
    

Cómo incluir una lista personalizada de campos opcionales

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_PASSTHROUGH",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "CUSTOM",
       "optionalFields": ["field1","field2",...]
      }
    }
    

Inhabilita el registro en un servicio de backend existente

gcloud

Inhabilita el registro en el servicio de backend con el comando gcloud compute backend-services update.

    gcloud compute backend-services update BACKEND_SERVICE \
        --global \
        --no-enable-logging

Reemplaza lo siguiente:

  • BACKEND_SERVICE: el nombre del servicio de backend.

API

Realiza una solicitud PATCH al método backendServices/patch.

    PATCH https://compute.s3nsapis.fr/compute/v1/projects/`PROJECT_ID`/global/backendServices/`BACKEND_SERVICE`

    {
    "logConfig": {
      "enable": false
     }
    }

Ver registros

Cuando los registros se transfieren a Cloud Logging y no se excluyen a través de un receptor de enrutadores de registros, puedes leer los registros mediante la API de Cloud Logging y Google Cloud CLI.

Para ver todos los registros del balanceador de cargas de red de transferencia externo global, haz lo siguiente:

Console

  1. En la consola de Cloud de Confiance , accede a la página Explorador de registros.

    Ve al Explorador de registros

  2. Selecciona el tipo de recurso Regla de balanceador de cargas de red de transferencia externa.

  3. Selecciona el nombre de registro loadbalancing.googleapis.com/flows.

Consulta en la consola

  1. En la consola de Cloud de Confiance , accede a la página Explorador de registros.

    Ir a Explorador de registros

  2. Haz clic en el botón de activar o desactivar Mostrar consulta.

  3. Pega lo siguiente en el campo de la consulta. Reemplaza PROJECT_ID por el ID del proyecto.

    resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows"
    
  4. Haz clic en Ejecutar consulta.

Visualiza los registros de un servicio de backend específico

Para ver los registros del balanceador de cargas de red de transferencia externo global de un servicio de backend específico, haz lo siguiente:

Consulta en la consola

  1. En la consola de Cloud de Confiance , accede a la página Explorador de registros.

    Ir a Explorador de registros

  2. Haz clic en el botón de activar o desactivar Mostrar consulta.

  3. Pega lo siguiente en el campo de la consulta. Reemplaza PROJECT_ID por el ID de tu proyecto y BACKEND_SERVICE_NAME por el nombre de tu servicio de backend.

    resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows"
    resource.labels.backend_service_name="BACKEND_SERVICE_NAME"
    
  4. Haz clic en Ejecutar consulta.

Visualiza los registros de un grupo de instancias de backend

Para ver los registros del balanceador de cargas de red de transferencia externo global de un grupo de instancias de backend específico, haz lo siguiente:

Consulta en la consola

  1. En la consola de Cloud de Confiance , accede a la página Explorador de registros.

    Ir a Explorador de registros

  2. Haz clic en el botón de activar o desactivar Mostrar consulta.

  3. Pega lo siguiente en el campo de la consulta. Reemplaza PROJECT_ID por el ID del proyecto y BACKEND_GROUP_NAME por el nombre del grupo de instancias.

    resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows"
    resource.labels.backend_group_name="BACKEND_GROUP_NAME"
    
  4. Haz clic en Ejecutar consulta.

Campos de registro

Los registros contienen campos obligatorios (los campos predeterminados de cada registro) y campos opcionales que agregan información adicional. Los campos opcionales 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. En la siguiente tabla de formato de registros, se describen estos campos múltiples.

El recurso supervisado es loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule.

Campo Formato del campo Tipo del campo: opcional u obligatorio Descripción
conexión IpConnection Obligatorio Esta conexión se describe a través de una tupla de 5.
startTime string Obligatorio Marca de tiempo (cadena con formato de fecha RFC 3339) del primer paquete observado durante el intervalo de tiempo agregado.
endTime string Obligatorio Marca de tiempo (cadena con formato de fecha RFC 3339) del último paquete que se observó durante el intervalo de tiempo agregado.
bytesSent int64 Obligatorio Cantidad de bytes enviados del servidor al cliente.
bytesReceived int64 Obligatorio Cantidad de bytes que recibió el servidor del cliente.
packetsSent int64 Obligatorio Cantidad de paquetes enviados desde el servidor al cliente.
packetsReceived int64 Obligatorio Cantidad de paquetes que recibió el servidor desde el cliente.
rtt string Obligatorio

La latencia se mide solo para conexiones TCP. La latencia es la suma del tiempo de ida y vuelta (RTT) estimado de la red más el tiempo consumido en el procesamiento del paquete dentro del sistema operativo del cliente.

En los paquetes de muestra, el RTT se calcula desde la perspectiva de un backend con balanceo de cargas, mediante la medición de las diferencias de tiempo entre el backend que envía un segmento TCP y el backend que recibe una confirmación de recepción de TCP para el número de secuencia del segmento enviado.

La latencia tiene el formato de una cadena que comienza con la cantidad de segundos y termina con “s” para indicar que son segundos. Los nanosegundos se expresan como segundos fraccionarios. Por ejemplo, la latencia de 250 milisegundos se expresa como “0.250000000s”.

serverInstance InstanceDetails Opcional Los detalles de la instancia de VM de backend.
clientLocation GeographicDetails Opcional Los metadatos de ubicación disponibles del cliente.
serverGkeDetails GkeDetails Opcional Metadatos de GKE para el backend del servidor. Solo está disponible si el backend es un extremo de GKE.
networkTier NetworkTierDetails Opcional Nivel de red para conexiones externas; se completa solo cuando el cliente no se encuentra en Cloud de Confiance by S3NS.

Formato del campo IpConnection

Campo Tipo Descripción
clientIp string Dirección IP de cliente
clientPort int32 Puerto del cliente. Solo se establece para conexiones TCP y UDP.
serverIp string Dirección IP del servidor (IP de la regla de reenvío)
serverPort int32 Puerto del servidor. Solo se establece para conexiones TCP y UDP.
protocol int32 Número de protocolo IANA

Formato del campo InstanceDetails

Campo Tipo Descripción
projectId string ID del proyecto que contiene la VM.
vm string Nombre de la instancia de la VM.
region cadena Región de la VM
zone cadena Zona de la VM
vmIp string Dirección IPv4 interna principal de la interfaz de red que entregó la conexión

Formato del campo GeographicDetails

Campo Tipo Descripción
continent string Continent name
regionCode string Un código regional CLDR de Unicode, como US o FR. Para la mayoría de los países, estos códigos corresponden directamente a los códigos ISO-3166-2.
subRegion cadena Un ID de subdivisión CLDR de Unicode, por ejemplo, una provincia o un estado del país, como USCA o CAON. Estos códigos Unicode se derivan de las subdivisiones definidas por el estándar ISO-3166-2.
city string Nombre de la ciudad, por ejemplo, Mountain View para Mountain View, California. No hay una lista canónica de valores válidos para esta variable. Los nombres de las ciudades pueden contener letras, números, espacios y los siguientes caracteres de US-ASCII: !#$%&'*+-.^_`|~.
asn int32 El número del sistema autónomo (ASN) de la red externa a la que pertenece este extremo.

Formato del campo GkeDetails

Campo Tipo Descripción
clúster 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 servicio de GKE, propagados solo en los extremos del servicio. El registro contiene hasta dos servicios. Si hay más de dos servicios relevantes, este campo contiene un solo servicio con un marcador especial MANY_SERVICES.

Formato del campo ClusterDetails

Campo Tipo Descripción
clúster string Nombre del clúster de GKE
clusterLocation string Ubicación del clúster. La ubicación del clúster puede ser una zona o una región.

Formato del campo PodDetails

Campo Tipo Descripción
pod string Nombre del Pod.
podNamespace string Espacio de nombres del Pod.

Formato del campo ServiceDetails

Campo Tipo Descripción
service string Nombre del servicio. Si hay más de dos servicios relevantes, el campo se configura como un marcador especial MANY_SERVICES.
serviceNamespace string Espacio de nombres del servicio

Formato del campo NetworkTierDetails

Campo Tipo Descripción
networkTier string NetworkTier usado en la conexión, uno de [PREMIUM, ESTÁNDAR, FIXED_STANDARD, UNKNOWN].

Supervisión

Los balanceadores de cargas de red de transferencia externos globales exportan métricas clave a Cloud Monitoring.

Se pueden usar las métricas de Monitoring para los siguientes fines:

  • Evaluar la configuración, el uso y el rendimiento de un balanceador de cargas
  • Solucionar problemas
  • Mejorar el uso de recursos y la experiencia del usuario

Además de los paneles predefinidos en Monitoring, puedes crear paneles personalizados, configurar alertas y consultar las métricas a través de la API de Monitoring.

No puedes consultar ni filtrar las métricas de supervisión con la regla de reenvío global principal. Esto se debe a que cada regla de reenvío secundaria de su grupo de disponibilidad implementa el tráfico con balanceo de cargas, el enrutamiento del plano de datos y las verificaciones de estado. Por lo tanto, debes consultar y filtrar las métricas con las reglas de reenvío secundarias que Cloud de Confiance genera para cada grupo de disponibilidad. Cloud de Confiancenombra estas reglas secundarias concatenando el nombre de la regla de reenvío principal con-ag0y-ag1. La supervisión con esta granularidad de la regla de reenvío secundaria te permite ver las métricas por grupo de disponibilidad. Para obtener más información, consulta las reglas de reenvío.

Ve los paneles de Monitoring

Console

  1. En la consola de Cloud de Confiance , dirígete a la página Monitoring.

    Ir a Monitoring

  2. En el panel de navegación, selecciona Paneles.

  3. Selecciona el panel de Balanceadores de cargas de Google Cloud. Se muestran todos los balanceadores de cargas.

  4. Selecciona el nombre del balanceador de cargas de la lista de balanceadores de cargas.

En el panel Detalles del balanceador de cargas de red de transferencia externo global, puedes ver varios detalles del balanceador de cargas seleccionado. En este panel, se muestran tus configuraciones actuales.

En el panel Métricas de claves, puedes ver gráficos para cada métrica de clave. Para ver los desgloses específicos, haz clic en Desgloses. En este panel, se presentan datos informados por las configuraciones históricas, mientras que en el panel Detalles del balanceador de cargas de red de transferencia externo global solo se muestran las configuraciones actuales. Para obtener más información, consulta Paneles y gráficos.

Define los paneles personalizados de Monitoring

Puedes crear paneles personalizados de Monitoring a través de métricas del balanceador de cargas de red de transferencia externo global.

Consulta Tipos de recursos y métricas para obtener una lista de las métricas recopiladas. Si deseas ver las listas de atributos que puedes usar para filtrar resultados, consulta Filtros.

Console

  1. En la consola de Cloud de Confiance , dirígete a la página Monitoring.

    Ir a Monitoring

  2. Selecciona Paneles > Crear panel.

  3. Haz clic en Agregar gráfico.

  4. Ponle un título al gráfico.

  5. Selecciona métricas y filtros.

    Para encontrar las métricas del balanceador de cargas de red de transferencia externo global, busca el prefijo loadbalancing.googleapis.com/l3/external.

  6. Haz clic en Guardar.

Define alertas de Monitoring

Puedes definir alertas de Monitoring a través de varias métricas del balanceador de cargas de red de transferencia externo global:

Console

  1. En la consola de Cloud de Confiance , dirígete a la página Monitoring.

    Ir a Monitoring

  2. Selecciona Alertas > Crear una política.

  3. Selecciona los tipos de recursos y métricas.

    Para encontrar tipos de recursos y métricas del balanceador de cargas de red de transferencia externo global, busca loadbalancing.googleapis.com/l3/external en el campo Buscar tipo de recurso y métrica.

  4. Especifica una Configuración para establecer cuándo se debe activar una alerta.

  5. Si es necesario, agrega Filtros.

  6. Haz clic en Guardar.

Frecuencia y retención de informes de métricas

Las métricas de los balanceadores de cargas de red de transferencia externos globales se exportan a Monitoring en lotes con un nivel de detalle de un minuto. Los datos de Monitoring se conservan durante seis semanas. Las métricas se basan en el tráfico muestreado (la tasa de muestreo es dinámica y no se puede ajustar). En el panel, se proporciona un análisis de datos en intervalos predeterminados de una hora (1H), seis horas (6H), un día (1D), una semana (1W) y seis semanas (6W). Puedes solicitar un análisis de forma manual en cualquier intervalo de seis semanas a sesenta segundos.

Tipos de recursos y métricas

En esta sección, se describen las métricas y los tipos de recursos para los balanceadores de cargas de red de transferencia externos globales.

Métricas

Las siguientes métricas para balanceadores de cargas de red de transferencia externos globales se informan en Monitoring. Puedes usar estos nombres de métricas cuando realices solicitudes a la API.

metric_name Tipo Descripción
loadbalancing.googleapis.com/l3/external/ingress_bytes_count contador Cantidad de bytes enviados desde un cliente a un backend del balanceador de cargas de red de transferencia externo global. Para los flujos TCP, solo se cuentan los bytes presentes en la transmisión de la aplicación.
loadbalancing.googleapis.com/l3/external/ingress_packets_count contador Es la cantidad de paquetes enviados desde un cliente a un backend del balanceador de cargas de red de transferencia externo global.
loadbalancing.googleapis.com/l3/external/egress_bytes_count contador Es la cantidad de bytes enviados desde un backend del balanceador de cargas de red de transferencia externo global a un cliente. Para los flujos TCP, solo se cuentan los bytes presentes en la transmisión de la aplicación.
loadbalancing.googleapis.com/l3/external/egress_packets_count contador Es la cantidad de paquetes enviados desde un backend del balanceador de cargas de red de transferencia externo global a un cliente.
loadbalancing.googleapis.com/l3/external/rtt_latencies distribución

Una distribución del rtt medida a través de conexiones TCP para los flujos de balanceadores de cargas de red de transferencia externos globales.

Disponible solo para el tráfico de TCP.

Tipos de recursos

Los balanceadores de cargas de red de transferencia externos globales usan los siguientes tipos de recursos:

  • tcp_lb_rule
  • udp_lb_rule
  • loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule

Un balanceador de cargas de red de transferencia externo global puede admitir tráfico de TCP, UDP, ESP, GRE, ICMP e ICMPv6.

Puedes especificar el tipo de recurso como tcp_lb_rule o udp_lb_rule para limitar los datos supervisados a los protocolos TCP o UDP. Puedes especificar el tipo de recurso como loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule para supervisar todos los protocolos compatibles, incluidos TCP, ICMP, ESP, GRE, ICMv6 y UDP.

Filtros

Las métricas se agregan para cada balanceador de cargas de red de transferencia externo global. Puedes filtrar métricas agregadas por las siguientes dimensiones.

Etiquetas de recursos para tcp_lb_rule o udp_lb_rule

Puedes restringir tu búsqueda por recurso. También puedes agrupar los resultados según estos valores.

resource.label.<var>LABEL_KEY</var>:
label_key Tipo Descripción
project cadena Es el identificador del proyecto de Cloud de Confiance asociado a este recurso.
load_balancer_name cadena El nombre del balanceador de cargas.
region cadena La región en la que se encuentra el backend del balanceador de cargas, por ejemplo, us-central1, europe-west1, asia-east1.
network_name cadena La red de VPC en la que reside el backend del balanceador de cargas.
backend_target_type string El tipo de destino de backend que controló la conexión. El valor válido es BACKEND_SERVICE.
backend_target_name cadena Es el nombre del servicio de backend.
forwarding_rule_name cadena

El nombre de la regla de reenvío.

Este es el nombre de una de las reglas de reenvío secundarias generadas por Cloud de Confiance(con el sufijo -ag0 o -ag1).

forwarding_rule_network_tier cadena El nivel de red de la regla de reenvío.
backend_name string

El nombre del backend que controló la conexión.

El valor es el nombre del grupo de instancias de backend o del grupo de extremos de red (NEG) que controló la conexión.

backend_type cadena

El tipo de backend que controló la conexión.

El valor puede ser INSTANCE_GROUP o NETWORK_ENDPOINT_GROUP.

backend_scope cadena

Zona o región del grupo de instancias de backend o NEG.

backend_scope_type cadena

El tipo de permiso del grupo de backend que controló la conexión. Los valores válidos son ZONE o REGION.

backend_subnetwork_name cadena El nombre de la subred del backend que recibió la conexión.
endpoint_zone string La zona de la VM de backend que controló la conexión.

Etiquetas de recursos de loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule

Puedes restringir tu búsqueda por recurso. También puedes agrupar los resultados según estos valores.

resource.label.<var>LABEL_KEY</var>:
label_key Tipo Descripción
project cadena Es el identificador del proyecto de Cloud de Confiance asociado a este recurso.
region cadena La región en la que se encuentra el backend del balanceador de cargas, por ejemplo, us-central1, europe-west1, asia-east1.
backend_network_name string La red de VPC en la que reside el backend del balanceador de cargas.
backend_target_type string El tipo de destino de backend que controló la conexión. El valor válido es BACKEND_SERVICE.
backend_service_name cadena El nombre del servicio de backend que controló la conexión.
forwarding_rule_name cadena

El nombre de la regla de reenvío.

Este es el nombre de una de las reglas de reenvío secundarias generadas por Cloud de Confiance(con el sufijo -ag0 o -ag1).

backend_group_name cadena El nombre del grupo de backend que controló la conexión.
backend_group_type cadena

El tipo de grupo de backend que controló la conexión.

Si backend_target_type es BACKEND_SERVICE, el valor es INSTANCE_GROUP o NETWORK_ENDPOINT_GROUP.

backend_group_scope cadena El alcance del grupo de backend (nombre de la zona o región) que controló la conexión.
backend_subnetwork_name cadena El nombre de la subred del backend que recibió la conexión.
backend_zone cadena La zona de la VM de backend que controló la conexión.

Etiquetas de métrica

Puedes restringir tu búsqueda por etiqueta de métrica. También puedes agrupar los resultados según estos valores.

metric.label.<var>LABEL_KEY</var>:
label_key Tipo Descripción
client_country cadena Es el país del cliente que inició la conexión con el balanceador de cargas de red de transferencia externo global.
client_continent cadena El continente del cliente que inició la conexión con el balanceador de cargas de red de transferencia externo global.
protocol cadena

El protocolo en la conexión para el recurso loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule.

Este campo se deja en blanco para los recursos tcp_lb_rule y udp_lb_rule.

Solicitudes a la API de Monitoring

Puedes crear búsquedas arbitrarias a través de los balanceadores de cargas de red de transferencia externos globales con la solicitud v3 projects.timeSeries.list de la API de Monitoring. La estructura exacta de las diversas definiciones respeta la semántica genérica de los filtros de supervisión.

Ejemplos de solicitudes a la API

  • Obtén todos los bytes enviados desde todos los balanceadores de cargas de red de transferencia externos globales del proyecto, entre las 12:00 y las 12:02 p.m. UTC del 1 de julio de 2019, con agregados de 1 m.

    Parámetros de timeSeries.list:

    • name: projects/PROJECT_ID
    • Filter: resource.type = "tcp_lb_rule" AND metric.name="loadbalancing.googleapis.com/l3/external/egress_bytes_count"
    • interval.start_time: 2019-07-01T12:00:00Z
    • interval.end_time: 2019-07-01T12:02:00Z
    • aggregation.alignmentPeriod: 60s
    • aggregation.crossSeriesReducer: REDUCE_SUM
    • aggregation.perSeriesAligner: ALIGN_SUM
  • Obtén una medición de la mediana del RTT en todos los balanceadores de cargas de red de transferencia externos globales del proyecto, entre las 12:19 y las 12:20 p.m. UTC del 1 de julio de 2019, desglosada por país del cliente.

    Parámetros de timeSeries.list:

    • name: projects/PROJECT_ID
    • Filter: resource.type = "tcp_lb_rule" AND metric.name="loadbalancing.googleapis.com/l3/external/rtt_latencies"
    • interval.start_time: 2019-07-01T12:19:00Z
    • interval.end_time: 2019-07-01T12:20:00Z
    • aggregation.alignmentPeriod: 60s
    • aggregation.crossSeriesReducer: REDUCE_SUM
    • aggregation.groupByFields: metric.label.client_country
    • aggregation.perSeriesAligner: ALIGN_PERCENTILE_50
  • Obtén el total de bytes de un balanceador de cargas de red de transferencia externo global específico entre las 12:19 y 12:20 p.m. UTC del 1 de julio de 2019, que se desglosa por la zona del extremo y el continente del cliente.

    Parámetros de timeSeries.list:

    • name: projects/PROJECT_ID
    • Filter: resource.type = "tcp_lb_rule" AND resource.label.load_balancer_name = "netlb-bs-1" AND metric.name="loadbalancing.googleapis.com/l3/external/ingress_bytes_count"
    • interval.start_time: 2019-07-01T12:19:00Z
    • interval.end_time: 2019-07-01T12:20:00Z
    • aggregation.alignmentPeriod: 60s
    • aggregation.crossSeriesReducer: REDUCE_SUM
    • aggregation.groupByFields: metric.label.client_continent
    • aggregation.groupByFields: resource.label.endpoint_zone
    • aggregation.perSeriesAligner: ALIGN_SUM

¿Qué sigue?