Registro y supervisión del balanceador de cargas de red del proxy

En esta página, se muestra cómo configurar y usar Cloud Logging y Cloud Monitoring para los balanceadores de cargas de red del proxy.

Supervisar recursos

En la tabla siguiente, se especifican los nombres de recursos para los balanceadores de cargas.

Balanceador de cargas de red del proxy externo regional

Balanceador de cargas de red del proxy interno regional

Balanceador de cargas de red del proxy interno entre regiones

Balanceador de cargas de red del proxy externo global

Balanceador de cargas de red del proxy clásico
Tipo de recurso supervisado de Logging “Regla del balanceador de cargas de red del proxy”
l4_proxy_rule
“Regla de balanceador de cargas de red de proxy externo global”
tcp_ssl_proxy_rule
Tipo de recurso supervisado “Regla del balanceador de cargas de red del proxy”
l4_proxy_rule
“Regla de balanceador de cargas de red de proxy externo global”
tcp_ssl_proxy_rule

Registros para los balanceadores de cargas de red del proxy

Los registros proporcionan información útil para solucionar problemas y supervisar balanceadores de cargas. Los registros se agregan para cada conexión y te brindan estadísticas sobre cómo se enruta cada conexión a los backends activos.

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

Muestreo y recopilación de registros

Se realizan muestreos de las conexiones que salen de las instancias de máquina virtual (VM) de backend del balanceador de cargas. Estas conexiones de muestra se procesan para generar registros. 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 generan registros para todas las conexiones y se escriben en Cloud Logging.

Habilita el registro en un servicio de backend nuevo

gcloud

Usa el comando gcloud compute backend-services create:

Para balanceadores de cargas de red del proxy externo regionales y balanceadores de cargas de red del proxy interno regionales

    gcloud compute backend-services create BACKEND_SERVICE \
        --region=REGION \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

Para balanceadores de cargas de red del proxy externos globales, balanceadores de cargas de red del proxy clásicos o balanceadores de cargas de red del proxy internos entre regiones:

    gcloud compute backend-services create BACKEND_SERVICE \
        --global \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

Reemplaza lo siguiente:

  • BACKEND_SERVICE: el nombre del servicio de backend.
  • REGION: la región del servicio de backend que se creará.
  • 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 registran registros y 1.0 significa que se registran todas las conexiones. 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.

API

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

Para balanceadores de cargas de red del proxy internos regionales:

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

Para balanceadores de cargas de red del proxy externos regionales:

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

Para balanceadores de cargas de red del proxy externos globales:

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

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

Para los balanceadores de cargas de red del proxy externos clásicos:

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

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

Para balanceadores de cargas de red de proxy internos entre regiones:

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

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

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 registran registros y 1.0 significa que se registran todas las conexiones. 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.

Habilita el registro en un servicio de backend existente

gcloud

Usa el comando gcloud compute backend-services update.

Para balanceadores de cargas de red del proxy externo regionales y balanceadores de cargas de red del proxy interno regionales

    gcloud compute backend-services update BACKEND_SERVICE \
        --region=REGION \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

Para balanceadores de cargas de red del proxy externos globales, balanceadores de cargas de red del proxy clásicos o balanceadores de cargas de red del proxy internos entre regiones:

    gcloud compute backend-services update BACKEND_SERVICE \
        --global \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

Reemplaza lo siguiente:

  • BACKEND_SERVICE: el nombre del servicio de backend.
  • REGION: la región del servicio de backend que se creará.
  • 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 registran registros y 1.0 significa que se registran todas las conexiones. 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.

API

Realiza una solicitud PATCH al método regionBackendServices/patch:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE
     

Para balanceadores de cargas de red del proxy internos regionales:

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

Para balanceadores de cargas de red del proxy externos regionales:

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

Para balanceadores de cargas de red del proxy externos globales:

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

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Para los balanceadores de cargas de red del proxy externos clásicos:

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

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Para balanceadores de cargas de red de proxy internos entre regiones:

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

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "INTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Reemplaza lo siguiente:

  • PROJECT_ID: nombre del proyecto.
  • 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 registran registros y 1.0 significa que se registran todas las conexiones. 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.

Inhabilita el registro en un servicio de backend existente

gcloud

Usa el comando gcloud compute backend-services update.

Para balanceadores de cargas de red del proxy externo regionales y balanceadores de cargas de red del proxy interno regionales

gcloud compute backend-services update BACKEND_SERVICE \
   --region=REGION \
   --no-enable-logging

Para balanceadores de cargas de red del proxy externos globales, balanceadores de cargas de red del proxy clásicos o balanceadores de cargas de red del proxy internos entre regiones:

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

Reemplaza lo siguiente:

  • BACKEND_SERVICE: el nombre del servicio de backend.
  • REGION: Es la región del servicio de backend.

API

Para balanceadores de cargas de red del proxy externo regionales y balanceadores de cargas de red del proxy interno regionales

Realiza una solicitud PATCH al método regionBackendServices/patch:

 PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE
  {
  "logConfig": {
    "enable": false
   }
  }
 

Para balanceadores de cargas de red del proxy externos globales, balanceadores de cargas de red del proxy clásicos o balanceadores de cargas de red del proxy internos entre regiones:

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

 PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
  {
  "logConfig": {
    "enable": false
   }
  }
 

Reemplaza lo siguiente:

  • PROJECT_ID: nombre del proyecto.
  • REGION: Es la región del servicio de backend.
  • BACKEND_SERVICE: el nombre del servicio de backend.

Visualiza 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, completa los siguientes pasos.

Consola

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al Explorador de registros

  2. Selecciona el tipo de recurso Regla del balanceador de cargas de red del proxy.

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

Consulta de consola

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al 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.

    resource.type="LOG_RESOURCE_TYPE"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
    
  4. Haz clic en Ejecutar consulta.

Reemplaza lo siguiente:

  • LOG_RESOURCE_TYPE: Es el tipo de recurso supervisado de registro configurado como l4_proxy_rule o tcp_ssl_proxy_rule.
  • PROJECT_ID: nombre del proyecto.

Visualiza los registros de un servicio de backend específico

Para ver los registros de un servicio de backend específico, completa los siguientes pasos.

Consulta de consola

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al 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.

    resource.type="LOG_RESOURCE_TYPE"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
    resource.labels.backend_service_name="BACKEND_SERVICE_NAME"
    
  4. Haz clic en Ejecutar consulta.

Reemplaza lo siguiente:

  • LOG_RESOURCE_TYPE: Es el tipo de recurso supervisado de registro configurado como l4_proxy_rule o tcp_ssl_proxy_rule.
  • PROJECT_ID: nombre del proyecto.
  • BACKEND_SERVICE_NAME: el nombre del servicio de backend.

Visualiza los registros de un grupo de instancias de backend

Para ver los registros de un grupo de instancias de backend específico, completa los siguientes pasos.

Consulta de consola

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al 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.

    resource.type="LOG_RESOURCE_TYPE"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
    resource.labels.backend_group_name="BACKEND_GROUP_NAME"
    
  4. Haz clic en Ejecutar consulta.

Reemplaza lo siguiente:

  • LOG_RESOURCE_TYPE: Es el tipo de recurso supervisado de registro configurado como l4_proxy_rule o tcp_ssl_proxy_rule.
  • PROJECT_ID: nombre del proyecto.
  • BACKEND_GROUP_NAME: el nombre del grupo de instancias.

¿Qué se registra?

Las entradas de registro contienen información útil para supervisar y depurar el tráfico. Los registros contienen campos obligatorios, que son los campos predeterminados de cada registro.

Campo Formato del campo Tipo del campo: opcional o requerido Descripción
severity
timestamp
receiveTimestamp
insertID
logName
LogEntry Requeridos Los campos generales, como se describe en una entrada de registro.
resource MonitoredResource Requeridos

MonitoredResource es el tipo de recurso asociado con una entrada de registro.

MonitoredResourceDescriptor describe el esquema de un objeto MonitoredResource mediante un nombre de tipo y un conjunto de etiquetas. Para obtener más información, consulta Etiquetas de recursos.

jsonPayload objeto (formato Struct) Requeridos Indica la carga útil de la entrada de registro que se expresa como un objeto JSON. El objeto JSON contiene los siguientes campos:

Campos de registro

Los registros contienen campos obligatorios, que son los campos predeterminados de cada registro.

Algunos campos de registro contienen más de un dato en un campo determinado; estos campos de registro están en formato de varios campos. 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 de registro.

En la siguiente tabla, se enumeran todos los campos de registro obligatorios para el recurso l4_proxy_rule.

Campo Formato del campo Descripción
conexión IpConnection Esta conexión se describe a través de una tupla de 5.
startTime string Marca de tiempo (string con formato de fecha RFC 3339) cuando el balanceador de cargas aceptó la conexión del cliente.
endTime string Marca de tiempo (string con formato de fecha RFC 3339) cuando el cliente o el backend finalizó la conexión.
bytesSent int64 Cantidad de bytes enviados del servidor al cliente.
bytesReceived int64 Cantidad de bytes que recibió el servidor del cliente.

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

Etiquetas de recursos

En la tabla siguiente, se enumeran las etiquetas de recursos para el tipo de recurso l4_proxy_rule.

Campo Tipo Descripción
network_name string El nombre de la red de VPC del balanceador de cargas.
project_id string El identificador del proyecto de Google Cloud asociado a este recurso.
region string La región en la que se define el balanceador de cargas.
target_proxy_name string El nombre del objeto proxy de destino al que hace referencia la regla de reenvío.
forwarding_rule_name string El nombre del objeto de regla de reenvío.
loadbalancing_scheme_name string Un atributo en la regla de reenvío y el servicio de backend de un balanceador de cargas que indica si el balanceador de cargas se puede usar para tráfico interno o externo.
backend_target_name string El nombre del backend seleccionado para controlar la solicitud.
backend_target_type string El tipo de destino de backend (BACKEND_SERVICE / UNKNOWN).
backend_name string El nombre del grupo de instancias de backend o el grupo de extremos de red (NEG).
backend_type string

El tipo de backend, ya sea un grupo de instancias o un NEG, o un tipo desconocido.

Cloud Logging registra las solicitudes cuando el backend_type es UNKNOWN, incluso si el registro está inhabilitado. Por ejemplo, si un cliente cierra la conexión con el balanceador de cargas antes de que el balanceador de cargas pueda elegir un backend, backend_type se establece en UNKNOWN y se registra la solicitud. Estos registros proporcionan información de depuración útil sobre las solicitudes de clientes que se cerraron porque el balanceador de cargas no pudo seleccionar un backend.

backend_scope string El alcance del backend (ya sea un nombre de zona o de región). Puede ser UNKNOWN siempre que se desconozca backend_name.
backend_scope_type string El alcance del backend (REGION/ZONE). Puede ser UNKNOWN siempre que se desconozca backend_name.

Supervisión

Los balanceadores de cargas de red del proxy exportan datos de supervisión a Cloud Monitoring.

Las métricas de supervisión se pueden usar para hacer lo siguiente:

  • 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 métricas a través de la API de Cloud Monitoring.

Ve los paneles de Monitoring

  1. En la consola de Google Cloud, ve a la página Monitoring.

    Ir a Monitoring

  2. Si Recursos aparece en el panel de navegación, selecciona Recursos y, luego, Balanceadores de cargas de Google Cloud. De lo contrario, selecciona Paneles y, a continuación, el panel llamado Balanceadores de cargas de Google Cloud.

  3. Haz clic en el nombre de tu balanceador de cargas.

En el panel izquierdo, puedes ver diversos detalles de este balanceador de cargas. En el panel derecho, verás gráficos de serie temporal. Para ver los desgloses específicos, haz clic en Desgloses.

Frecuencia y retención de informes de métricas

Las métricas de los balanceadores de cargas se exportan a Monitoring en lotes con un nivel de detalle de un minuto. Los datos de supervisión se conservan durante seis (6) 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 1H (una hora), 6H (seis horas), 1D (un día), 1W (una semana) y 6W (seis semanas). Puedes solicitar un análisis de forma manual en cualquier intervalo desde seis semanas hasta un minuto.

Métricas para los balanceadores de cargas de red del proxy clásicos

Monitoring recibe las siguientes métricas de los balanceadores de cargas de red del proxy externos.

Métrica Nombre Descripción
Tráfico entrante tcp_ssl_proxy/ingress_bytes_count La cantidad de bytes enviados de extremos externos a backends configurados mediante el Google Front End (GFE), en bytes por segundo.
Tráfico saliente tcp_ssl_proxy/egress_bytes_count La cantidad de bytes enviados de backends configurados a extremos externos mediante el GFE (en bytes por segundo).
Conexiones abiertas tcp_ssl_proxy/open_connections La cantidad de conexiones abiertas en un momento de muestreo puntual. Las muestras se toman cada un minuto.
Conexiones nuevas por segundo tcp_ssl_proxy/new_connections La cantidad de conexiones que se crearon (conexiones exitosas de un cliente al backend). El nivel de detalle del conteo es por minuto, pero los grafos se ajustan para mostrar valores por segundo. Para obtener más información, consulta la documentación de Monitoring.
Conexiones cerradas por segundo tcp_ssl_proxy/closed_connections La cantidad de conexiones que se cerraron. El nivel de detalle del conteo es por minuto, pero los grafos se ajustan para mostrar valores por segundo. Para obtener más información, consulta la documentación de Monitoring.
RTT de frontend tcp_ssl_proxy/frontend_tcp_rtt Una distribución del tiempo de ida y vuelta suavizado (RTT) medida para cada conexión entre el cliente y el GFE (se mide por la pila TCP de GFE) cada vez que bytes de la capa de aplicación pasan del GFE al cliente) El RTT suavizado es un algoritmo que se ocupa de las variaciones y las anomalías que pueden ocurrir en las mediciones de RTT.

Métricas para otros balanceadores de cargas

Las siguientes métricas de los balanceadores de cargas de red de proxy internos regionales, los balanceadores de cargas de red de proxy externos regionales, los balanceadores de cargas de red de proxy internos entre regiones y los balanceadores de cargas de red de proxy externos globales se informan a Monitoring.

Métrica Nombre Descripción
Tráfico entrante l4_proxy/ingress_bytes_count La cantidad de bytes enviados del cliente a la VM de backend con el proxy. Se tomaron muestras cada 60 segundos. Luego del muestreo, los datos no son visibles durante un máximo de 210 segundos.
Tráfico saliente l4_proxy/egress_bytes_count La cantidad de bytes enviados de la VM de backend al cliente mediante el proxy. Se tomaron muestras cada 60 segundos. Luego del muestreo, los datos no son visibles durante un máximo de 210 segundos.
Conexiones cerradas por segundo l4_proxy/tcp/closed_connections_count La cantidad de conexiones que se finalizaron mediante un mensaje de TCP RST o TCP FIN. Se tomaron muestras cada 60 segundos. Luego del muestreo, los datos no son visibles durante un máximo de 210 segundos.

Filtra las dimensiones de las métricas

Las métricas se agregan por cada balanceador de cargas. Puedes desglosarlas según las siguientes dimensiones.

Property Descripción
ALCANCE DEL BACKEND El alcance (la región o zona) del grupo de instancias que entregó la conexión.
ZONA DEL BACKEND Si el grupo de instancias era zonal, la zona del grupo de instancias que entregó la conexión.
REGIÓN DEL BACKEND Si el grupo de instancias era regional, la región del grupo de instancias que entregó la conexión.
CONTINENTE DEL PROXY El continente del GFE que finalizó la conexión TCP/SSL del usuario, por ejemplo, America, Europe o Asia.
GRUPO DE INSTANCIAS El nombre del grupo de instancias que recibió la conexión del usuario.
REGLA DE REENVÍO El nombre de la regla de reenvío que se usa para conectarse al GFE.
PAÍS DEL CLIENTE El nombre del país del usuario.

¿Qué sigue?