Registros y métricas para servicios de backend

En este documento, se muestra cómo configurar y usar Cloud Logging y Cloud Monitoring con balanceadores de cargas de aplicaciones clásicos, balanceadores de cargas de aplicaciones externos globales y Cloud CDN.

Logging

Puedes habilitar, inhabilitar y ver registros para un servicio de backend del balanceador de cargas de aplicaciones externo. Para los balanceadores de cargas de aplicaciones externos con buckets de backend, el registro se habilita automáticamente y no se puede inhabilitar.

Puedes habilitar o inhabilitar el registro para cada servicio de backend. Puedes configurar si deseas registrar todas las solicitudes o una fracción de muestra aleatoria.

Debes asegurarte de no tener una exclusión de registros que se aplique a los balanceadores de cargas HTTP(S) externo. Si deseas obtener información para verificar que se permitan los registros Cloud HTTP Load Balancer, consulta Filtros de exclusión.

Muestreo y recopilación de registros

Se toman muestras de las solicitudes (y las respuestas correspondientes) que controlan las instancias de máquina virtual (VM) de backend del balanceador de cargas. Estas solicitudes de muestra se procesan para generar registros. Puedes controlar la fracción de las solicitudes 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 solicitudes y se escriben en Cloud Logging.

Campos opcionales

Los registros contienen campos obligatorios y opcionales. En la sección ¿Qué se registra?, se enumeran los campos opcionales y los obligatorios. Siempre se incluyen todos los campos obligatorios. Puedes personalizar qué campos opcionales conservas.

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

  • Si seleccionas Exclude all optional, se omiten todos los campos opcionales.

  • Si seleccionas Personalizado, puedes especificar los campos opcionales que deseas incluir, como tls.protocol,tls.cipher,orca_load_report.cpu_utilization,orca_load_report.mem_utilization.

Para obtener información sobre cómo personalizar campos opcionales, consulta Habilita el registro en un nuevo servicio de backend.

Habilita el registro en un servicio de backend nuevo

Console

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

    Ir a Balanceo de cargas

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

  3. Haz clic en Editar.

  4. Haga clic en Configuración de backend.

  5. Selecciona Crear un servicio de backend.

  6. Completa los campos de servicio de backend obligatorios.

  7. En la sección Registro, selecciona la casilla de verificación Habilitar registro.

  8. Configura una fracción de Tasa de muestreo. Puedes configurar un número de 0.0 a 1.0, en el que 0.0 significa que no se registra ninguna solicitud, y 1.0 significa que se registra el 100% de las solicitudes. El valor predeterminado es 1.0.

  9. Opcional: Para incluir todos los campos opcionales en los registros, en la sección Optional fields, haz clic en Include all optional fields.

  10. Para terminar de editar el servicio de backend, haz clic en Actualizar.

  11. Para terminar de editar el balanceador de cargas, haz clic en Actualizar.

gcloud: modo global

Crea un servicio de backend y habilita el registro mediante el comando gcloud compute backend-services create.

gcloud compute backend-services create BACKEND_SERVICE \
    --global \
    --enable-logging \
    --logging-sample-rate=VALUE \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

El comando gcloud compute backend-services create admite los siguientes campos:

  • --global indica que el servicio de backend es global. Usa este campo para los servicios de backend que se usan con balanceadores de cargas de aplicaciones externos globales.
  • --enable-logging habilita el registro para ese servicio de backend.
  • --logging-sample-rate te permite especificar un valor entre 0.0 y 1.0, en el que 0.0 significa que no se registra ninguna solicitud, y 1.0 significa que el 100% de las solicitudes están registradas. Este campo solo es significativo con el parámetro --enable-logging. Si se habilita el registro, pero se configura la tasa de muestreo en 0.0, es lo mismo que inhabilitarlo. El valor predeterminado es 1.0.
  • --logging-optional te permite especificar 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.

  • --logging-optional-fields te permite especificar una lista separada por comas de los campos opcionales que deseas incluir en los registros.

    Por ejemplo, tls.protocol,tls.cipher solo se puede configurar si LOGGING_OPTIONAL_MODE se establece como CUSTOM. Si usas métricas personalizadas y deseas registrar elementos del informe de carga de ORCA, debes establecer LOGGING_OPTIONAL_MODE en CUSTOM y especificar qué elementos se deben registrar en el campo OPTIONAL_FIELDS. Por ejemplo, orca_load_report.cpu_utilization,orca_load_report.mem_utilization.

Habilita el registro en un servicio de backend existente

Console

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

    Ir a Balanceo de cargas

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

  3. Haz clic en Editar.

  4. Haga clic en Configuración de backend.

  5. Haz clic en Editar junto al servicio de backend.

  6. En la sección Registro, selecciona la casilla de verificación Habilitar registro.

  7. En el campo Tasa de muestreo, establece la probabilidad de muestreo. Puedes configurar un número de 0.0 a 1.0, en el que 0.0 significa que no se registra ninguna solicitud, y 1.0 significa que se registra el 100% de las solicitudes. El valor predeterminado es 1.0.

  8. Para terminar de editar el servicio de backend, haz clic en Actualizar.

  9. Para terminar de editar el balanceador de cargas, haz clic en Actualizar.

gcloud: modo global

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=VALUE

donde

  • --global indica que el servicio de backend es global. Usa este campo para los servicios de backend que se usan con balanceadores de cargas de aplicaciones externos globales.
  • --enable-logging habilita el registro para ese servicio de backend.
  • --logging-sample-rate te permite especificar un valor entre 0.0 y 1.0, en el que 0.0 significa que no se registra ninguna solicitud, y 1.0 significa que el 100% de las solicitudes están registradas. Solo es significativo con el parámetro --enable-logging. Si se habilita el registro, pero se configura la tasa de muestreo en 0.0, es lo mismo que inhabilitarlo. El valor predeterminado es 1.0.

gcloud: modo clásico

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=VALUE

donde

  • --global indica que el servicio de backend es global. Usa este campo para los servicios de backend que se usan con un balanceador de cargas de aplicaciones clásico.
  • --enable-logging habilita el registro para ese servicio de backend.
  • --logging-sample-rate te permite especificar un valor entre 0.0 y 1.0, en el que 0.0 significa que no se registra ninguna solicitud, y 1.0 significa que el 100% de las solicitudes están registradas. Solo es significativo con el parámetro --enable-logging. Si se habilita el registro, pero se configura la tasa de muestreo en 0.0, es lo mismo que inhabilitarlo. El valor predeterminado es 1.0.

Inhabilita o modifica el registro en un servicio de backend existente

Console

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

    Ir a Balanceo de cargas

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

  3. Haz clic en Editar.

  4. Haga clic en Configuración de backend.

  5. Haz clic en Editar junto al servicio de backend.

  6. Para inhabilitar el registro por completo, en la sección Registro, desmarca la casilla de verificación Habilitar registro.

  7. Si dejas habilitado el registro, puedes configurar una fracción de Tasa de muestreo diferente. Puedes configurar un número de 0.0 a 1.0, en el que 0.0 significa que no se registra ninguna solicitud, y 1.0 significa que se registra el 100% de las solicitudes. El valor predeterminado es 1.0. Por ejemplo, 0.2 significa que el 20% de las solicitudes muestreadas generan registros.

  8. Para terminar de editar el servicio de backend, haz clic en Actualizar.

  9. Para terminar de editar el balanceador de cargas, haz clic en Actualizar.

gcloud: modo global

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

Inhabilita el registro por completo

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

donde

  • --global indica que el servicio de backend es global. Usa este campo para los servicios de backend que se usan con balanceadores de cargas de aplicaciones externos globales.
  • --no-enable-logging inhabilita el registro para ese servicio de backend.

Habilitación de campos opcionales de registro en un servicio de backend existente

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

donde

  • --logging-sample-rate te permite especificar un valor entre 0.0 y 1.0, en el que 0.0 significa que no se registra ninguna solicitud, y 1.0 significa que el 100% de las solicitudes están registradas. Solo es significativo con el parámetro --enable-logging. Si se habilita el registro, pero se configura la tasa de muestreo en 0.0, es lo mismo que inhabilitarlo. El valor predeterminado es 1.0.
  • --logging-optional te permite especificar 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.

  • --logging-optional-fields te permite especificar una lista separada por comas de los campos opcionales que deseas incluir en los registros.

    Por ejemplo, tls.protocol,tls.cipher solo se puede configurar si LOGGING_OPTIONAL_MODE se establece como CUSTOM. Si usas métricas personalizadas y deseas registrar elementos del informe de carga de ORCA, debes establecer LOGGING_OPTIONAL_MODE en CUSTOM y especificar qué elementos se deben registrar en el campo OPTIONAL_FIELDS. Por ejemplo, orca_load_report.cpu_utilization,orca_load_report.mem_utilization.

Actualiza el modo opcional de registro de CUSTOM a otros

gcloud compute backend-services update BACKEND_SERVICE \
    --global \
    --enable-logging \
    --logging-sample-rate=VALUE \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=

donde

  • --logging-optional te permite especificar 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).

  • --logging-optional-fields se debe configurar de forma explícita como se muestra para borrar los campos CUSTOM existentes. La API no te permite combinar un modo que no sea CUSTOM con campos CUSTOM.

Modifica la tasa de muestreo de registro

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

gcloud: modo clásico

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

Inhabilita el registro por completo

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

donde

  • --global indica que el servicio de backend es global. Usa este campo para los servicios de backend que se usan con un balanceador de cargas de aplicaciones clásico.
  • --no-enable-logging inhabilita el registro para ese servicio de backend.

Modifica la tasa de muestreo de registro

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

donde

  • --global indica que el servicio de backend es global. Usa este campo para los servicios de backend que se usan con un balanceador de cargas de aplicaciones clásico.
  • --logging-sample-rate te permite especificar un valor entre 0.0 y 1.0, en el que 0.0 significa que no se registra ninguna solicitud, y 1.0 significa que el 100% de las solicitudes están registradas. Solo es significativo con el parámetro --enable-logging. Si se habilita el registro, pero se configura la tasa de muestreo en 0.0, es lo mismo que inhabilitarlo.

Ver registros


Para seguir la guía paso a paso sobre esta tarea directamente en la consola Google Cloud , haz clic en Guiarme:

GUIARME


Los registros HTTP(S) se indexan primero mediante una regla de reenvío y, a continuación, mediante el mapa de URL.

Para ver los registros, ve a la página Explorador de registros.

Ir al Explorador de registros

  • Para ver todos los registros, en el menú de filtro Recurso, selecciona Balanceador de cargas de HTTP de Cloud > Todas las reglas de reenvío.

  • Para ver los registros de una regla de reenvío, selecciona un solo nombre de regla de reenvío.

  • Para ver los registros de un mapa de URL, selecciona una regla de reenvío y, luego, selecciona un mapa de URL.

Los campos de registro de tipo booleano suelen aparecer solo si tienen el valor true. Si un campo booleano tiene un valor false, ese campo se omite del registro.

La codificación UTF-8 se aplica a los campos de registro. Los caracteres que no son caracteres UTF-8 se reemplazan con signos de interrogación. En el caso de los balanceadores de cargas de aplicaciones clásicos y externos globales, puedes exportar métricas basadas en registros mediante los registros de recursos (resource.type="http_load_balancer"). Las métricas creadas se basan en el recurso Regla de balanceador de cargas de aplicaciones (métricas basadas en registros) (l7_lb_rule), que está disponible en los paneles de Cloud Monitoring en lugar de en el recurso https_lb_rule.

¿Qué se registra?

Las entradas de registro del balanceador de cargas de aplicaciones externo contienen información útil para supervisar y depurar el tráfico HTTP(S). Los registros contienen campos obligatorios, que son los campos predeterminados de cada registro.

Los registros contienen campos opcionales que agregan información adicional sobre tu tráfico HTTP(S). 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 tls tiene el formato TlsInfo, que contiene el campo earlyDataRequest. En la siguiente tabla de formato de registros, se describen estos campos múltiples.

Campo Formato del campo Tipo del campo: opcional o requerido Descripción
gravedad
insertID
logName
LogEntry Obligatorio Los campos generales, como se describe en una entrada de registro.
timestamp string (Timestamp format) Opcional La hora en que la primera capa de GFE recibe la solicitud.
httpRequest HttpRequest Obligatorio Un protocolo común para registrar solicitudes HTTP.

HttpRequest.protocol no se propaga para resource.type="http_load_balancer"

.
resource MonitoredResource Obligatorio

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) Obligatorio Indica la carga útil de la entrada de registro que se expresa como un objeto JSON. El objeto JSON contiene los siguientes campos:
  • statusDetails
  • backendTargetProjectNumber
  • overrideResponseCode
  • errorService
  • errorBackendStatusDetails
  • authzPolicyInfo
  • loadBalancingScheme
  • tls
  • orca_load_report
string Obligatorio El campo statusDetails contiene una cadena que explica por qué el balanceador de cargas mostró el código de estado HTTP que creó. Para obtener más información sobre estas cadenas de registro, consulta los mensajes de éxito HTTP de statusDetails y los mensajes de error HTTP de statusDetails.
string Obligatorio El campo backendTargetProjectNumber contiene el número del proyecto en el que se creó el destino del backend (el servicio o el bucket del backend). Este campo tiene el siguiente formato: "projects/PROJECT_NUMBER". Esta información solo está disponible para los balanceadores de cargas de aplicaciones externos globales que usan respuestas de error personalizadas.
número entero Obligatorio overrideResponseCode contiene el código de respuesta de anulación aplicado a la respuesta enviada al cliente. Esta información solo está disponible para los balanceadores de cargas de aplicaciones externos globales que usan respuestas de error personalizadas.
string Obligatorio El campo errorService contiene el servicio de backend que proporcionó la respuesta de error personalizada. Esta información solo está disponible para los balanceadores de cargas de aplicaciones externos globales que usan respuestas de error personalizadas.
string Obligatorio El campo errorBackendStatusDetails contiene el statusDetails de la respuesta final que se entrega al cliente. Esta información solo está disponible para los balanceadores de cargas de aplicaciones externos globales que usan respuestas de error personalizadas.
AuthzPolicyInfo Obligatorio El campo authzPolicyInfo almacena información sobre el resultado de la política de autorización. Esta información solo está disponible para los balanceadores de cargas de aplicaciones externos globales que habilitaron las políticas de autorización. Para obtener más información, consulta qué se registra en las políticas de autorización.
string Opcional El campo loadBalancingScheme solo se propaga si usas la función de migración del balanceador de cargas de aplicaciones clásico. Este campo contiene una cadena que describe qué esquema de balanceo de cargas se usó para enrutar la solicitud. Los valores posibles son EXTERNAL o EXTERNAL_MANAGED.
TlsInfo Obligatorio

El campo tls contiene el campo TlsInfo que especifica los metadatos de TLS para la conexión entre el cliente y el balanceador de cargas. Este campo solo está disponible si el cliente usa la encriptación TLS/SSL.

Usa el parámetro --logging-optional-fields para especificar qué elementos se deben registrar:

  • Opcional: tls.protocol
  • Opcional: tls.cipher
  • Obligatorio: tls.earlyDataRequest

No puedes establecer --logging-optional-fields en tls para especificar todos los elementos.

OrcaLoadReport Opcional

El campo orca_load_report contiene algunos o todos los elementos del informe de carga de ORCA que muestra el backend. Este campo solo está presente si el backend muestra un informe de carga de ORCA y configuraste el balanceador de cargas para registrarlo.

Usa el parámetro --logging-optional-fields para especificar cuáles de los siguientes elementos del informe de carga de ORCA se deben registrar:

  • orca_load_report.cpu_utilization
  • orca_load_report.mem_utilization
  • orca_load_report.request_cost
  • orca_load_report.utilization
  • orca_load_report.rps_fractional
  • orca_load_report.eps
  • orca_load_report.named_metrics
  • orca_load_report.application_utilization

También puedes establecer --logging-optional-fields en orca_load_report para especificar que se deben registrar todos los elementos.

Formato del campo TlsInfo

Campo Formato del campo Tipo del campo: opcional o requerido Descripción
protocol string Opcional El protocolo TLS que los clientes usan para establecer una conexión con el balanceador de cargas. Los valores posibles son TLSv1, TLSv1.1, TLSv1.2, TLSv1.3 o QUIC. Este valor se establece en NULL si el cliente no usa la encriptación TLS/SSL.
algoritmo de cifrado string Opcional El algoritmo de cifrado TLS que los clientes usan para establecer una conexión con el balanceador de cargas. Este valor se establece como NULL si el cliente no usa HTTP(S) o el cliente no usa la encriptación TLS/SSL.
earlyDataRequest booleano Obligatorio La solicitud incluye datos anticipados en el protocolo de enlace TLS.

Etiquetas de recursos

En la siguiente tabla, se enumeran las etiquetas de recursos de resource.type="http_load_balancer".

Campo Tipo Descripción
backend_service_name string El nombre del servicio de backend.
forwarding_rule_name string El nombre del objeto de regla de reenvío.
project_id string El identificador del proyecto de Google Cloud asociado a este recurso.
target_proxy_name string El nombre del objeto proxy de destino al que hace referencia la regla de reenvío.
url_map_name string El nombre del objeto del mapa de URL configurado para seleccionar un servicio de backend.
zone string La zona en la que se ejecuta el balanceador de cargas. La zona es global.

Mensajes de éxito HTTP de statusDetails

statusDetails (exitoso) Significado Códigos de respuesta adjuntos comunes
byte_range_caching La solicitud HTTP se entregó mediante el almacenamiento en caché de rango de bytes de Cloud CDN. Cualquier código de respuesta que se puede almacenar en caché es posible.
response_from_cache La solicitud HTTP se entregó desde una caché de Cloud CDN. Cualquier código de respuesta que se puede almacenar en caché es posible.
response_from_cache_validated El código de muestra se configuró a partir de una entrada almacenada en caché de Cloud CDN que un backend validó. Cualquier código de respuesta que se puede almacenar en caché es posible.
response_sent_by_backend La solicitud HTTP se envió mediante proxy al backend de forma correcta, y el backend mostró la respuesta. El software que se ejecuta en el backend establece el código de respuesta HTTP.

Mensajes de error HTTP de statusDetails

statusDetails (error) Significado Códigos de estado adjuntos comunes
aborted_request_due_to_backend_early_response Se anuló una solicitud con cuerpo debido a que el backend envió una respuesta anticipada con un código de estado. La respuesta se reenvió al cliente. La solicitud se terminó. 4XX o 5XX
backend_connection_closed_after_partial_response_sent Se cerró la conexión de backend de forma inesperada después de que se envió una respuesta parcial al cliente.

El software que se ejecuta en el backend establece el código de estado HTTP. El código de estado HTTP 0 (cero) significa que el backend envió encabezados HTTP incompletos.

El código de estado HTTP es 101 si la conexión HTTP(S) se actualizó a una conexión websocket.

backend_connection_closed_before_data_sent_to_client El backend cerró su conexión con el balanceador de cargas de forma inesperada antes de que la respuesta se enviara al cliente mediante proxy.

502, 503

El código de estado HTTP es 101 si la conexión HTTP(S) se actualizó a una conexión websocket.

backend_early_response_with_non_error_status El backend envió un código de estado sin errores (1XX o 2XX) a una solicitud antes de recibir todo el cuerpo de la solicitud. 502, 503
backend_interim_response_not_supported El backend envió un código de estado 1XX provisional a la solicitud en un contexto en el que las respuestas provisionales no son compatibles.

502, 503

backend_response_corrupted El cuerpo de la respuesta HTTP que envió el backend tiene una codificación de transferencia fragmentada no válida o está dañado. Cualquier código de estado posible según la naturaleza del daño A menudo, 502, 503.
backend_response_headers_too_long Los encabezados de respuesta HTTP que envió el backend superaron el límite permitido. Consulta la sección Tamaño del encabezado para balanceadores de cargas de aplicaciones externos para obtener más información. 502, 503
backend_timeout

Se agotó el tiempo de espera del backend mientras se generaba una respuesta.

Para una conexión de websocket, sigue estos pasos:

  • Para el balanceador de cargas de aplicaciones externo global, se genera un código de estado cuando GFE cierra la conexión de WebSocket en estado inactivo después de que vence el tiempo de espera del servicio de backend.
  • En el balanceador de cargas de aplicaciones clásico, se genera un código de estado cuando el GFE cierra la conexión de WebSocket en estado inactivo o activo, después de que vence el tiempo de espera del servicio de backend.

502, 503

El código de estado HTTP es 101 si la conexión HTTP(S) se actualizó a una conexión websocket.

banned_by_security_policy La solicitud se prohibió mediante una regla de bloqueo basada en tarifas de Google Cloud Armor. 429
body_not_allowed El cliente envió una solicitud HTTP con un cuerpo, pero el método HTTP usado no permite un cuerpo. 400
byte_range_caching_aborted El balanceador de cargas recibió con anterioridad una respuesta que indica que el recurso se podía almacenar en caché y admitir rangos de bytes. Cloud CDN recibió una respuesta incoherente (por ejemplo, una con un código de estado distinto del 206 Partial Content esperado). Esto ocurrió cuando se intentó realizar el llenado de caché mediante una solicitud de rango de bytes. Como resultado, el balanceador de cargas anuló la respuesta al cliente. 2XX
byte_range_caching_forwarded_backend_response El balanceador de cargas recibió con anterioridad una respuesta que indica que el recurso se podía almacenar en caché y admitir rangos de bytes. Cloud CDN recibió una respuesta incoherente (por ejemplo, una con un código de estado distinto del 206 Partial Content esperado). Esto ocurrió cuando se intentó realizar el llenado de caché mediante una solicitud de rango de bytes. El balanceador de cargas reenvió la respuesta incoherente al cliente.

Se muestran desde el backend: cualquier código de estado es posible.

byte_range_caching_retrieval_abandoned El cliente canceló una solicitud de rango de bytes o una solicitud de validación que inició Cloud CDN.

Se muestran desde el backend: cualquier código de estado es posible.

byte_range_caching_retrieval_from_backend_failed_after_partial_response Se produjo un error con una solicitud de rango de bytes o una solicitud de validación que inició Cloud CDN. Consulta la entrada de registro de Cloud Logging correspondiente a la solicitud que inició Cloud CDN para el estado del backend detallado. 2XX
cache_lookup_failed_after_partial_response El balanceador de cargas no pudo entregar una respuesta completa desde la caché de Cloud CDN debido a un error interno. 2XX
cache_lookup_timeout_after_partial_response Se agotó el tiempo de espera de la transmisión de búsqueda de caché de Cloud CDN porque el cliente no recuperó el contenido de manera oportuna. 2XX
client_disconnected_after_partial_response La conexión con el cliente se interrumpió después de que el balanceador de cargas enviara una respuesta parcial.

Se muestran desde el backend: cualquier código de estado es posible.

El código de estado HTTP es 101 si la conexión HTTP(S) se actualizó a una conexión websocket.

client_disconnected_before_any_response La conexión con el cliente se interrumpió antes de que el balanceador de cargas enviara cualquier respuesta.

0

El código de estado HTTP es 101 si la conexión HTTP(S) se actualizó a una conexión websocket.

client_timed_out Google Front End (GFE) dejó inactiva la conexión del cliente debido a la falta de progreso cuando se enviaba la solicitud o la respuesta mediante proxy. 0 o 408
client_cert_invalid_rsa_key_size Una hoja de cliente o un certificado intermedio tenía un tamaño de clave RSA no válido. Para obtener más información, consulta Errores registrados para conexiones cerradas. 0
client_cert_unsupported_elliptic_curve_key Un cliente o un certificado intermedio usa una curva elíptica no compatible. Para obtener más información, consulta Errores registrados para conexiones cerradas. 0
client_cert_unsupported_key_algorithm Un cliente o un certificado intermedio usa un algoritmo que no es de RSA ni ECEC. Para obtener más información, consulta Errores registrados para conexiones cerradas. 0
client_cert_pki_too_large La PKI que se usará para la validación tiene más de diez certificados intermedios que comparten la misma información de clave pública del sujeto. Para obtener más información, consulta Errores registrados para conexiones cerradas. 0
client_cert_chain_max_name_constraints_exceeded Un certificado intermedio proporcionado para la validación tenía más de 10 restricciones de nombres. Para obtener más información, consulta Errores registrados para conexiones cerradas. 0
client_cert_chain_invalid_eku El certificado de cliente o su entidad emisora no tienen Uso extendido de la clave (EKU) que incluya clientAuth. Para obtener más información, consulta Errores registrados para conexiones cerradas. 0
client_cert_validation_timed_out Se superó el límite de tiempo durante la validación de la cadena de certificados. Para obtener más información, consulta Errores registrados para conexiones cerradas. 0
client_cert_validation_search_limit_exceeded Se alcanza el límite de iteración o profundidad mientras se intenta validar la cadena de certificados. Para obtener más información, consulta Errores registrados para conexiones cerradas. 0
client_cert_validation_not_performed Configuraste mTLS sin configurar un TrustConfig. Para obtener más información, consulta Errores registrados para conexiones cerradas. 0
client_cert_not_provided El cliente no proporcionó el certificado solicitado durante el protocolo de enlace. Para obtener más información, consulta Errores registrados para conexiones cerradas. 0
client_cert_validation_failed El certificado de cliente falla la validación con TrustConfig cuando se usan algoritmos de hash como MD4, MD5 y SHA-1. Para obtener más información, consulta Errores registrados para conexiones cerradas. 0
config_not_found

Falta la configuración del proyecto en el balanceador de cargas. Esto puede ocurrir de forma intermitente, en especial después de realizar cambios en la configuración que agregan un recurso nuevo.

Otra posible causa del error es que el GFE de la primera capa no alcance el GFE de la segunda. Esto puede deberse a un error interno, como un lanzamiento en curso, una sobrecarga del balanceador de cargas o problemas de configuración intermitente.

Estos errores son transitorios y se encuentran dentro del SLA. Sin embargo, si la tasa de error supera el 0.01%, comunícate con el equipo de asistencia deGoogle Cloud para obtener más ayuda.

404, 502, 503
direct_response El balanceador de cargas anuló esta solicitud y mostró una respuesta fija. Es posible que veas cualquier código de estado HTTP según la naturaleza del problema. Por ejemplo, el código de estado HTTP 410 significa que el backend no está disponible debido a mora de pago.
denied_by_security_policy El balanceador de cargas rechazó esta solicitud debido a una política de seguridad de Google Cloud Armor. Se configuran en la política de seguridad.
error_uncompressing_gzipped_body Se produjo un error cuando se descomprimía una respuesta HTTP comprimida. 502, 503
failed_to_connect_to_backend No se pudo conectar el balanceador de cargas al backend. Esto incluye los tiempos de espera durante la fase de conexión. 502, 503
failed_to_pick_backend El balanceador de cargas no pudo elegir un backend en buen estado para manejar la solicitud. 502, 503
failed_to_negotiate_alpn El balanceador de cargas y el backend no pudieron negociar un protocolo de capa de aplicación (como HTTP/2) para comunicarse entre sí a través de TLS. 502, 503
headers_too_long Los encabezados de solicitud eran mayores que el máximo permitido. 413
http_version_not_supported No se admite la versión HTTP. Solo son compatibles HTTP 0.9, 1.0, 1.1 y 2.0. 400
internal_error Error interno en el balanceador de cargas. Por lo general, representa un error transitorio en la infraestructura del balanceador de cargas. Vuelve a intentar la consulta. 4XX
invalid_external_origin_endpoint La configuración del backend externo no es válida. Revisa la configuración de NEG de Internet y asegúrate de que especifique un puerto y una dirección FQDN/IP válidos. 4XX
invalid_request_headers

Los encabezados de la solicitud HTTP recibidos de un cliente contienen al menos un carácter que no se permite según una especificación HTTP aplicable.

Por ejemplo, los nombres de campos de encabezado que incluyen comillas dobles (") o cualquier carácter fuera del rango ASCII estándar (es decir, cualquier byte >= 0x80) no son válidos.

Para obtener más información, consulte:

400
invalid_http2_client_header_format Los encabezados HTTP/2 de un cliente no son válidos. Para obtener más información, consulta invalid_request_headers. 400
invalid_http2_client_request_path

La ruta de la solicitud HTTP/2 de un cliente contiene al menos un carácter que no se permite según la especificación del URI.

Para obtener más información, consulta el artículo 3.3. Ruta de acceso" de la RFC 3986.

400
multiple_iap_policies No se pueden combinar varias políticas de Identity-Aware Proxy (IAP). Si tienes una política de IAP adjunta a un servicio de backend y otra política adjunta a un objeto sin servidores, quita una de ellas y vuelve a intentarlo. Los objetos sin servidores incluyen App Engine, Cloud Run y funciones de Cloud Run. 500
malformed_chunked_body El cuerpo de la solicitud estaba codificado en un fragmento incorrecto. 411
request_loop_detected El balanceador de cargas detectó un bucle de solicitud. Este bucle podría deberse a una configuración incorrecta en la que el backend reenvió la solicitud de regreso al balanceador de cargas. 502, 503
required_body_but_no_content_length La solicitud HTTP requiere un cuerpo, pero los encabezados de solicitud no incluyen una longitud de contenido ni un encabezado fragmentado de codificación de transferencia. 400, 403, 411
secure_url_rejected Se recibió una solicitud con una URL https:// a través de una conexión HTTP/1.1 de texto simple. 400
server_cert_chain_exceeded_limit La cadena de certificados de servidor es demasiado larga (se incluyen más de 10 certificados intermedios con el certificado de servidor). 502, 503

server_cert_chain_invalid_eku

El certificado del servidor tiene un campo de extensión Extended Key Usage (EKU), pero ese campo no incluye serverAuth.

server_cert_chain_max_name_constraints_exceeded

Un certificado intermedio proporcionado para la validación tenía más de 10 restricciones de nombres. 502, 503
server_cert_exceeded_size_limit La carga útil del certificado de servidor (incluidos los certificados intermedios) es demasiado grande (más de 16 KB). 503
server_cert_invalid_rsa_key_size

Un servidor o un certificado intermedio tiene un tamaño de clave RSA no válido.

No se realiza ninguna validación.

Las claves RSA pueden variar de 2,048 a 4,096 bits.

503
server_cert_not_provided El servidor no proporcionó el certificado solicitado durante el protocolo de enlace. 503
server_cert_pki_too_large

La PKI que se usará para la validación tiene más de diez certificados intermedios que comparten la misma información de la entidad y la clave pública de la entidad.

No se realiza ninguna validación.

503
server_cert_trust_config_not_found No se encontró la TrustConfig coincidente. 503
server_cert_unsupported_elliptic_curve_key

Un servidor o un certificado intermedio usa una curva elíptica no compatible.

No se realiza ninguna validación.

Las curvas válidas son P-256 y P-384.

503
server_cert_unsupported_key_algorithm

Un servidor o un certificado intermedio usa un algoritmo que no es de RSA ni ECEC.

No se realiza ninguna validación.

503
server_cert_validation_internal_error Cadena de certificados de validación de errores internos. 503
server_cert_validation_not_performed

Configuraste mTLS sin configurar un recurso TrustConfig.

503
server_cert_validation_search_limit_exceeded

Se alcanza el límite de iteración o profundidad mientras se intenta validar la cadena de certificados.

La profundidad máxima de una cadena de certificados es de diez, incluidos los certificados raíz y de servidor. La cantidad máxima de iteraciones es 100 (certificados examinados para validar la cadena de certificados del servidor).

503
server_cert_validation_timed_out Se excede el límite de tiempo mientras se intenta validar la cadena de certificados. 503
server_cert_validation_unavailable El servicio no puede realizar la validación de la cadena de certificados. 503
ssl_certificate_san_verification_failed El balanceador de cargas no puede encontrar un nombre alternativo de la entidad (SAN) en el certificado SSL que presentó el backend que coincida con el nombre de host configurado. 502, 503
ssl_certificate_chain_verification_failed El certificado SSL que presentó el backend no pasó la verificación del certificado SSL. 502, 503
throttled_by_security_policy La regla de limitación de Google Cloud Armor bloqueó la solicitud. 429
unsupported_method El cliente proporcionó un método de solicitud HTTP no compatible. 400
unsupported_100_continue La solicitud del cliente incluía el encabezado “Expect: 100-continue” en un protocolo que no lo admite. 400
upgrade_header_rejected La solicitud HTTP del cliente contenía el encabezado Actualizar y se rechazó. 400
websocket_closed Se cerró la conexión de Websockets. 101
websocket_handshake_failed Se produjo un error en el protocolo de enlace de Websockets. Cualquier código de estado posible según la naturaleza de la falla del protocolo de enlace.
request_body_too_large El cuerpo de la solicitud HTTP superó el máximo que admite el backend. No aplicable para backends de VM. 413
handled_by_identity_aware_proxy Identity-Aware Proxy generó esta respuesta durante la verificación de identidad del cliente antes de permitir el acceso.

200, 302, 400, 401, 403, 500, 502, 503

429 (limitado por la IAP)

serverless_neg_routing_failed No se puede enviar la solicitud del NEG sin servidores. Esto puede ocurrir cuando no se puede acceder a la región especificada en el NEG o cuando no se puede encontrar el nombre del recurso (por ejemplo, el nombre de las funciones de Cloud Run). 404, 502, 503
fault_filter_abort Este error puede ocurrir si el cliente configuró un filtro de fallas y el filtro de fallas se activó para la solicitud determinada. El valor debe ser de 200 a 599.
early_data_rejected

La solicitud enviada en los datos anticipados de TLS no era válida.

Esto puede ocurrir en los siguientes casos, entre otros:

  • El TargetHttpsProxy tiene datos anticipados de TLS configurados en STRICT, pero la solicitud incluyó parámetros de consulta.
  • El TargetHttpsProxy tiene datos anticipados de TLS configurados en STRICT o PERMISSIVE, pero la solicitud usó un método HTTP no idempotente (como POST o PUT).
425

Visualiza los registros para la validación del certificado de cliente de mTLS

Para ver los errores registrados para conexiones cerradas durante la validación mutua del certificado de cliente de TLS, completa los siguientes pasos.

Consulta de consola

  1. En la Google Cloud consola, 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. Reemplaza FORWARDING_RULE_NAME por el nombre de la regla de reenvío.

    jsonPayload.statusDetails=~"client_cert"
    jsonPayload.@type="type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
    resource.labels.forwarding_rule_name=FORWARDING_RULE_NAME
    
  4. Haz clic en Ejecutar consulta.

Registros de solicitudes de la política de autorización

El objeto authz_info en la carga útil de JSON de la entrada de registro del balanceador de cargas contiene información sobre las políticas de autorización. Puedes configurar métricas basadas en registros para el tráfico que estas políticas permiten o deniegan. Consulta más detalles del registro de políticas de autorización.

Campo Tipo Descripción
authz_info.policies[] objeto Es la lista de políticas que coinciden con la solicitud.
authz_info.policies[].name string Es el nombre de la política de autorización que coincide con la solicitud.

El nombre está vacío por los siguientes motivos:

  • No hay ninguna política de ALLOW que coincida con la solicitud, por lo que se rechaza.
  • No hay ninguna política de DENY que coincida con la solicitud, y esta se permite.
authz_info.policies[].result enum El resultado puede ser ALLOWED o DENIED.
authz_info.policies[].details string Los detalles incluyen lo siguiente:
  • allowed_as_no_deny_policies_matched_request
  • denied_as_no_allow_policies_matched_request
  • denied_by_authz_extension
  • denied_by_cloud_iap
authz_info.overall_result enum El resultado puede ser ALLOWED o DENIED.

Logging para Google Cloud Armor

La tabla de mensajes de error de HTTP statusDetail contiene algunos mensajes que se aplican a Google Cloud Armor. Para obtener más información sobre qué registra Google Cloud Armor, consulta Usa el registro de solicitudes.

Registro para implementaciones de VPC compartida

Por lo general, los registros y las métricas del balanceador de cargas de la aplicación se exportan al proyecto que tiene la regla de reenvío. Por lo tanto, los administradores de servicios (propietarios o usuarios de proyectos en los que se crea el servicio de backend) no tendrán acceso a los registros y las métricas del balanceador de cargas de forma predeterminada. Puedes usar roles de IAM para otorgar estos permisos a los administradores de servicios. Para obtener más información sobre los roles de IAM que están disponibles y los pasos que debes seguir para proporcionar acceso, consulta Otorga acceso a Monitoring.

Interactúa con los registros

Puedes interactuar con los registros externos del balanceador de cargas de aplicaciones mediante la API de Cloud Logging. La API de Logging proporciona maneras de filtrar de forma interactiva registros que tienen configurados campos específicos. Exporta los registros que coinciden a Cloud Logging, Cloud Storage, BigQuery o Pub/Sub. Para obtener más información sobre la API de Logging, consulta Descripción general de la API de Logging.

Supervisión

El balanceador de cargas exporta datos de supervisión a Monitoring.

Puedes usar métricas de supervisión 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

Frecuencia y retención de informes de métricas

Las métricas de los balanceadores de cargas de aplicaciones externos se exportan a Cloud Monitoring en lotes con un nivel de detalle de 1 minuto. Los datos de supervisión se conservan durante seis (6) semanas.

El panel proporciona un análisis de datos en intervalos predeterminados de 1 hora (una hora), 6 horas (seis horas), 1 día (un día), 1 semana (una semana) y 6 semanas (seis semanas). Puedes solicitar un análisis de forma manual en cualquier intervalo de 6 semanas a 1 minuto.

Métricas de supervisión

Puedes supervisar las siguientes métricas para los balanceadores de cargas de aplicaciones externos.

Las siguientes métricas para balanceadores de cargas de aplicaciones externos globales se informan en Cloud Monitoring. Estas métricas están precedidas por loadbalancing.googleapis.com/.

Métrica Nombre Descripción
Recuento de solicitudes https/request_count La cantidad de solicitudes que entregó el balanceador de cargas de aplicaciones externo
Recuento de bytes de solicitud https/request_bytes_count La cantidad de bytes enviados como solicitudes de clientes al balanceador de cargas de aplicaciones externo
Recuento de bytes de respuesta https/response_bytes_count La cantidad de bytes enviados como respuestas del balanceador de cargas de aplicaciones externo a los clientes
Latencias totales https/total_latencies

Una distribución de la latencia total. La latencia total es el tiempo en milisegundos entre el primer byte de la solicitud que recibe el proxy y el último byte de la respuesta que envía el proxy. Incluye el tiempo que le lleva al proxy procesar la solicitud, el tiempo que tarda la solicitud en enviarse del proxy al backend, el tiempo que tarda el backend en procesar la solicitud, el tiempo que tarda la respuesta en enviarse al proxy y el tiempo que tarda el proxy en procesar la respuesta y enviarla al cliente.

No incluye el RTT entre el cliente y el proxy. Además, las pausas entre solicitudes en la misma conexión que usan Connection: keep-alive no afectan la medición. Por lo general, esta medición se reduce al percentil 95 en las vistas de Cloud Monitoring.

En el caso de las conexiones WebSocket, este campo hace referencia a toda la duración de la conexión.*

Ejemplo: Un balanceador de cargas tiene 1 solicitud por segundo del Reino Unido, todas con una latencia de 100 ms, y 9 solicitudes por segundo de EE.UU., todas con una latencia de 50 ms. En un determinado momento, hubo 60 solicitudes del Reino Unido y 540 solicitudes de EE.UU. Las métricas de supervisión conservan la distribución en todas las dimensiones. Puedes solicitar información como la siguiente:

  • latencia general mediana (300/600): 50 ms
  • latencia mediana del Reino Unido (30/60): 100 ms
  • latencia general del percentil 95 (570/600): 100 ms
RTT de frontend https/frontend_tcp_rtt

Una distribución del RTT del frontend. El RTT de frontend es el tiempo en milisegundos que tardan los datos en viajar del cliente al proxy y viceversa. Incluye el tiempo que tarda una solicitud en viajar del cliente al proxy y viceversa. No se actualiza durante el ciclo de vida de la conexión. Por ejemplo, configurar una conexión (TCP) con un protocolo de enlace de 3 vías tardaría 1.5 RTT.

Cuando se procesan las solicitudes, el balanceador de cargas toma muestras y calcula el promedio del tiempo que tardan los datos en ir y venir entre el cliente y el proxy, y, luego, registra un valor de RTT suavizado. El RTT suavizado es un algoritmo que se ocupa de las variaciones y las anomalías que pueden ocurrir en las mediciones de RTT.

Latencias de backend https/backend_latencies

Una distribución de la latencia del backend. La latencia del backend es el tiempo en milisegundos entre el primer byte de la solicitud que recibe el backend y el último byte de la respuesta que recibe el proxy. Incluye el tiempo que tarda la solicitud en enviarse del proxy al backend, el tiempo que tarda el backend en procesar la solicitud y el tiempo que tarda la respuesta en enviarse al proxy.

Fracción de clase de código de respuesta Fracción de las respuestas totales del balanceador de cargas de aplicaciones externo que se encuentran en cada clase de código de respuesta (2XX, 4XX, …). En Monitoring, este valor solo está disponible en los paneles predeterminados. No está disponible para los paneles personalizados. Puedes usar la API de Monitoring para configurar alertas.
Recuento de solicitudes de backend https/backend_request_count La cantidad de solicitudes enviadas desde el balanceador de cargas de aplicaciones externo a los backends.
Recuento de bytes de solicitudes de backend https/backend_request_bytes_count La cantidad de bytes enviados como solicitudes del balanceador de cargas de aplicaciones externo a los backends.
Recuento de bytes de respuesta de backend https/backend_response_bytes_count La cantidad de bytes enviados como respuestas de los backends (incluida la caché) al balanceador de cargas de aplicaciones externo.

* Para supervisar las conexiones de WebSockets, crea un servicio de backend específico para WebSockets.

Es posible que la suma del RTT de frontend y las latencias de backend no sea menor o igual que las latencias totales. Esto se debe a que, aunque sondeamos el RTT a través del socket de GFE al cliente en el momento en que se confirma la respuesta HTTP, confiamos en el informe del kernel en algunas de estas mediciones y no podemos asegurarnos de que el kernel tenga una medición del RTT para la respuesta HTTP determinada. El resultado final es un valor suavizado de RTT que también se ve afectado por las respuestas HTTP anteriores, SYN/ACK y los protocolos de enlace SSL que no afectan los tiempos reales de las solicitudes HTTP actuales.

Filtra las dimensiones de las métricas

Puedes aplicar filtros para las métricas de los balanceadores de cargas de aplicaciones externos.

Las métricas se agregan para cada balanceador de cargas de aplicaciones clásico y balanceador de cargas de aplicaciones externo global. Puedes filtrar métricas agregadas por las siguientes dimensiones para resource.type="http_load_balancer" o resource.type="https_lb_rule". Ten en cuenta que no todas las dimensiones están disponibles en todas las métricas.

Propiedad Descripción
backend_scope El Google Cloud alcance (región o zona) del grupo de instancias del servicio de backend que entregó la conexión.

Si no había ningún grupo de instancias disponible o si otra entidad entregó la solicitud, verás uno de los siguientes valores en lugar de la región o la zona del grupo de instancias del servicio de backend.

  • FRONTEND_5XX: Se produjo un error interno antes de que GFE pudiera seleccionar un backend. GFE mostró 5XX al cliente.
  • INVALID_BACKEND: GFE no pudo encontrar un backend en buen estado para asignarle la solicitud, por lo que mostró una respuesta 5XX al solicitante.
  • NO_BACKEND_SELECTED: Se produjo un error o una interrupción antes de que se pudiera seleccionar un backend o se produzca un redireccionamiento de la URL.
  • MULTIPLE_BACKENDS: Varios backends potenciales entregaron la solicitud. Esto puede suceder cuando Cloud CDN entregó la solicitud de forma parcial desde su caché y también envió una o más solicitudes de rango de bytes al backend. Usa el desglose de backend_scope para visualizar cada solicitud de balanceador de cargas a backend.

Cuando se elige este desglose, los gráficos muestran las métricas de backend (balanceador de cargas a backends) y no las métricas de frontend (cliente a balanceador de cargas).

backend_type

El nombre del grupo de backend que entregó la solicitud del cliente. Puede ser INSTANCE GROUP, NETWORK_ENDPOINT_GROUP o se muestra UNKNOWN si no se asignó el backend. Si ningún grupo de backend se encontraba disponible o si otra entidad entregó la solicitud, se muestra uno de los siguientes valores en lugar de un grupo de backend.

  • FRONTEND_5XX: Se produjo un error interno antes de que GFE pudiera seleccionar un backend. GFE mostró 5XX al cliente.
  • INVALID_BACKEND: GFE no pudo encontrar un backend en buen estado para asignarle la solicitud, por lo que mostró una respuesta 5XX al solicitante.
  • NO_BACKEND_SELECTED: Se produjo un error o una interrupción antes de que se pudiera seleccionar el backend o se produzca un redireccionamiento de la URL.
  • MULTIPLE_BACKENDS: Varios backends potenciales entregaron la solicitud. Esto puede suceder cuando Cloud CDN entregó la solicitud de forma parcial desde su caché y también envió una o más solicitudes de rango de bytes al backend. Usa el desglose de backend_scope para visualizar cada solicitud de balanceador de cargas a backend.
backend_target_type El nombre del servicio de backend que entregó la solicitud. Puede ser BACKEND_SERVICE, BACKEND_BUCKET, UNKNOWN si no se asignó el backend, o NO_BACKEND_SELECTED si se produjo un error o alguna otra interrupción antes de que se pudiera seleccionar el backend o se produzca un redireccionamiento de la URL.
matched_url_path_rule La regla de ruta del mapa de URL que coincide con el prefijo de la solicitud HTTP(S) (hasta 50 caracteres).
forwarding_rule_name El nombre de la regla de reenvío que utiliza el cliente para enviar la solicitud.
url_map_name

La regla de ruta de acceso del mapa de URL o la regla de ruta configurada como parte de la clave del mapa de URL. Puede ser UNMATCHED o UNKNOWN como resguardos.

  • UNMATCHED hace referencia a una solicitud que no coincide con ninguna regla de ruta de URL, por lo que url_map_name usa la regla de ruta de acceso predeterminada.
  • UNKNOWN indica un error interno.
target_proxy_name El nombre del objeto de proxy HTTP(S) de destino al que hace referencia la regla de reenvío.
backend_target_name El nombre del destino de backend. El destino puede ser un servicio de backend o un bucket de backend. Se muestra UNKNOWN si no se asignó un backend.
backend_name El nombre del grupo de instancias de backend, el bucket o NEG. Se muestra UNKNOWN si no se asignó el backend, o NO_BACKEND_SELECTED si se produjo otra interrupción o un error antes de que se pudiera seleccionar un backend o se produzca un redireccionamiento de la URL.
backend_scope_type

El tipo de permiso del grupo de backend. Puede ser GLOBAL, REGION, ZONE, MULTIPLE_BACKENDS o NO_BACKEND_SELECTED si se produjo un error o alguna otra interrupción antes de que se pudiera seleccionar un backend, se produzca un redireccionamiento de la URL o cualquier otro resultado posible de backend_type.

Se usa MULTIPLE_BACKENDS cuando se utiliza el almacenamiento en caché de fragmentos. Se envían varias consultas al mismo backend para diferentes fragmentos de datos para admitir una sola solicitud del cliente.

proxy_continent Continente del GFE HTTP(S) que finalizó la conexión HTTP(S), por ejemplo, America, Europe o Asia
protocol El protocolo que usa el cliente, uno como HTTP/1.0, HTTP/1.1, HTTP/2.0, QUIC/HTTP/2.0 o UNKNOWN.
response_code El código de estado HTTP de la solicitud.
response_code_class La clase de código de estado HTTP de la solicitud: 200, 300, 400, 500 o 0 para ninguno
cache_result Resultado de la caché para entregar la solicitud HTTP mediante el proxy: HIT, MISS, DISABLED, PARTIAL_HIT (para una solicitud entregada parcialmente desde la caché y parcialmente desde el backend) o UNKNOWN.
client_country País del cliente que emitió la solicitud HTTP (por ejemplo, United States o Germany)
load_balancing_scheme El esquema de balanceo de cargas usado. Si se usa el balanceador de cargas de aplicaciones clásico, el valor es EXTERNAL. Si se usa el balanceador de cargas de aplicaciones externo global, el valor es EXTERNAL_MANAGED.

¿Qué sigue?