Registros y métricas de servicios de backend

En este documento se explica cómo configurar y usar Cloud Logging y Cloud Monitoring con balanceadores de carga de aplicación clásicos, balanceadores de carga de aplicación externos globales y Cloud CDN.

Almacenamiento de registros

Puedes habilitar, inhabilitar y ver los registros de un servicio de backend de un balanceador de carga de aplicación externo. En el caso de los balanceadores de carga de aplicaciones externos con segmentos de backend, el registro se habilita automáticamente y no se puede inhabilitar.

Puedes habilitar o inhabilitar el registro de cada servicio de backend. Puedes configurar si quieres registrar todas las solicitudes o una fracción muestreada aleatoriamente.

Debes asegurarte de que no haya ninguna exclusión de registros que se aplique a los balanceadores de carga de aplicaciones externos. Para obtener información sobre cómo verificar que se permiten los registros Cloud HTTP Load Balancer, consulte Filtros de exclusión.

Muestreo y recogida de registros

Las solicitudes (y las respuestas correspondientes) gestionadas por las instancias de máquina virtual (VM) de backend del balanceador de carga se muestrean. Estas solicitudes muestreadas se procesan para generar registros. Puede controlar la fracción de las solicitudes que se emiten como entradas de registro según el parámetro logConfig.sampleRate. Si logConfig.sampleRate es 1.0 (100%), significa que se generan registros de todas las solicitudes y se escriben en Cloud Logging.

Campos opcionales:

Los registros de registro contienen campos obligatorios y campos opcionales. En la sección Qué se registra se indica qué campos son opcionales y cuáles son obligatorios. Todos los campos obligatorios se incluyen siempre. Puedes personalizar los campos opcionales que quieras conservar.

  • Si seleccionas Incluir todos los campos opcionales, se incluirán en los registros todos los campos opcionales del formato de registro. Cuando se añaden nuevos campos opcionales al formato de registro, los registros incluyen automáticamente los nuevos campos.

  • Si selecciona Excluir todos los opcionales, se omitirán todos los campos opcionales.

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

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

Habilitar el registro en un servicio de backend nuevo

Consola

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

    Ir a Balanceo de carga

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

  3. Haz clic en Editar.

  4. Haz clic en Configuración de backend.

  5. Selecciona Crear un servicio de backend.

  6. Rellena los campos obligatorios del servicio backend.

  7. En la sección Almacenamiento de registros, marca la casilla Habilitar el almacenamiento de registros.

  8. Define una fracción de Frecuencia de muestreo. Puedes definir un número entre 0.0 y 1.0, donde 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 Campos opcionales, haga clic en Incluir todos los campos opcionales.

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

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

gcloud: modo global

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

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 backend es global. Usa este campo para los servicios de backend que se usan con balanceadores de carga de aplicación externos globales.
  • --enable-logging habilita el registro de ese servicio de backend.
  • --logging-sample-rate le permite especificar un valor entre 0.0 y 1.0, donde 0.0 significa que no se registra ninguna solicitud y 1.0 significa que se registra el 100% de las solicitudes. Este campo solo tiene sentido con el parámetro --enable-logging. Habilitar el registro, pero definir la frecuencia de muestreo en 0.0 equivale a inhabilitar el registro. El valor predeterminado es 1.0.
  • --logging-optional te permite especificar los campos opcionales que quieras incluir en los registros:

    • INCLUDE_ALL_OPTIONAL para incluir todos los campos opcionales.

    • EXCLUDE_ALL_OPTIONAL (valor predeterminado) para excluir todos los campos opcionales.

    • CUSTOM para incluir una lista personalizada de campos opcionales que especifiques en OPTIONAL_FIELDS.

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

    Por ejemplo, tls.protocol,tls.cipher solo se puede definir si LOGGING_OPTIONAL_MODE se define como CUSTOM. Si usa métricas personalizadas y quiere registrar elementos del informe de carga de ORCA, defina LOGGING_OPTIONAL_MODE como CUSTOM y especifique qué elementos se deben registrar en el campo OPTIONAL_FIELDS. Por ejemplo, orca_load_report.cpu_utilization,orca_load_report.mem_utilization.

Habilitar el registro en un servicio de backend

Consola

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

    Ir a Balanceo de carga

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

  3. Haz clic en Editar.

  4. Haz clic en Configuración de backend.

  5. Haz clic en Editar junto a tu servicio backend.

  6. En la sección Almacenamiento de registros, marca la casilla Habilitar el almacenamiento de registros.

  7. En el campo Frecuencia de muestreo, define la probabilidad de muestreo. Puedes definir un número del 0.0 al 1.0, donde 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 carga, haz clic en Actualizar.

gcloud: modo global

Habilita el registro en un servicio de backend 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 backend es global. Usa este campo para los servicios de backend que se usan con balanceadores de carga de aplicación externos globales.
  • --enable-logging habilita el registro de ese servicio de backend.
  • --logging-sample-rate le permite especificar un valor entre 0.0 y 1.0, donde 0.0 significa que no se registra ninguna solicitud y 1.0 significa que se registra el 100% de las solicitudes. Solo tiene sentido con el parámetro --enable-logging. Habilitar el registro, pero definir la frecuencia de muestreo en 0.0 equivale a inhabilitar el registro. El valor predeterminado es 1.0.

gcloud: modo clásico

Habilita el registro en un servicio de backend 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 backend es global. Usa este campo para los servicios de backend que se utilicen con un balanceador de carga de aplicaciones clásico.
  • --enable-logging habilita el registro de ese servicio de backend.
  • --logging-sample-rate le permite especificar un valor entre 0.0 y 1.0, donde 0.0 significa que no se registra ninguna solicitud y 1.0 significa que se registra el 100% de las solicitudes. Solo tiene sentido con el parámetro --enable-logging. Habilitar el registro, pero definir la frecuencia de muestreo en 0.0 equivale a inhabilitar el registro. El valor predeterminado es 1.0.

Inhabilitar o modificar el registro en un servicio de backend

Consola

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

    Ir a Balanceo de carga

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

  3. Haz clic en Editar.

  4. Haz clic en Configuración de backend.

  5. Haz clic en Editar junto a tu servicio backend.

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

  7. Si dejas el registro habilitado, puedes definir una fracción de Frecuencia de muestreo diferente. Puedes definir un número entre 0.0 y 1.0, donde 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 carga, haz clic en Actualizar.

gcloud: modo global

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

Inhabilitar el registro por completo

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

donde

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

Habilitar campos opcionales de registro en un servicio de backend

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 le permite especificar un valor entre 0.0 y 1.0, donde 0.0 significa que no se registra ninguna solicitud y 1.0 significa que se registra el 100% de las solicitudes. Solo tiene sentido con el parámetro --enable-logging. Habilitar el registro, pero definir la frecuencia de muestreo en 0.0 equivale a inhabilitar el registro. El valor predeterminado es 1.0.
  • --logging-optional te permite especificar los campos opcionales que quieras incluir en los registros:

    • INCLUDE_ALL_OPTIONAL para incluir todos los campos opcionales.

    • EXCLUDE_ALL_OPTIONAL (valor predeterminado) para excluir todos los campos opcionales.

    • CUSTOM para incluir una lista personalizada de campos opcionales que especifiques en OPTIONAL_FIELDS.

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

    Por ejemplo, tls.protocol,tls.cipher solo se puede definir si LOGGING_OPTIONAL_MODE se define como CUSTOM. Si usa métricas personalizadas y quiere registrar elementos del informe de carga de ORCA, debe asignar el valor CUSTOM a LOGGING_OPTIONAL_MODE y especificar qué elementos se deben registrar en el campo OPTIONAL_FIELDS. Por ejemplo, orca_load_report.cpu_utilization,orca_load_report.mem_utilization.

Actualizar el modo opcional de registro de PERSONALIZADO a otro

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 quieras incluir en los registros:

    • INCLUDE_ALL_OPTIONAL para incluir todos los campos opcionales.

    • EXCLUDE_ALL_OPTIONAL (valor predeterminado) para excluir todos los campos opcionales.

  • --logging-optional-fields debe configurarse explícitamente como se muestra para borrar los campos CUSTOM. La API no permite combinar un modo que no sea CUSTOM con campos CUSTOM.

Modificar la frecuencia de muestreo de los registros

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.

Inhabilitar el registro por completo

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

donde

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

Modificar la frecuencia de muestreo de los registros

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

donde

  • --global indica que el servicio backend es global. Usa este campo para los servicios de backend que se utilicen con un balanceador de carga de aplicaciones clásico.
  • --logging-sample-rate le permite especificar un valor entre 0.0 y 1.0, donde 0.0 significa que no se registra ninguna solicitud y 1.0 significa que se registra el 100% de las solicitudes. Solo tiene sentido con el parámetro --enable-logging. Habilitar el registro, pero definir la frecuencia de muestreo en 0.0 equivale a inhabilitar el registro.

Ver registros


Para seguir las instrucciones paso a paso de esta tarea directamente en la Google Cloud consola, haga clic en Ayúdame:

Guíame


Los registros HTTP(S) se indexan primero por una regla de reenvío y, después, por un mapa de URLs.

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

Ir a Explorador de registros

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

  • Para ver los registros de una regla de reenvío, seleccione el nombre de una regla de reenvío.

  • Para ver los registros de un mapa de URLs, seleccione una regla de reenvío y, a continuación, un mapa de URLs.

Los campos de registro de tipo booleano suelen aparecer solo si tienen el valor true. Si un campo booleano tiene el valor false, 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 sustituyen por signos de interrogación. En el caso de los balanceadores de carga de aplicaciones clásicos y los balanceadores de carga de aplicaciones externos globales, puedes exportar métricas basadas en registros mediante registros de recursos (resource.type="http_load_balancer"). Las métricas creadas se basan en el recurso Regla de balanceador de carga 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 de los balanceadores de carga de aplicaciones externos contienen información útil para monitorizar y depurar el tráfico HTTP(S). Los registros de registro contienen campos obligatorios, que son los campos predeterminados de todos los registros de registro.

Los registros de registro contienen campos opcionales que añaden información adicional sobre tu tráfico HTTP(S). Los campos opcionales se pueden omitir para ahorrar costes de almacenamiento.

Algunos campos de registro tienen un formato de varios campos, con más de un dato en un campo determinado. Por ejemplo, el campo tls tiene el formato TlsInfo, que contiene el campo earlyDataRequest. Estos campos de varios campos se describen en la siguiente tabla de formato de registro.

Campo Formato de campo Tipo de campo: obligatorio u opcional Descripción
severity
insertID
logName
LogEntry Obligatorio Los campos generales, tal como se describen en una entrada de registro.
timestamp cadena (formato Timestamp ) Opcional La hora en la que la primera capa de GFE recibe la solicitud.
httpRequest HttpRequest Obligatorio Un protocolo habitual para registrar solicitudes HTTP.

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

.
resource MonitoredResource Obligatorio

El MonitoredResource es el tipo de recurso asociado a una entrada de registro.

El 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 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
cadena Obligatorio El campo statusDetails contiene una cadena que explica por qué el balanceador de carga ha devuelto el código de estado HTTP que ha devuelto. 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.
cadena Obligatorio El campo backendTargetProjectNumber contiene el número de proyecto en el que se ha creado el destino de backend (servicio de backend o bucket de backend). Este campo tiene el siguiente formato: "projects/PROJECT_NUMBER". Esta información solo está disponible para los balanceadores de carga de aplicación externos globales que usan respuestas de error personalizadas.
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 carga de aplicación externos globales que usan respuestas de error personalizadas.
cadena Obligatorio El campo errorService contiene el servicio backend que ha proporcionado la respuesta de error personalizada. Esta información solo está disponible para los balanceadores de carga de aplicación externos globales que usan respuestas de error personalizadas.
cadena Obligatorio El campo errorBackendStatusDetails contiene el statusDetails de la respuesta final que se ha enviado al cliente. Esta información solo está disponible para los balanceadores de carga de aplicación 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 carga de aplicación externos globales que tengan habilitadas las políticas de autorización. Para obtener más información, consulta qué se registra en las políticas de autorización.
cadena Opcional El campo loadBalancingScheme solo se rellena si utilizas la función de migración del balanceador de carga de aplicación clásico. Este campo contiene una cadena que describe el esquema de balanceo de carga que se ha usado para enrutar la solicitud. Los valores posibles son EXTERNAL y EXTERNAL_MANAGED.
TlsInfo Obligatorio

El campo tls contiene el campo TlsInfo, que especifica los metadatos de TLS de la conexión entre el cliente y el balanceador de carga. Este campo solo está disponible si el cliente usa cifrado 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 asignar --logging-optional-fields a 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 devuelto por el backend. Este campo solo está presente si el backend devuelve un informe de carga de ORCA y has configurado el balanceador de carga para que registre el informe de carga de ORCA.

Usa el parámetro --logging-optional-fields para especificar qué 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 definir --logging-optional-fields en orca_load_report para especificar que se deben registrar todos los elementos.

Formato del campo TlsInfo

Campo Formato de campo Tipo de campo: obligatorio u opcional Descripción
protocol cadena Opcional Protocolo TLS que usan los clientes para establecer una conexión con el balanceador de carga. Los valores posibles son TLSv1, TLSv1.1, TLSv1.2, TLSv1.3 o QUIC. Este valor se asigna a NULL si el cliente no usa el cifrado TLS/SSL.
cifrado cadena Opcional Cifrado TLS que usan los clientes para establecer una conexión con el balanceador de carga. Este valor se define como NULL si el cliente no usa HTTP(S) o si no usa el cifrado TLS/SSL.
earlyDataRequest booleano Obligatorio La solicitud incluye datos iniciales en el handshake TLS.

Etiquetas de recurso

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

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

Mensajes de éxito HTTP de statusDetails

statusDetails (correcto) Significado Códigos de respuesta habituales
byte_range_caching La solicitud HTTP se ha servido mediante el almacenamiento en caché de intervalos de bytes de Cloud CDN. Se puede usar cualquier código de respuesta que se pueda almacenar en caché.
response_from_cache La solicitud HTTP se ha servido desde una caché de Cloud CDN. Se puede usar cualquier código de respuesta que se pueda almacenar en caché.
response_from_cache_validated El código de retorno se ha definido a partir de una entrada almacenada en caché de Cloud CDN que ha validado un backend. Se puede usar cualquier código de respuesta que se pueda almacenar en caché.
response_sent_by_backend La solicitud HTTP se ha enviado correctamente al backend a través de un proxy y el backend ha devuelto la respuesta. El código de respuesta HTTP lo define el software que se ejecuta en el backend.

Mensajes de error HTTP de statusDetails

statusDetails (failure) Significado Códigos de estado habituales
aborted_request_due_to_backend_early_response Se ha abortado una solicitud con un cuerpo porque el backend ha enviado una respuesta anticipada con un código de estado. La respuesta se ha reenviado al cliente. La solicitud se ha terminado. 4XX o 5XX
backend_connection_closed_after_partial_response_sent La conexión backend se ha cerrado de forma inesperada después de que se haya enviado una respuesta parcial al cliente.

El código de estado HTTP lo define el software que se ejecuta en el backend. El código de estado HTTP 0 (cero) significa que el backend ha enviado encabezados HTTP incompletos.

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

backend_connection_closed_before_data_sent_to_client El backend ha cerrado inesperadamente su conexión con el balanceador de carga antes de que la respuesta se enviara al cliente a través de un proxy.

502 y 503

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

backend_early_response_with_non_error_status El backend ha enviado 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 ha enviado un código de estado provisional 1XX a la solicitud en un contexto en el que no se admiten respuestas provisionales.

502, 503

backend_response_corrupted El cuerpo de la respuesta HTTP enviada por el backend tiene una codificación de transferencia fragmentada no válida o está dañado. Cualquier código de estado posible en función de la naturaleza de la corrupción. A menudo, 502, 503.
backend_response_headers_too_long Los encabezados de respuesta HTTP enviados por el backend han superado el límite permitido. Para obtener más información, consulta la sección Tamaño del encabezado de los balanceadores de carga de aplicación externos. 502, 503
backend_timeout

El backend ha agotado el tiempo de espera al generar una respuesta.

En una conexión websocket:

  • En el caso del balanceador de carga de aplicaciones externo global, se genera un código de estado cuando el GFE cierra la conexión WebSocket en estado de inactividad después de que expire el tiempo de espera del servicio de backend.
  • En el caso de los balanceadores de carga de aplicaciones clásicos, se genera un código de estado cuando el GFE cierra la conexión WebSocket en estado inactivo o activo después de que expire 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 ha actualizado a una conexión de websockets.

banned_by_security_policy La solicitud se ha prohibido mediante una regla de prohibición basada en la frecuencia de Cloud Armor. 429
body_not_allowed El cliente ha enviado una solicitud HTTP con un cuerpo, pero el método HTTP utilizado no permite que se incluya un cuerpo. 400
byte_range_caching_aborted El balanceador de carga ha recibido una respuesta que indica que el recurso se puede almacenar en caché y admite intervalos de bytes. Cloud CDN ha recibido una respuesta incoherente (por ejemplo, una con un código de estado distinto del 206 Partial Content esperado). Esto ha ocurrido al intentar rellenar la caché con una solicitud de intervalo de bytes. Por lo tanto, el balanceador de carga ha cancelado la respuesta al cliente. 2XX
byte_range_caching_forwarded_backend_response El balanceador de carga ha recibido una respuesta que indica que el recurso se puede almacenar en caché y admite intervalos de bytes. Cloud CDN ha recibido una respuesta incoherente (por ejemplo, una con un código de estado distinto del 206 Partial Content esperado). Esto ha ocurrido al intentar rellenar la caché con una solicitud de intervalo de bytes. A continuación, el balanceador de carga reenvía la respuesta incoherente al cliente.

Devuelto desde el backend. Se puede devolver cualquier código de estado.

byte_range_caching_retrieval_abandoned El cliente ha cancelado una solicitud de intervalo de bytes o una solicitud de validación iniciada por Cloud CDN.

Devuelto desde el backend. Se puede devolver cualquier código de estado.

byte_range_caching_retrieval_from_backend_failed_after_partial_response Se ha producido un error en una solicitud de intervalo de bytes o de validación iniciada por Cloud CDN. Consulta la entrada de registro de Cloud Logging correspondiente a la solicitud iniciada por Cloud CDN para ver el estado detallado del backend. 2XX
cache_lookup_failed_after_partial_response El balanceador de carga no ha podido servir una respuesta completa desde la caché de Cloud CDN debido a un error interno. 2XX
cache_lookup_timeout_after_partial_response Se ha agotado el tiempo de espera de la secuencia de búsqueda en la caché de Cloud CDN porque el cliente no ha recuperado el contenido a tiempo. 2XX
client_disconnected_after_partial_response La conexión con el cliente se ha interrumpido después de que el balanceador de carga haya enviado una respuesta parcial.

Devuelto desde el backend. Se puede devolver cualquier código de estado.

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

client_disconnected_before_any_response La conexión con el cliente se ha interrumpido antes de que el balanceador de carga enviara ninguna respuesta.

0

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

client_timed_out El GFE ha cerrado la conexión del cliente por inactividad debido a la falta de progreso mientras actuaba como proxy de la solicitud o de la respuesta. 0 o 408
client_cert_invalid_rsa_key_size Un certificado de hoja o intermedio de cliente tenía un tamaño de clave RSA no válido. Para obtener más información, consulta la sección Errores registrados de conexiones cerradas. 0
client_cert_unsupported_elliptic_curve_key Un certificado de cliente o intermedio usa una curva elíptica no admitida. Para obtener más información, consulta la sección Errores registrados de conexiones cerradas. 0
client_cert_unsupported_key_algorithm Un certificado de cliente o intermedio usa un algoritmo que no es RSA ni ECDSA. Para obtener más información, consulta la sección Errores registrados de conexiones cerradas. 0
client_cert_pki_too_large La PKI que se va a usar para la validación tiene más de diez certificados intermedios que comparten el mismo asunto y la misma información de clave pública del asunto. Para obtener más información, consulta Errores registrados en conexiones cerradas. 0
client_cert_chain_max_name_constraints_exceeded Un certificado intermedio proporcionado para la validación tenía más de diez restricciones de nombres. Para obtener más información, consulta la sección Errores registrados de conexiones cerradas. 0
client_cert_chain_invalid_eku El certificado de cliente o su emisor no tienen el uso de clave ampliado (UKA) que incluye clientAuth. Para obtener más información, consulta la sección Errores registrados de conexiones cerradas. 0
client_cert_validation_timed_out Se ha superado el tiempo límite al validar la cadena de certificados. Para obtener más información, consulta la sección Errores registrados de conexiones cerradas. 0
client_cert_validation_search_limit_exceeded Se ha alcanzado el límite de profundidad o de iteración al intentar validar la cadena de certificados. Para obtener más información, consulta la sección Errores registrados de conexiones cerradas. 0
client_cert_validation_not_performed Has configurado mTLS sin configurar un TrustConfig. Para obtener más información, consulta la sección Errores registrados de conexiones cerradas. 0
client_cert_not_provided El cliente no ha proporcionado el certificado solicitado durante la negociación. Para obtener más información, consulta la sección Errores registrados de conexiones cerradas. 0
client_cert_validation_failed La validación del certificado de cliente falla con TrustConfig cuando se usan algoritmos hash como MD4, MD5 y SHA-1. Para obtener más información, consulta la sección Errores registrados de conexiones cerradas. 0
config_not_found

Falta la configuración del proyecto en el balanceador de carga. Este error puede producirse de forma intermitente después de haber realizado cambios en la configuración que añadan un nuevo recurso.

Otra causa del error es que la GFE de la primera capa no se comunica con la GFE de la segunda capa. Esto puede deberse a un error interno, como un lanzamiento en curso, una sobrecarga del balanceador de carga o problemas de configuración intermitentes.

Estos errores son temporales y se espera que se produzcan dentro del SLA. Sin embargo, si la tasa de errores supera el 0,01%, ponte en contacto con el Google Cloud equipo de Asistencia para obtener más ayuda.

404, 502, 503
direct_response El balanceador de carga ha anulado esta solicitud y ha devuelto una respuesta fija. Puede que veas cualquier código de estado HTTP en función de la naturaleza del problema. Por ejemplo, el código de estado HTTP 410 significa que el backend no está disponible debido a un impago.
denied_by_security_policy El balanceador de carga ha denegado esta solicitud debido a una política de seguridad de Google Cloud Armor. Configurado en la política de seguridad.
error_uncompressing_gzipped_body Se ha producido un error al descomprimir una respuesta HTTP comprimida con gzip. 502, 503
failed_to_connect_to_backend El balanceador de carga no ha podido conectarse al backend. Esto incluye los tiempos de espera durante la fase de conexión. 502, 503
failed_to_pick_backend El balanceador de carga no ha podido elegir un backend en buen estado para gestionar la solicitud. 502, 503
failed_to_negotiate_alpn El balanceador de carga y el backend no han podido 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 más grandes que el máximo permitido. 413
http_version_not_supported No se admite la versión HTTP. Solo se admiten las versiones 0.9, 1.0, 1.1 y 2.0 de HTTP. 400
internal_error Error interno en el balanceador de carga. Normalmente representa un error transitorio en la infraestructura del balanceador de carga. Vuelve a probar la consulta. 4XX o 5XX
invalid_external_origin_endpoint La configuración del backend externo no es válida. Revisa la configuración del NEG de Internet y asegúrate de que especifica un FQDN, una dirección IP y un puerto válidos. 4XX
invalid_request_headers

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

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

Para obtener más información, consulta estos artículos:

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 solicitud HTTP/2 de un cliente contiene al menos un carácter que no está permitido según la especificación URI.

Para obtener más información, consulta la sección 3.3. Sección "Ruta" de 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 servidor, elimina una de las políticas y vuelve a intentarlo. Los objetos sin servidor incluyen App Engine, Cloud Run y Cloud Functions. 500
malformed_chunked_body El cuerpo de la solicitud se ha codificado en fragmentos de forma incorrecta. 411
request_loop_detected El balanceador de carga ha detectado un bucle de solicitudes. Este bucle puede deberse a una configuración incorrecta en la que el backend ha reenviado la solicitud al balanceador de carga. 502, 503
required_body_but_no_content_length La solicitud HTTP requiere un cuerpo, pero los encabezados de la solicitud no incluyen un encabezado de longitud de contenido o de transferencia codificada en fragmentos. 400, 403, 411
secure_url_rejected Se ha recibido una solicitud con una URL https:// a través de una conexión HTTP/1.1 sin cifrar. 400
server_cert_chain_exceeded_limit La cadena de certificados del servidor es demasiado larga (más de 10 certificados intermedios incluidos en el certificado del 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 tener entre 2048 y 4096 bits.

503
server_cert_not_provided El servidor no ha proporcionado el certificado solicitado durante la negociación. 503
server_cert_pki_too_large

La PKI que se va a usar para la validación tiene más de diez certificados intermedios que comparten el mismo asunto y la misma información de clave pública del asunto.

No se realiza ninguna validación.

503
server_cert_trust_config_not_found No se ha encontrado ningún TrustConfig que coincida. 503
server_cert_unsupported_elliptic_curve_key

Un servidor o un certificado intermedio está usando una curva elíptica no admitida. .

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 RSA ni ECDSA. .

No se realiza ninguna validación.

503
server_cert_validation_internal_error Error interno al validar la cadena de certificados. 503
server_cert_validation_not_performed

Has configurado mTLS sin configurar un recurso TrustConfig.

503
server_cert_validation_search_limit_exceeded

Se ha alcanzado el límite de profundidad o iteración al intentar 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. El número máximo de iteraciones es 100 (certificados examinados para validar la cadena de certificados del servidor).

503
server_cert_validation_timed_out Se ha superado el tiempo límite al intentar 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 carga no encuentra ningún nombre alternativo del sujeto (SAN) en el certificado SSL presentado por el backend que coincida con el nombre de host configurado. 502, 503
ssl_certificate_chain_verification_failed No se ha podido verificar el certificado SSL presentado por el backend. 502, 503
throttled_by_security_policy La solicitud se ha bloqueado por una regla de limitación de Cloud Armor. 429
unsupported_method El cliente ha proporcionado un método de solicitud HTTP no admitido. 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 Upgrade y se ha rechazado. 400
websocket_closed Se ha cerrado la conexión websocket. 101
websocket_handshake_failed No se ha podido realizar el handshake de WebSocket. Cualquier código de estado posible en función de la naturaleza del error de handshake.
request_body_too_large El cuerpo de la solicitud HTTP ha superado el máximo admitido por el backend. No se aplica a los back-ends de máquinas virtuales. 413
handled_by_identity_aware_proxy Esta respuesta se ha generado mediante Identity-Aware Proxy durante la verificación de identidad del cliente antes de permitir el acceso.

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

429 (limitado por IAP)

serverless_neg_routing_failed No se puede enviar la solicitud de NEG sin servidor. Este error puede producirse cuando no se puede acceder a la región especificada en el NEG o cuando no se encuentra el nombre del recurso (por ejemplo, el nombre de la función de Cloud Run). 404, 502, 503
fault_filter_abort Este error puede producirse si el cliente ha configurado un filtro de errores y se ha activado para la solicitud en cuestión. El valor debe estar comprendido entre 200 y 599.
early_data_rejected

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

Esto puede ocurrir en los siguientes casos, entre otros:

  • El TargetHttpsProxy tiene el valor STRICT en los datos iniciales de TLS, pero la solicitud incluía parámetros de consulta.
  • El TargetHttpsProxy tiene datos iniciales de TLS definidos como STRICT o PERMISSIVE, pero la solicitud ha usado un método HTTP no idempotente (como POST o PUT).
425

Ver los registros de la validación del certificado de cliente de mTLS

Para ver los errores registrados de las conexiones cerradas durante la validación del certificado de cliente TLS mutuo, sigue estos pasos.

Consulta de consola

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

    Ir a Explorador de registros

  2. Haz clic en el interruptor Mostrar consulta.

  3. Pega lo siguiente en el campo de consulta. Sustituye FORWARDING_RULE_NAME por el nombre de tu 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 Realizar una consulta.

Registros de solicitudes de políticas de autorización

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

Campo Tipo Descripción
authz_info.policies[] objeto Lista de políticas que coinciden con la solicitud.
authz_info.policies[].name cadena El nombre de la política de autorización que coincide con la solicitud.

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

  • Ninguna política de ALLOW coincide con la solicitud y esta se rechaza.
  • Ninguna política de DENY coincide con la solicitud y esta se permite.
authz_info.policies[].result enum El resultado puede ser ALLOWED o DENIED.
authz_info.policies[].details cadena 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.

Registro de Cloud Armor

La tabla de mensajes de error HTTP statusDetail contiene algunos mensajes que se aplican a Cloud Armor. Para obtener más información sobre los registros de Cloud Armor, consulta Usar el registro de solicitudes.

Registro de despliegues de VPC compartida

Los registros y las métricas de Application Load Balancer suelen exportarse 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 backend) no tendrán acceso a los registros y las métricas del balanceador de carga de forma predeterminada. Puedes usar roles de gestión de identidades y accesos para conceder estos permisos a los administradores de servicios. Para obtener más información sobre los roles de gestión de identidades y accesos disponibles y los pasos para proporcionar acceso, consulta Conceder acceso a Monitoring.

Interactuar con los registros

Puedes interactuar con los registros del balanceador de carga de aplicaciones externo mediante la API Cloud Logging. La API Logging ofrece formas de filtrar de forma interactiva los registros que tienen campos específicos definidos. Exporta los registros coincidentes a Cloud Logging, Cloud Storage, BigQuery o Pub/Sub. Para obtener más información sobre la API Logging, consulta la descripción general de la API Logging.

Supervisión

El balanceador de carga exporta datos de monitorización a Monitoring.

Puedes usar las métricas de monitorización para hacer lo siguiente:

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

Frecuencia de los informes de métricas y retención

Las métricas de los balanceadores de carga de aplicaciones externos se exportan a Cloud Monitoring en lotes con una granularidad de 1 minuto. Los datos de monitorización se conservan durante seis (6) semanas.

El panel de control proporciona 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 manualmente en cualquier intervalo de entre 6 semanas y 1 minuto.

Monitorizar métricas

Puede monitorizar las siguientes métricas de los balanceadores de carga de aplicación externos.

Las siguientes métricas de los balanceadores de carga de aplicación externos globales se registran en Cloud Monitoring. Estas métricas empiezan por loadbalancing.googleapis.com/.

Métrica Nombre Descripción
Número de solicitudes https/request_count Número de solicitudes atendidas por el balanceador de carga de aplicaciones externo.
Número de bytes de solicitudes https/request_bytes_count Número de bytes enviados como solicitudes de clientes al balanceador de carga de aplicaciones externo.
Número de bytes de respuesta https/response_bytes_count Número de bytes enviados como respuestas desde el balanceador de carga de aplicación externo a los clientes.
Latencias totales https/total_latencies

Distribución de la latencia total. La latencia total es el tiempo en milisegundos que transcurre entre el primer byte de la solicitud recibida por el proxy y el último byte de la respuesta enviada por el proxy. Incluye el tiempo que tarda el proxy en 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 de vuelta al proxy y el tiempo que tarda el proxy en procesar la respuesta y enviarla al cliente.

No incluye el tiempo de ida y vuelta entre el cliente y el proxy. Además, las pausas entre solicitudes en la misma conexión que usan Connection: keep-alive no afectan a la medición. Esta medición suele reducirse al percentil 95 en las vistas de Cloud Monitoring.

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

Por ejemplo, un balanceador de carga recibe 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 minuto determinado, hubo 60 solicitudes del Reino Unido y 540 de Estados Unidos. La monitorización de métricas conserva la distribución en todas las dimensiones. Puedes solicitar información como la siguiente:

  • Latencia general media (300/600): 50 ms
  • Latencia media en Reino Unido (30/60): 100 ms
  • Latencia general del percentil 95 (570/600): 100 ms
TTR de frontend https/frontend_tcp_rtt

Distribución del RTT del frontend. El RTT de frontend es el tiempo en milisegundos que tardan los datos en ir del cliente al proxy y volver. Incluye el tiempo que tarda una solicitud en ir del cliente al proxy y volver del proxy al cliente. No se actualiza durante la vida útil de la conexión. Por ejemplo, configurar una conexión TCP con un handshake de 3 vías llevaría 1,5 RTTs.

Cuando se procesan las solicitudes, el balanceador de carga toma muestras y calcula la media del tiempo que tardan los datos en ir y volver entre el cliente y el proxy. A continuación, registra un valor de RTT suavizado. El RTT suavizado es un algoritmo que gestiona las variaciones y las anomalías que pueden producirse en las mediciones de RTT.

Latencias de backend https/backend_latencies

Distribución de la latencia del backend. La latencia del backend es el tiempo, en milisegundos, que transcurre 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 de vuelta al proxy.

Fracción de clase de código de respuesta Fracción del total de respuestas del balanceador de carga de aplicaciones externo que pertenecen a cada clase de código de respuesta (2XX, 4XX, etc.). En Monitoring, este valor solo está disponible en los paneles de control predeterminados. No está disponible para los paneles de control personalizados. Puedes usar la API Monitoring para configurar alertas.
Número de solicitudes de backend https/backend_request_count Número de solicitudes enviadas desde el balanceador de carga de aplicaciones externo a los backends.
Número de bytes de solicitudes de backend https/backend_request_bytes_count Número de bytes enviados como solicitudes desde el balanceador de carga de aplicaciones externo a los backends.
Número de bytes de respuesta del backend https/backend_response_bytes_count Número de bytes enviados como respuestas desde los backends (incluida la caché) al balanceador de carga de aplicaciones externo.

* Para monitorizar las conexiones de websockets, crea un servicio de backend específico para websockets.

La suma de la latencia de ida y vuelta del frontend y la latencia del backend puede no ser inferior o igual a la latencia total. Esto se debe a que, aunque sondea el RTT a través del socket del GFE al cliente en el momento en que se confirma la respuesta HTTP, dependemos de los informes del kernel para algunas de estas mediciones y no podemos asegurarnos de que el kernel tenga una medición del RTT para la respuesta HTTP dada. El resultado final es un valor de RTT suavizado que también se ve afectado por las respuestas HTTP, los SYN/ACK y los handshakes SSL anteriores que no influyen en los tiempos reales de la solicitud HTTP actual.

Dimensiones de filtro de métricas

Puede aplicar filtros a las métricas de los balanceadores de carga de aplicaciones externos.

Las métricas se agregan para cada balanceador de carga de aplicación clásico y para cada balanceador de carga de aplicación externo global. Puede filtrar las métricas agregadas por las siguientes dimensiones de 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 ámbito (región o zona) del grupo de instancias del servicio de backend que ha atendido la conexión.

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

  • FRONTEND_5XX: se ha producido un error interno antes de que GFE pudiera seleccionar un backend. GFE ha devuelto 5XX al cliente.
  • INVALID_BACKEND: el GFE no ha encontrado ningún backend correcto al que asignar la solicitud, por lo que ha devuelto una respuesta 5XX al solicitante.
  • NO_BACKEND_SELECTED: se ha producido un error o una interrupción antes de que se seleccionara un backend, se haya producido una redirección de URL o un balanceador de carga de aplicaciones clásico con backends sin servidor haya devuelto una respuesta 200 OK.
  • MULTIPLE_BACKENDS: la solicitud se ha servido desde varios back-ends. Esto puede ocurrir cuando Cloud CDN ha servido la solicitud parcialmente desde su caché y también ha enviado una o varias solicitudes de intervalo de bytes al backend. Usa el backend_scope para visualizar cada solicitud del balanceador de carga al backend.

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

backend_type

Nombre del grupo de backend que ha atendido la solicitud del cliente. Puede ser INSTANCE GROUP, NETWORK_ENDPOINT_GROUP o UNKNOWN si no se ha asignado el backend. Si no había ningún grupo de backend disponible o si la solicitud se ha servido por otra entidad, se muestra uno de los siguientes valores en lugar de un grupo de backend.

  • FRONTEND_5XX: se ha producido un error interno antes de que GFE pudiera seleccionar un backend. GFE ha devuelto 5XX al cliente.
  • INVALID_BACKEND: el GFE no ha encontrado ningún backend correcto al que asignar la solicitud, por lo que ha devuelto una respuesta 5XX al solicitante.
  • NO_BACKEND_SELECTED: se ha producido un error o una interrupción antes de que se seleccionara un backend, se haya producido una redirección de URL o un balanceador de carga de aplicaciones clásico con backends sin servidor haya devuelto una respuesta 200 OK.
  • MULTIPLE_BACKENDS: la solicitud se ha servido desde varios back-ends. Esto puede ocurrir cuando Cloud CDN ha servido la solicitud parcialmente desde su caché y también ha enviado una o varias solicitudes de intervalo de bytes al backend. Usa el backend_scope para visualizar cada solicitud del balanceador de carga al backend.
backend_target_type Nombre del servicio de backend que ha atendido la solicitud. Puede ser BACKEND_SERVICE, BACKEND_BUCKET o UNKNOWN si no se ha asignado ningún backend, o NO_BACKEND_SELECTED si se ha producido un error o una interrupción antes de que se seleccionara un backend, se produjera una redirección de URL o un balanceador de carga de aplicaciones clásico con backends sin servidor devolviera una respuesta 200 OK.
matched_url_path_rule Regla de ruta del mapa de URLs que ha coincidido con el prefijo de la solicitud HTTP(S) (hasta 50 caracteres).
forwarding_rule_name Nombre de la regla de reenvío que usa el cliente para enviar la solicitud.
url_map_name

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

  • 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 predeterminada.
  • UNKNOWN indica un error interno.
target_proxy_name Nombre del objeto de proxy HTTP(S) de destino al que hace referencia la regla de reenvío.
backend_target_name Nombre del destino de backend. El destino puede ser un servicio de backend o un segmento de backend. Se devuelve UNKNOWN si no se ha asignado ningún backend.
backend_name Nombre del grupo de instancias, del segmento o del NEG de backend. Se devuelve UNKNOWN si no se ha asignado el backend o NO_BACKEND_SELECTED si se ha producido un error o una interrupción antes de que se seleccionara un backend, se produjera una redirección de URL o un balanceador de carga de aplicaciones clásico con backends sin servidor devolviera una respuesta 200 OK.
backend_scope_type

El tipo de ámbito del grupo de backend. Puede ser GLOBAL, REGION, ZONE, MULTIPLE_BACKENDS o NO_BACKEND_SELECTED si se ha producido un error o una interrupción antes de que se seleccionara un backend, se produjera una redirección de URL o un Application Load Balancer clásico con backends sin servidor devolviera una respuesta 200 OK u otros posibles resultados de backend_type.

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

proxy_continent Continente de la GFE HTTP(S) que ha finalizado la conexión HTTP(S). Por ejemplo, America, Europe o Asia.
protocol Protocolo usado por el cliente. Puede ser 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 Clase del código de estado HTTP de la solicitud: 200, 300, 400, 500 o 0 si no hay ninguna.
cache_result Resultado de la caché para servir la solicitud HTTP mediante proxy: HIT, MISS, DISABLED, PARTIAL_HIT (para una solicitud servida parcialmente desde la caché y parcialmente desde el backend) o UNKNOWN.
client_country País del cliente que ha enviado la solicitud HTTP. Por ejemplo, United States o Germany.
load_balancing_scheme El esquema de balanceo de carga utilizado. Si se usa el balanceador de carga de aplicación clásico, el valor es EXTERNAL. Si se usa un balanceador de carga de aplicación externo global, el valor es EXTERNAL_MANAGED.

Siguientes pasos