Logging y Monitoring para el balanceo de cargas de HTTP(S)

En este documento, se proporciona la información que necesitas con el fin de comprender Cloud Logging y Cloud Monitoring para el balanceo de cargas de HTTP(S).

Logging

Puedes habilitar, inhabilitar y ver registros para un servicio de backend de balanceo de cargas de HTTP(S).

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 al balanceador de cargas de HTTP(S) externo. Si deseas obtener instrucciones para verificar que se permitan los registros Cloud HTTP Load Balancer, consulta Visualiza exclusiones por tipo de recurso.

Habilita el registro en un servicio de backend nuevo

Console

  1. Ve a la página Balanceo de cargas en Google Cloud Console.
    Ir a la página Balanceo de cargas
  2. Haz clic en el nombre del balanceador de cargas.
  3. Haz clic en Editar .
  4. Haz clic en Configuración de backend.
  5. Haz clic en Editar  junto al servicio de backend.
  6. Desmarca Habilitar registro para inhabilitar por completo el registro.
  7. Si dejas habilitado el registro, puedes configurar una fracción de Tasa de muestreo diferente. Puedes configurarla en cualquier valor entre 0.01.0 (valor predeterminado). Para reducir la cantidad de registros almacenados al 20%, configura el valor en 0.2.
  8. Haz clic en Actualizar.

gcloud

gcloud compute backend-services create BACKEND_SERVICE \
 --global \
 --enable-logging \
 --logging-sample-rate=VALUE \
 ... other values

En el ejemplo anterior, se ilustra lo siguiente:

  • --global indica que el servicio de backend es global.
  • --enable-logging habilita el registro para ese servicio de backend.
  • --logging-sample-rate=<var>VALUE</var> te permite especificar un valor entre 0.01.0, en el que 0.0 significa que no se registran paquetes y 1.0 significa que se registra el 100% de los paquetes. 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.

Habilita el registro en un servicio de backend existente

Console

  1. Ve a la página Balanceo de cargas en Google Cloud Console.
    Ir a la página Balanceo de cargas
  2. Haz clic en el nombre del balanceador de cargas.
  3. Haz clic en Editar .
  4. Haz clic en Configuración de backend.
  5. Haz clic en Editar  junto al servicio de backend.
  6. Haz clic en Habilitar registro.
  7. Configura una fracción de Tasa de muestreo. Puedes establecer una tasa entre 0.01.0 (predeterminada).
  8. Haz clic en Actualizar.

gcloud

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

En el ejemplo anterior, se ilustra lo siguiente:

  • --global indica que el servicio de backend es global.
  • --enable-logging habilita el registro para ese servicio de backend.
  • --logging-sample-rate=<var>VALUE</var> te permite especificar un valor entre 0.01.0, en el que 0.0 significa que no se registran paquetes y 1.0 significa que se registra el 100% de los paquetes. 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.

Inhabilita o modifica el registro en un servicio de backend existente

Console

  1. Ve a la página Balanceo de cargas en Google Cloud Console.
    Ir a la página Balanceo de cargas
  2. Haz clic en el nombre del balanceador de cargas.
  3. Haz clic en Editar .
  4. Haz clic en Configuración de backend.
  5. Haz clic en  junto al servicio de backend.
  6. Desmarca Habilitar registro para inhabilitar por completo el registro.
  7. Si dejas habilitado el registro, puedes configurar una fracción de Tasa de muestreo diferente. Puedes establecer una tasa entre 0.01.0 (predeterminada). Para reducir la cantidad de registros almacenados al 20%, configura el valor en 0.2.
  8. Haz clic en Actualizar.

gcloud

Inhabilita el registro por completo

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

En el ejemplo anterior, se ilustra lo siguiente:

  • --global indica que el servicio de backend es global.
  • --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

En el ejemplo anterior, se ilustra lo siguiente:

  • --global indica que el servicio de backend es global.
  • --logging-sample-rate=<var>VALUE</var> te permite especificar un valor entre 0.01.0, en el que 0.0 significa que no se registran paquetes y 1.0 significa que se registra el 100% de los paquetes. 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.

Visualiza registros

Para ver los registros, ve a Visor de registros.

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

  • Para ver todos los registros, en el primer menú desplegable, selecciona Balanceador de cargas de HTTP de Cloud > All forwarding rules.
  • 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, destaca una regla de reenvío y elige 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 por signos de interrogación.

Puedes configurar la exportación de métricas basadas en registros para registros de recursos del balanceador de cargas de HTTP(S) externo (resource.type=http_load_balancer). Las métricas creadas se basan en el recurso “Regla de balanceo de cargas de HTTP de Google Cloud (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:

Ir a Monitoring

¿Qué se registra?

Las entradas de registro de balanceo de cargas HTTP(S) contienen información útil para supervisar y depurar el tráfico de HTTP(S). Las entradas de registro contienen los siguientes tipos de información:

  • Información general, como gravedad, ID del proyecto, número de proyecto y marca de tiempo.
  • Campos de registro de HttpRequest. Sin embargo, HttpRequest.protocol no se propaga para los registros de Cloud Logging de balanceo de cargas de HTTP(S).
  • Un campo statusDetails dentro de structPayload. Este campo contiene una string que explica por qué el balanceador de cargas mostró cierto estado HTTP. Las siguientes tablas contienen más explicaciones sobre estas strings de registro
  • No se registran los redireccionamientos (código de estado de respuesta HTTP 302 Encontrado) emitidos desde el balanceador de cargas. se registran los redireccionamientos emitidos desde las instancias de backend

Mensajes de éxito HTTP de statusDetail

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 retorno 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ó al backend de forma correcta mediante proxy. Se muestra desde el backend: el software que se ejecuta en el backend establece el código de respuesta HTTP.

Mensajes de error HTTP de statusDetail

statusDetails (error) Significado Códigos de respuesta 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 error. 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 respuesta HTTP. El código de respuesta HTTP 0 (cero) significa que el backend envió encabezados HTTP incompletos.
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. Esto puede suceder si el balanceador de cargas envía tráfico a otra entidad. La otra entidad puede ser un balanceador de cargas de terceros que tiene un tiempo de espera de TCP menor que el tiempo de espera de 10 minutos (600 segundos) del balanceador de cargas de HTTP(S) externo. El balanceador de cargas de terceros podría ejecutarse en una instancia de VM. Establecer de forma manual el tiempo de espera de TCP (keepalive) en el servicio de destino a más de 600 segundos puede resolver el problema. 502
backend_early_response_with_non_error_status El backend envió una respuesta sin errores (1XX o 2XX) a una solicitud antes de recibir todo el cuerpo de la solicitud. 502
backend_interim_response_not_supported El backend envió una respuesta provisional 1XX a la solicitud en un contexto en que las respuestas provisionales no son compatibles. 502
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 respuesta posible según la naturaleza del daño A menudo, 502.
backend_response_headers_too_long Los encabezados de respuesta HTTP que envió el backend superaron el límite permitido. Consulta los límites de Tamaño del encabezado para el balanceo de cargas de HTTP(S) a fin de obtener más información. 502
backend_timeout Se agotó el tiempo de espera del backend mientras se generaba una respuesta. 502
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 respuesta 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 respuesta 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 respuesta 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 respuesta 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 respuesta es posible.
client_disconnected_before_any_response La conexión con el cliente se interrumpió antes de que el balanceador de cargas enviara cualquier respuesta. 0
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
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. 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
failed_to_pick_backend El balanceador de cargas no pudo elegir un backend en buen estado para manejar la solicitud. 502
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
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. Por el momento, 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 origen personalizado 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_http2_client_header_format Los encabezados HTTP/2 del cliente no son válidos. 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. Entre los objetos sin servidores, se incluyen App Engine, Cloud Run (completamente administrado) y Cloud Functions. 500
malformed_chunked_body El cuerpo de la solicitud estaba codificado en un fragmento de forma incorrecta. 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
required_body_but_no_content_length La solicitud HTTP requiere un cuerpo, pero los encabezados de solicitud no incluían una longitud de contenido ni un encabezado fragmentado de codificación de transferencia. 400 o 403
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
ssl_san_verification_failed El balanceador de cargas no pudo encontrar un SAN (Nombre alternativo de la entidad) en el certificado SSL que presentó el backend que coincida con el nombre de host configurado. 502
ssl_certificate_chain_verification_failed El certificado SSL que presentó el backend no pasó la verificación del certificado SSL. 502
unsupported_method El cliente proporcionó un método de solicitud HTTP no compatible. 400
upgrade_header_rejected La solicitud HTTP del cliente contenía el encabezado Actualizar y se rechazó. 400
uri_too_long El URI de solicitud HTTP era mayor que la longitud máxima permitida. 414
websocket_closed Se cerró la conexión de WebSocket. 101
websocket_handshake_failed Se produjo un error en el protocolo de enlace de WebSocket. Cualquier código de respuesta 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
serverless_neg_routing_failed No se puede enviar la solicitud del NEG sin servidores. Esto puede suceder 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 Cloud Functions). 404, 502

Registro para la lista de bloqueo de IP y la lista de anunciantes permitidos de IP

Las siguientes entradas de registro en el visor de registros son para registros de listas de IP de HTTP(S) de bloqueo o de anunciantes permitidos y, además, incluyen la siguiente estructura en jsonPayload. Los detalles de la solicitud HTTP aparecen en el mensaje httpRequest.

  • status_details (string): Una descripción textual del código de respuesta
  • enforced_security_policy: La regla de la política de seguridad que se aplicó
    • outcome (string): ACCEPT, DENY o UNKNOWN_OUTCOME
    • configured_action (string): Igual que el resultado
    • name (string): Nombre de la política de seguridad
    • priority (número): Prioridad de regla coincidente
  • preview_security_policy: Se propaga si la solicitud coincide con una regla configurada para la vista previa (presente solo cuando una regla de vista previa hubiera tenido prioridad sobre la regla aplicada)
    • outcome (string): ACCEPT, DENY o UNKNOWN_OUTCOME
    • configured_action (string): Igual que el resultado
    • name (string): Nombre de la política de seguridad
    • priority (número): Prioridad de regla coincidente

Puedes interactuar con los registros del balanceador de cargas de HTTP(S) externo mediante la API de Cloud Logging. La API de Logging proporciona formas de filtrar de forma interactiva los registros que tienen configurados campos específicos y de exportar los que coincidan a Cloud Logging, Cloud Storage, BigQuery o Pub/Sub. Para obtener más información sobre la API de Cloud Logging, consulta Visualiza registros.

Monitoring

El balanceo de cargas de HTTP(S) exporta los datos de supervisión a Cloud Monitoring.

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

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

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

Visualiza los paneles de Cloud Monitoring

  1. En Google Cloud Console, ve a Monitoring.

    Ir a Monitoring

  2. Si el panel de navegación de Monitoring muestra Servicios, selecciona Servicios > Balanceador de cargas de Cloud. Para ver el panel de un balanceador de cargas específico, ubica el balanceador de cargas en la lista y, luego, haz clic en su nombre.

  3. De lo contrario, selecciona Paneles:

    • Para ver una lista de paneles de los balanceadores de cargas de Google Cloud, selecciona el panel llamado Balanceadores de cargas de Google Cloud. Para ver el panel de un balanceador de cargas específico, ubica el balanceador de cargas en la lista y haz clic en su nombre.

    • Para ver una lista de los paneles de los balanceadores de cargas de AWS, selecciona el panel llamado Amazon Web Services. Para ver el panel de un balanceador de cargas específico, ubica el balanceador de cargas en la lista y haz clic en su nombre.

En el panel izquierdo, puedes ver varios detalles de este balanceador de cargas de HTTP(S) externo. En el panel derecho, puedes ver gráficos de series temporales. Haz clic en el vínculo Breakdowns para ver desgloses específicos.

Define las políticas de alertas

Puedes crear políticas de alertas para supervisar los valores de las métricas y recibir notificaciones cuando esas métricas infrinjan una condición. Los pasos generales para crear una política de alertas que supervise uno o más recursos de la regla de balanceo de cargas de HTTP/S de Google Cloud son los siguientes:

  1. En Google Cloud Console, ve a Monitoring.

    Ir a Monitoring

  2. En el panel de navegación de Monitoring, selecciona  Alertas y, luego, Crear política.
  3. Haz clic en Agregar condición:
    1. En la configuración del panel Destino, se especifican el recurso y la métrica que se supervisarán. Haz clic en el cuadro de texto para habilitar un menú y, luego, selecciona el recurso Google Cloud HTTP/S Load Balancing Rule. A continuación, selecciona una métrica de la lista correspondiente.
    2. La configuración del panel Configuración de la política de alertas determina cuándo se activa la alerta. La mayoría de los campos de este panel se propagan con valores predeterminados. Para obtener más información sobre los campos del panel, consulta Configuración en la documentación de las políticas de alertas.
    3. Haz clic en Agregar.
  4. Haz clic en Siguiente para avanzar a la sección de notificaciones.
  5. Para agregar notificaciones a tu política de alertas, haz clic en Canales de notificaciones (opcional). En el diálogo, selecciona uno o más canales de notificaciones del menú y, luego, haz clic en Aceptar.

    Si el canal de notificaciones que deseas agregar no aparece en la lista, haz clic en Administrar canales de notificaciones. Se te dirigirá a la página de Canales de notificaciones en una pestaña nueva del navegador. En esta página, puedes actualizar los canales de notificaciones configurados. Después de completar las actualizaciones, regresa a la pestaña original, haz clic en Actualizar  y selecciona los canales de notificaciones que deseas agregar a la política de alertas.

  6. Para avanzar a la sección de documentación, haz clic en Siguiente.
  7. Haz clic en Nombre e ingresa un nombre para la política de alertas.
  8. Haz clic en Documentación y, luego, agrega la información que deseas incluir en un mensaje de notificación (opcional).
  9. Haz clic en Guardar.
Para obtener más información, consulta Políticas de alertas.

Define los paneles personalizados de Cloud Monitoring

Puedes crear paneles personalizados de Cloud Monitoring a través de las métricas de balanceo de cargas de HTTP(S):

  1. En Google Cloud Console, ve a Monitoring.
    Ir a Monitoring
  2. Selecciona Paneles > Crear panel.
  3. Haz clic en Agregar gráfico.
  4. Ponle un título al gráfico.
  5. Selecciona métricas y filtros. Para las métricas, el tipo de recurso es Balanceador de cargas de HTTP de Cloud.
  6. Haz clic en Guardar.

Frecuencia y retención de informes de métricas

Las métricas de los balanceadores de cargas de HTTP(S) 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 para balanceadores de cargas de HTTP(S) externos

Las siguientes métricas para balanceadores de cargas de HTTP(S) externos se informan en Cloud Monitoring:

Métrica Nombre Descripción
Recuento de solicitudes https/request_count La cantidad de solicitudes que entrega el balanceador de cargas HTTP(S) externo
Recuento de bytes de solicitudes https/request_bytes_count La cantidad de bytes enviados como solicitudes de clientes al balanceador de cargas de HTTP(S) externo
Recuento de bytes de respuestas https/response_bytes_count La cantidad de bytes enviados como respuestas del balanceador de cargas de HTTP(S) externo a los clientes
Latencias totales https/total_latencies Una distribución de la latencia. La latencia se mide desde el momento en que GFE recibe el primer byte de la solicitud hasta que GFE recibe un ACK del cliente solicitante para el último byte de respuesta. Las latencias totales se miden por solicitud o respuesta. Las pausas entre solicitudes en la misma conexión mediante 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.

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 los EE.UU., todas con una latencia de 50 ms. En un determinado momento, hubo 60 solicitudes del Reino Unido y 540 solicitudes de los EE.UU. Las métricas de Monitoring 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 suavizado que se mide para cada conexión entre el cliente y el GFE (se mide por la pila TCP de GFE)
Latencias de backend(*) https/backend_latencies Una distribución de la latencia que se mide desde el momento en que GFE envió el primer byte de la solicitud al backend hasta que GFE recibió el último byte de respuesta del backend
Fracción de clase de código de respuesta Fracción de las respuestas totales del balanceador de cargas de HTTP(S) externo que se encuentran en cada clase de código de respuesta (2XX, 4XX, …). En Cloud Monitoring, este valor solo está disponible en los paneles predeterminados. No está disponible para los paneles personalizados. Puedes usar la API para configurar alertas.
Recuento de solicitudes de backend https/backend_request_count La cantidad de solicitudes enviadas desde el balanceador de cargas HTTP(S) 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 HTTP(S) 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 al balanceador de cargas de HTTP(S) externo

(*) No se garantiza que la suma del RTT de frontend y las latencias de backend 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 garantizar que el kernel tenga una medición del RTT para una 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 del balanceador de cargas de HTTP(S) externo

Las métricas se agregan para cada balanceador de cargas de HTTP(S) externo. Puedes filtrar métricas agregadas por las siguientes dimensiones(*).

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

Si ningún grupo de instancias se encontraba 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 una interrupción o un error antes de que se pudiera seleccionar un backend.
  • SERVED_FROM_BACKEND_BUCKET: Un bucket de backend controló la solicitud.
  • SERVED_FROM_CACHE: Una caché de GFE controló la solicitud, por lo que no se asignó ningún backend.
  • MULTIPLE_BACKENDS: Varios potenciales backends entregaron la solicitud. La caché envío una o más solicitudes de rango de bytes a un backend diferente. Usa el desglose de BACKEND_SCOPE para ver 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).
ZONA DEL BACKEND Si el grupo de instancias era un grupo de instancias zonal, la zona de Google Cloud del grupo de instancias que entregó la solicitud del cliente. Ejemplos: us-central1-a, europe-west1-b, asia-east1-c.

Cuando se selecciona este desglose, los gráficos muestran las métricas de backend (balanceador de cargas a backends) y no las métricas frontend (cliente a balanceador de cargas).
REGIÓN DEL BACKEND Si el grupo de instancias era un grupo de instancias regional, la región de Google Cloud del grupo de instancias que entregó la solicitud del cliente. Ejemplos: us-central1, europe-west1, asia-east1.

Cuando se selecciona este desglose, los gráficos muestran las métricas de backend (balanceador de cargas a backends) y no las métricas frontend (cliente a balanceador de cargas).
CONTINENTE DEL PROXY El continente de GFE HTTP(S) que finalizó la conexión HTTP(S). Ejemplos: America, Europe, Asia.
GRUPO DE INSTANCIAS El nombre del grupo de instancias que entregó la solicitud del cliente.

Si ningún grupo de instancias se encontraba disponible o si otra entidad entregó la solicitud, verás uno de los siguientes valores en lugar de un grupo de instancias.
  • 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 una interrupción o un error antes de que se pudiera seleccionar un backend.
  • INVALID_BACKEND: GFE no pudo encontrar un backend válido en buen estado, por lo que mostró 5XX al solicitante.
  • SERVED_FROM_BACKEND_BUCKET: Un bucket de backend controló la solicitud.
  • SERVED_FROM_CACHE: Cloud CDN controló la solicitud, por lo que no se asignó ningún backend.
  • MULTIPLE_BACKENDS: Varios backends entregaron la solicitud.

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).
SERVICIO DE BACKEND El nombre del servicio de backend que entregó la solicitud.
REGLA DE URL COINCIDENTE La regla de ruta del mapa de URL que coincide con el prefijo de la solicitud HTTP(S) (hasta 50 caracteres).
REGLA DE REENVÍO El nombre de la regla de reenvío que utiliza el cliente para enviar la solicitud.

(*) Actualmente, la métrica "Fracción de clase de código de respuesta" está disponible solo para todo el balanceador de cargas, sin desgloses adicionales disponibles.

Próximos pasos