En esta página, se muestra cómo configurar y usar Cloud Logging y Cloud Monitoring con las llamadas de Service Extensions 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 para las llamadas del balanceador de cargas de aplicaciones mientras 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 del servicio de backend de destino, usa el
gcloud compute backend-services update comando.
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 de0.0a1.0, donde0.0significa que no se registran solicitudes y1.0significa que se registra el 100% de las solicitudes. El valor predeterminado es1.0. Esta configuración solo es efectiva cuando se usa con elenable-loggingparámetro. Cuando omitesenable-logging, el registro se inhabilita.REGION: la región del backend.LOGGING_OPTIONAL_MODE: habilita el registro para los campos opcionales en uno de estos modos:INCLUDE_ALL_OPTIONALincluye todos los campos opcionales.EXCLUDE_ALL_OPTIONAL(predeterminado) excluye todos los campos opcionales.CUSTOMincluye una lista personalizada de campos opcionales.
OPTIONAL_FIELDS: una lista de campos opcionales separados por comas cuando seleccionas el modoCUSTOM.
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 Google Cloud consola de, ve a la 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.
Registra mensajes 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 Google Cloud registros, como la gravedad, el ID del proyecto, el número del proyecto y la marca de tiempo, como se describe en el LogEntry.
- 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 |
string | Nombre del destino de backend de la extensión. |
backend_target_type |
string | Tipo del destino de backend. |
chain |
string | Nombre de la cadena de extensión dentro del recurso de extensión de servicio que coincide con la solicitud. |
extension |
string | Nombre de la extensión dentro de la cadena de extensión. |
failed_open |
booleano | Cuando la configuración de la extensión tiene failOpen
establecida 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 | El estado más reciente en la transmisión de gRPC. Para obtener más información, consulta Códigos de estado de gRPC. |
per_processing_request_info |
array | Una lista de estadísticas de ProcessingRequest para extensiones ext_proc o estadísticas de CheckRequest para extensiones ext_authz que ocurren en la transmisión de gRPC.
|
per_processing_request_info[].event_type |
enum | El tipo de evento de ProcessingRequest. Puede ser uno de los siguientes:
REQUEST_HEADERS, REQUEST_BODY,
RESPONSE_HEADERS o RESPONSE_BODY.
|
per_processing_request_info[].latency |
duración | La duración desde que se envía el primer byte del ProcessingRequest
mensaje a la extensión hasta que se recibe el último byte del
ProcessingResponse mensaje. |
per_processing_request_info[].processing_effect |
enum | 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:
|
per_processing_request_info[].processing_effect_details |
string | 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 |
string | Nombre del recurso de extensión |
Supervisión
En esta sección, se describe cómo supervisar las llamadas configuradas con las 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:
- En la Google Cloud consola, ve a la página Descripción general de los paneles.
- 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, ubícalo en la lista y haz clic en su nombre.
- Para ver los paneles predefinidos solo para 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 llamadas
Puedes supervisar las siguientes métricas para los servicios de backend de llamadas.
En 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 de las entradas en la
siguiente tabla.
En la siguiente tabla, se proporcionan el tipo de métrica, el nombre visible, la categoría, el tipo, la unidad y la descripción de cada métrica.
| Tipo de métrica | Nombre visible
Categoría, tipo, unidad Descripción |
|---|---|
extension/invocation_count
|
Recuento de invocaciones de extensión
DELTA, INT64, 1
Es la cantidad de invocaciones enviadas a la extensión. |
extension/invocation_latencies
|
Latencias de invocación de extensión
DELTA, DISTRIBUTION, ms
Es la distribución calculada a partir de la latencia de cada invocación de extensión. |
extension/sent_chunks_count
|
Recuento de fragmentos enviados de extensión
DELTA, INT64, 1
Solo se aplica a los eventos request_body y response_body.
Es la cantidad de fragmentos de datos enviados a la extensión. |
extension/received_chunks_count
|
Recuento de fragmentos recibidos de 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 extensión con fail-open
DELTA, INT64, 1
Es la cantidad de veces que falló una invocación cuando el sistema se configuró para fallar y se permitió que la solicitud continuara. |
extension/mutation_rejections_count
|
Recuento de rechazos de mutación de extensión
DELTA, INT64, 1
Es la cantidad de invocaciones que solicitaron mutaciones de encabezado, cuerpo o tráiler, pero fueron rechazadas. 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 extensión
DELTA, INT64, By
Es la cantidad de bytes enviados a la extensión. |
extension/received_bytes_count
|
Recuento de bytes recibidos de 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
de las entradas en la tabla.
| Tipo de métrica | Nombre visible
Categoría, 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
Es la cantidad de veces que se llama a un servicio de backend de llamadas 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
Es la cantidad de bytes enviados desde el balanceador de cargas al servicio de backend de llamadas. |
https/backend_response_bytes_count,
https/external/regional/backend_response_bytes_count,
https/internal/backend_response_bytes_count
|
Bytes de respuesta de backend
DELTA, INT64, By
Es la cantidad de bytes que recibe el balanceador de cargas del backend de extensión. |
https/backend_latencies,
https/external/regional/backend_latencies,
https/internal/backend_latencies
|
Latencia de 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 llamadas. Se hace un muestreo cada 60 segundos. |