En esta página, se muestra cómo configurar y usar Cloud Logging y Cloud Monitoring con complementos de extensiones de servicio para Cloud Load Balancing y Cloud CDN.
Logging
En esta sección, se describe el registro de los complementos del balanceador de cargas de aplicaciones. El registro es posible desde la perspectiva del complemento y del balanceador de cargas.
Mensajes de registro
Las extensiones de servicio admiten la generación de mensajes de registro durante la ejecución de tu complemento. La grabación de registros está inhabilitada de forma predeterminada. Para registrar los registros de un complemento, habilítalo cuando lo crees o lo actualices.
Los registros de complementos se anotan con la siguiente información contextual:
- Anotaciones de registro estándar, como la marca de tiempo y el nivel de registro.
- Es la identidad del complemento que generó el mensaje.
- Es la devolución de llamada del complemento en la que se generó el mensaje de registro.
- Es un identificador de seguimiento
requestIdque ayuda a determinar el registro de solicitudes con el que está asociado un mensaje de registro.
Los registros que son pertinentes para las extensiones de servicio se encuentran en una de las siguientes categorías:
Mensajes de registro de complementos
Se genera con una llamada de registro, como
info!(...)para Rust,proxywasm.LogInfo(...)para Go oLOG_INFOpara C++. Service Extensions exporta estos mensajes de registro a Cloud Logging. Puedes registrar los encabezados de solicitud y respuesta, y cualquier acción que haya realizado el complemento.Puedes ver estos mensajes con el servicio
networkservices.googleapis.com.Mensajes de registro de Cloud Load Balancing
Puedes ver estos mensajes con el servicio
loadbalancing.googleapis.com.
Registro desde la perspectiva del complemento
En esta sección, se describe el registro de Service Extensions desde la perspectiva del complemento.
Habilita el registro para un complemento
Las extensiones de servicio admiten la generación de mensajes de registro durante la ejecución de tu complemento. La grabación de registros está inhabilitada de forma predeterminada.
Para registrar los registros de un complemento, habilítalo cuando lo crees o lo actualices.
Para habilitar el registro de un complemento existente, usa el
comando gcloud service-extensions wasm-plugins update:
gcloud service-extensions wasm-plugins update WASM_PLUGIN \
--log-config=[LOG_CONFIG,...]
Reemplaza lo siguiente:
WASM_PLUGIN: el ID o el nombre completamente calificado del complementoLOG_CONFIG: Son las opciones de registro para el complemento. Para habilitar el registro, configura la opciónenablecomotrue. Luego, especifica los siguientes detalles:sample-rate: Es la tasa de muestreo de los registros de actividad como un valor entre0y1. El valor0indica que los mensajes de registro no se almacenan. El valor predeterminado1indica que se almacenan todos los mensajes de registro. Un valor de punto flotante entre0.0y1.0indica que se almacena un porcentaje de mensajes de registro.min-log-level: Es el nivel de gravedad mínimo de los mensajes de registro del complemento que se exportarán a Cloud Logging. El valor predeterminado esINFO.
Para ver los registros, en la consola de Google Cloud , ve a la página Explorador de registros.
Visualiza los mensajes de registro de los complementos
Los registros se pueden ver creando consultas en el Explorador de registros.
Puedes ver los registros de complementos como registros independientes de extensiones de servicio. En esta vista, cada mensaje de registro del complemento se registra en su propio registro y no se asocia automáticamente con la información de registro de la solicitud.
Estos mensajes de registro se encuentran en el registro networkservices.googleapis.com/wasm_plugin_activity con el tipo de recurso networkservices.googleapis.com/WasmPluginVersion.
Es posible que el sistema también agregue mensajes de registro informativos a este registro.
Por ejemplo, si hay una falla del complemento cuando una invocación de complemento
supera los límites de CPU o memoria, se registra un mensaje de gravedad ERROR. Estos
mensajes también se pueden ver en Visualiza y filtra errores.
Muestras de registros de complementos
Considera una entrada de registro de ejemplo de Service Extensions. El valor de
message se pasa a la llamada LOG_INFO del complemento. El valor de severity
depende del nivel de registro que se use en la llamada de registro del complemento. En la sección labels,
el valor de la API es HTTP_REQUEST_HEADER, lo que indica que la operación registrada
es la devolución de llamada del complemento on_http_request_headers.
{
"insertId": "65224aac-0000-24bd-a0e1-582429bd544c@a1",
"jsonPayload": {
"@type": "type.googleapis.com/google.cloud.networkservices.logging.v1.WasmPluginLogEntry",
"metroIataCode": "ber",
"proxyRegionCode": "DE",
"message": "[add_header_plugin.cc:26]::onRequestHeaders() AddHeaderStreamContext::onRequestHeaders called",
"requestId": "effc0311-6716-431b-9e2a-7586835fdff1"
},
"resource": {
"type": "networkservices.googleapis.com/WasmPluginVersion",
"labels": {
"plugin_version": "prod-1",
"resource_container": "projects/123456789",
"location": "global",
"plugin_name": "add-headers-plugin-prod-resource"
}
},
"timestamp": "2023-05-10T03:05:43.317015458Z",
"severity": "INFO",
"labels": {
"networkservices.googleapis.com/operation": "HTTP_REQUEST_HEADERS"
},
"logName": "projects/123456789/logs/networkservices.googleapis.com%2Fwasm_plugin_activity",
"trace": "projects/123456789/traces/effc0311-6716-431b-9e2a-7586835fdff1",
"receiveTimestamp": "2023-05-10T03:05:44.207265284Z"
}
Limitaciones para el registro
Los complementos se limitan a registrar hasta 16 KiB de datos de carga útil por solicitud HTTP del cliente. Este importe se divide en varias llamadas de registro asociadas con una solicitud HTTP determinada. El límite se aplica solo al texto del mensaje de registro, no a los metadatos adicionales que las extensiones de servicio agregan al registro.
Por ejemplo, si una devolución de llamada on_http_request_headers realiza dos llamadas de registro
con mensajes de 4 KiB cada una y, luego, una devolución de llamada on_http_response_headers
intenta realizar tres llamadas de registro con mensajes de 4 KiB cada una para la misma
solicitud HTTP, se descarta el quinto mensaje de registro. Se agrega un mensaje de registro
para registrar la cantidad de mensajes de registro generados por el complemento que se descartaron.
Registro desde la perspectiva del balanceador de cargas
En esta sección, se describe el registro de Service Extensions desde la perspectiva del balanceador de cargas.
Habilita el registro en un servicio de backend
Puedes habilitar el registro para los complementos del balanceador de cargas de aplicaciones mientras creas un servicio. Para ello, habilita el registro en el servicio de backend que es el destino de una solicitud.
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 backendRATE: un valor entre0.0y1.0, en el que0.0significa que no se registra ninguna solicitud, y1.0, que se registran todas las solicitudes. El valor predeterminado es1.0. Este parámetro de configuración solo es efectivo cuando se usa con el parámetroenable-logging. Cuando omitesenable-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_OPTIONALincluye todos los campos opcionales.EXCLUDE_ALL_OPTIONAL(opción predeterminada) excluye todos los campos opcionales.CUSTOMincluye una lista personalizada de campos opcionales.
OPTIONAL_FIELDS: Es una lista separada por comas de campos opcionales 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 consola de Google Cloud , ve a la página Explorador de registros.
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:
|
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 puedes usar los paneles de Cloud Monitoring para ver las métricas de los complementos del balanceador de cargas de aplicaciones que se configuran con Service Extensions. Puedes supervisar los complementos desde la perspectiva del complemento o del balanceador de cargas.
Supervisión desde la perspectiva de los complementos
En esta sección, se describe la supervisión de Service Extensions desde la perspectiva de los complementos.
Para obtener información detallada sobre los tipos de métricas de Service Extensions, consulta la página Métricas de Google Cloud .
Visualiza el panel de Monitoring para las extensiones de servicio
Para ver el panel de Monitoring de Service Extensions, haz lo siguiente:
- En la consola de Google Cloud , ve a la página Extensiones de servicio.
- Haz clic en la pestaña Plugins.
- Haz clic en el nombre de un complemento.
- En la página Detalles del complemento, haz clic en la pestaña Supervisión.
- Para ver las métricas de las operaciones del ciclo de vida del complemento, selecciona valores de la
lista Filtro de operaciones. De forma predeterminada, se seleccionan los valores
HTTP request headeryHTTP response header. - Para ver las métricas de una versión específica del complemento, selecciona un valor de la lista Filtro de versión del complemento. De forma predeterminada, se muestran las métricas de todas las versiones.
- Para cambiar el período del que deseas ver los datos, selecciona un
período predefinido en el selector de tiempo o haz clic en Personalizado y define una
hora de inicio y de finalización. De forma predeterminada, el selector se establece en
1 day.
En la página Supervisión, los gráficos de métricas muestran información que puede ayudarte a supervisar el rendimiento del complemento.
Métricas de complementos para extensiones de servicio
Puedes supervisar las siguientes métricas para los complementos desde la
perspectiva de Service Extensions. Estas métricas tienen el prefijo
networkservices.googleapis.com/wasm_plugin/. El prefijo se omite en las entradas de la tabla.
| Tipo de métrica | Nombre visible
Clase, tipo, unidad Descripción |
|---|---|
invocation_count
|
Recuento de invocaciones del complemento de Wasm
DELTA, INT64, 1
Es la cantidad de invocaciones del complemento durante el período seleccionado. Cada invocación de devolución de llamada del complemento cuenta como una invocación independiente. |
invocation_latencies
|
Latencia de invocación del complemento de Wasm
DELTA, DISTRIBUTION, us
Es el tiempo de ejecución local, en milisegundos, del complemento. La métrica incluye entradas delimitadas por etiquetas para cada devolución de llamada. |
cpu/usage_times
|
Uso de CPU normalizado del complemento de Wasm
DELTA, DISTRIBUTION, us{CPU}
Es el tiempo de uso de CPU de las invocaciones del complemento, en microsegundos. |
memory/bytes_used
|
Uso de memoria del complemento de Wasm
GAUGE, DISTRIBUTION, By
Es la memoria total asignada por las VMs del complemento de Wasm, en bytes. |
Supervisión desde la perspectiva del balanceador de cargas
En esta sección, se describe la supervisión de Service Extensions para los complementos desde la perspectiva del balanceador de cargas.
Visualiza el panel de Monitoring para Cloud Load Balancing
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 consola de Google Cloud , 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, 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.
Métricas de complementos para Cloud Load Balancing
Puedes supervisar las siguientes métricas para los complementos desde la perspectiva de Cloud Load Balancing.
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 complemento 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 complemento. |
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. |
Visualiza las métricas de los complementos
Para ver las métricas de un complemento específico, haz lo siguiente:
En la consola de Google Cloud , accede a la página Explorador de métricas.
En el elemento Métrica, expande el menú Seleccionar una métrica. Luego, haz lo siguiente:
En la lista de recursos, selecciona la regla del balanceador de cargas de aplicaciones adecuada.
En la lista de categorías de métricas, selecciona Https.
En la lista de métricas, selecciona una métrica de complemento.
Haz clic en Aplicar.
En el elemento Filtro, haz lo siguiente:
Selecciona la etiqueta backend_target_type y establece el valor en
WASM_PLUGIN.Selecciona la etiqueta backend_target_name y establece el nombre del complemento como el valor.
Para obtener más información sobre los tipos de métricas del balanceador de cargas, consulta la sección loadbalancing de la página de métricas de Google Cloud .