Registro y supervisión de las llamadas de Cloud Load Balancing

En esta página, se muestra cómo configurar y usar Cloud Logging y Cloud Monitoring con textos destacados de extensiones de servicio para Cloud Load Balancing.

Logging

En esta sección, se describe el registro de las llamadas del balanceador de cargas de aplicaciones.

Habilita el registro en un servicio de backend

Puedes habilitar el registro de las llamadas del balanceador de cargas de aplicaciones cuando creas el servicio. Para ello, habilita el registro en el servicio de backend que es el destino de una solicitud (y no en el servicio de backend asociado con la extensión).

Para habilitar el registro en el servicio de backend de destino, usa el comando gcloud compute backend-services update.

gcloud compute backend-services update BACKEND_SERVICE \
    --enable-logging \
    --logging-sample-rate=RATE \
    --region=REGION \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

Reemplaza lo siguiente:

  • BACKEND_SERVICE: el nombre del servicio de backend
  • RATE: un valor entre 0.0 y 1.0, en el que 0.0 significa que no se registra ninguna solicitud, y 1.0, que se registran todas las solicitudes. El valor predeterminado es 1.0. Este parámetro de configuración solo es efectivo cuando se usa con el parámetro enable-logging. Cuando omites enable-logging, el registro se inhabilita.
  • REGION: Es la región del backend.
  • LOGGING_OPTIONAL_MODE: habilita el registro para campos opcionales en uno de estos modos:

    • INCLUDE_ALL_OPTIONAL incluye todos los campos opcionales.
    • EXCLUDE_ALL_OPTIONAL (opción predeterminada) excluye todos los campos opcionales.
    • CUSTOM incluye una lista personalizada de campos opcionales.
  • OPTIONAL_FIELDS: Es una lista separada por comas de campos opcionales cuando seleccionas el modo CUSTOM.

Después de habilitar el registro en el servicio de backend, las solicitudes HTTP o HTTPS se registran con las solicitudes de registros de Cloud Logging.

Para ver los registros, en la consola de Google Cloud , ve a la página Explorador de registros.

Para obtener más información, consulta las páginas "Supervisa y soluciona problemas" de la documentación del balanceador de cargas de aplicaciones, como Registro y supervisión del balanceador de cargas de aplicaciones interno.

Mensajes de registro para un servicio de backend

En general, las entradas de registro del balanceador de cargas de aplicaciones contienen información útil para supervisar y depurar el tráfico HTTP o HTTPS. Las entradas de registro contienen los siguientes tipos de información:

  • Información que se muestra en la mayoría de los registros de Google Cloud , como la gravedad, el ID del proyecto, el número del proyecto y la marca de tiempo, como se describe en el registro LogEntry.
  • Campos de registro de HttpRequest.

Los registros de solicitudes de los balanceadores de cargas HTTP y HTTPS contienen un objeto service_extension_info en la carga útil de JSON de la entrada de registro del balanceador de cargas con la siguiente información:

Campo Tipo Descripción
backend_target_name cadena Es el nombre del destino de backend de la extensión.
backend_target_type cadena Es el tipo de destino de backend.
chain cadena Es el nombre de la cadena de extensiones dentro del recurso de extensión de servicio que coincide con la solicitud.
extension cadena Es el nombre de la extensión dentro de la cadena de extensiones.
failed_open booleano Cuando la configuración de la extensión tiene failOpen establecido en true, el valor true para esta métrica indica que el procesamiento continuó cuando se agotó el tiempo de espera de la extensión o falló.

Solo se aplica a los balanceadores de cargas de aplicaciones externos regionales, los balanceadores de cargas de aplicaciones internos regionales y los balanceadores de cargas de aplicaciones internos entre regiones.

grpc_status enum Es el estado más reciente de la transmisión de gRPC. Para obtener más información, consulta Códigos de estado de gRPC.
per_processing_request_info array Es una lista de estadísticas de ProcessingRequest para las extensiones de ext_proc o de estadísticas de CheckRequest para las extensiones de ext_authz que se producen en la transmisión de gRPC.
per_processing_request_info[].event_type enum Es el tipo de evento de ProcessingRequest. Puede ser una de las siguientes opciones: REQUEST_HEADERS, REQUEST_BODY, RESPONSE_HEADERS o RESPONSE_BODY.
per_processing_request_info[].latency duración Es la duración desde que se envía el primer byte del mensaje ProcessingRequest a la extensión hasta que se recibe el último byte del mensaje ProcessingResponse.
per_processing_request_info[].processing_effect enum Es el resultado del procesamiento de cada evento en una solicitud de procesamiento.

Solo se aplica a los balanceadores de cargas de aplicaciones externos regionales, los balanceadores de cargas de aplicaciones internos regionales y los balanceadores de cargas de aplicaciones internos entre regiones.

Puede ser uno de los siguientes valores:

  • NONE: Indica que no se modificó el contenido.
  • NONE_FAILED_OPEN: Indica que no se realizaron mutaciones porque la extensión falló en modo abierto.
  • CONTENT_MODIFIED: Indica que el contenido se modificó con una solicitud de mutación aplicada correctamente.
  • IMMEDIATE_RESPONSE: Indica que la extensión envió una respuesta inmediata para detener todo el procesamiento posterior.
  • MUTATION_REJECTED: Indica que la extensión solicitó al menos un cambio no permitido y se descontinuó el procesamiento posterior. Se registran los mensajes de error adecuados.
  • UNSPECIFIED: Indica que se desconoce el efecto del procesamiento.
per_processing_request_info[].processing_effect_details cadena Cuando processing_effect es MUTATION_REJECTED, los detalles sobre por qué se rechazó una mutación.

Solo se aplica a los balanceadores de cargas de aplicaciones externos regionales, los balanceadores de cargas de aplicaciones internos regionales y los balanceadores de cargas de aplicaciones internos entre regiones.

resource cadena Nombre del recurso de extensión

Supervisión

En esta sección, se describe cómo supervisar las llamadas configuradas con extensiones de servicio para Cloud Load Balancing.

Visualiza un panel de Monitoring

Los balanceadores de cargas de aplicaciones exportan datos de supervisión a Cloud Monitoring.

Usa 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

Para ver un panel predefinido, sigue estos pasos:

  1. En la consola de Google Cloud , ve a la página Descripción general de los paneles.

    Ir a Descripción general de los paneles

  2. En la sección Categorías, haz clic en GCP.
    • Para ver una lista de paneles de todos tus balanceadores de cargas, en la lista Paneles de GCP, haz clic en 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 los paneles predefinidos solo de tus balanceadores de cargas, selecciona el panel adecuado.

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

Para obtener más información, consulta las páginas "Supervisa y soluciona problemas" de la documentación del balanceador de cargas de aplicaciones, como Registro y supervisión del balanceador de cargas de aplicaciones interno.

Métricas de supervisión para textos destacados

Puedes supervisar las siguientes métricas para los servicios de backend de textos destacados.

En la versión preliminar, puedes supervisar las siguientes métricas para las extensiones en todos los tipos de balanceadores de cargas de aplicaciones. Estas métricas tienen el prefijo networkservices.googleapis.com. El prefijo se omite en las entradas de la siguiente tabla.

En la siguiente tabla, se proporcionan el tipo de métrica, el nombre visible, la clase, el tipo, la unidad y la descripción de cada métrica.

Tipo de métrica Nombre visible
Clase, tipo, unidad
Descripción
extension/invocation_count Recuento de invocaciones de extensiones
DELTA, INT64, 1
Es la cantidad de invocaciones enviadas a la extensión.
extension/invocation_latencies Latencias de invocación de extensiones
DELTA, DISTRIBUTION, ms
La distribución calculada a partir de la latencia de cada invocación de extensión. Solo se aplica a las extensiones de texto destacado y no se admite para los complementos.
extension/sent_chunks_count Recuento de fragmentos enviados por la extensión
DELTA, INT64, 1
Solo se aplica a los eventos request_body y response_body. Es la cantidad de fragmentos de datos que se enviaron a la extensión.
extension/received_chunks_count Recuento de fragmentos recibidos por la extensión
DELTA, INT64, 1
Solo se aplica a los eventos request_body y response_body. Es la cantidad de fragmentos recibidos de la extensión.
extension/failed_open_count Invocaciones fallidas de la extensión con fail-open
DELTA, INT64, 1
La cantidad de veces que falló una invocación cuando el sistema se configuró para fail-open y se permitió que la solicitud continuara.
extension/mutation_rejections_count Recuento de rechazos de mutaciones de extensiones
DELTA, INT64, 1
La cantidad de invocaciones que solicitaron mutaciones de encabezado, cuerpo o final, pero se rechazaron. Los rechazos pueden ocurrir por varios motivos, como cuando la mutación no es válida o supera los límites de tamaño.
extension/sent_bytes_count Recuento de bytes enviados de la extensión
DELTA, INT64, By
Es la cantidad de bytes enviados a la extensión.
extension/received_bytes_count Recuento de bytes recibidos de la extensión
DELTA, INT64, By
Es la cantidad de bytes recibidos de la extensión.

También puedes supervisar las siguientes métricas. Estas métricas tienen el prefijo loadbalancing.googleapis.com/. El prefijo se omite en las entradas de la tabla.

Tipo de métrica Nombre visible
Clase, tipo, unidad
Descripción
https/backend_request_count,
https/external/regional/backend_request_count,
https/internal/backend_request_count
Recuento de solicitudes de backend
DELTA, INT64, 1
La cantidad de veces que se llama a un servicio de backend de texto destacado desde el balanceador de cargas de aplicaciones.
https/backend_request_bytes_count,
https/external/regional/backend_request_bytes_count,
https/internal/backend_request_bytes_count
Bytes de solicitud de backend
DELTA, INT64, By
La cantidad de bytes enviados desde el balanceador de cargas al servicio de backend de texto destacado.
https/backend_response_bytes_count,
https/external/regional/backend_response_bytes_count,
https/internal/backend_response_bytes_count
Bytes de respuesta del backend
DELTA, INT64, By
Es la cantidad de bytes que recibió el balanceador de cargas del backend de la extensión.
https/backend_latencies,
https/external/regional/backend_latencies,
https/internal/backend_latencies
Latencia del backend
DELTA, DISTRIBUTION, ms
Es una distribución calculada a partir de la suma de las latencias de cada invocación de extensión entre el balanceador de cargas y el servicio de backend de llamada. Se hace un muestreo cada 60 segundos.

¿Qué sigue?