En esta página se describe cómo emitir métricas del lado del cliente de gRPC a Cloud Monitoring cuando se usa gRPC para interactuar con Cloud Storage mediante una de las siguientes interfaces compatibles:
Biblioteca de cliente de Java de Cloud Storage, versión 2.41.0 y posteriores
- Conector de Apache Beam en Dataflow, versión 2.2.26 y posteriores
Las métricas del lado del cliente se pueden usar para monitorizar el rendimiento de la aplicación cliente que interactúa con Cloud Storage mediante gRPC. La métrica del lado del cliente es diferente de las métricas del lado del servidor, que proporcionan información valiosa sobre el rendimiento de Cloud Storage desde la perspectiva del lado del servidor.
Cómo funciona
Puedes habilitar la emisión de métricas del lado del cliente a Cloud Monitoring cuando uses gRPC para interactuar con Cloud Storage mediante una de las interfaces admitidas. Puede ver las métricas del lado del cliente con el Explorador de métricas para monitorizar y optimizar las interacciones entre Cloud Storage y el cliente de gRPC, gestionar el uso y solucionar problemas técnicos y cuellos de botella del rendimiento.
Precios
Las métricas del lado del cliente de Cloud Storage no son facturables, lo que significa que puede emitir, almacenar y acceder a ellas sin incurrir en cargos de Cloud Monitoring. Para obtener más información sobre los precios, consulta la página Precios de Google Cloud Observability.
Antes de empezar
Para usar las métricas del lado del cliente, primero debes completar los siguientes pasos:
Verifica que la biblioteca de cliente o el conector de Cloud Storage que quieras usar sea compatible con gRPC. Las siguientes bibliotecas de cliente y conectores de Cloud Storage admiten gRPC:
Habilita la API Cloud Monitoring.
Habilita la API de Cloud Storage.
Defina los roles y permisos necesarios para emitir métricas del lado del cliente.
Roles obligatorios
Para definir los permisos que necesitas para emitir métricas del lado del cliente de gRPC a Cloud Monitoring, asigna el rol de gestión de identidades y accesos Escritor de métricas de Monitoring (roles/monitoring.metricWriter
) a la cuenta de servicio que usa el cliente de gRPC.
Este rol predefinido contiene los permisos necesarios para emitir métricas del lado del cliente de gRPC a Cloud Monitoring. Para ver los permisos exactos que se necesitan, consulta la sección Permisos obligatorios:
Permisos obligatorios
monitoring.timeSeries.create
Este permiso de gestión de identidades y accesos está incluido en los siguientes roles predefinidos de Cloud Storage:
- Administrador de almacenamiento (
roles/storage.admin
) - Administrador de objetos de Storage (
roles/storage.objectAdmin
) - Usuario de objeto de almacenamiento (
roles/storage.objectUser
)
También puedes obtener estos permisos con otros roles personalizados o roles predefinidos. Para obtener más información sobre el rol Escritor de métricas de Monitoring, consulta la documentación de gestión de identidades y accesos sobre roles/monitoring.metricWriter
.
Cuestiones importantes
Si usas el conector de Cloud Storage en Dataproc, debes asignar el rol de escritor de métricas de monitorización (
roles/monitoring.metricWriter
) de gestión de identidades y accesos (IAM) a la cuenta de servicio de la máquina virtual (VM) de Dataproc.Si usas el conector de Apache Beam en Dataflow, debes asignar el rol de IAM Escritor de métricas de monitorización (
roles/monitoring.metricWriter
) a la cuenta de servicio de trabajador de Dataflow.
Ver métricas en el explorador de métricas
Sigue estas instrucciones para ver las métricas del lado del cliente de gRPC de Cloud Storage en el explorador de métricas.
En la Google Cloud consola, ve a la página Explorador de métricas.
Selecciona el proyecto cuyas métricas quieras ver.
En el menú desplegable Métrica, haga clic en Seleccionar una métrica.
En la barra de búsqueda Filtrar por nombre de recurso o métrica, introduce
storage.googleapis.com/Client
o busca la métrica que quieras aplicar por nombre de métrica y haz clic en Aplicar. Para añadir más de una métrica, haga clic en Añadir consulta.Cloud Storage aplica las métricas a tu proyecto. Puede filtrar o agregar sus métricas mediante los siguientes menús desplegables:
Para seleccionar y ver un subconjunto de sus datos en función de los criterios especificados, utilice el menú desplegable Filtrar.
Para combinar varios puntos de datos en un solo valor y ver un resumen de las métricas, usa el menú desplegable Agregación.
Deje que su aplicación se ejecute durante al menos un minuto antes de comprobar si se han publicado métricas.
Para ver las métricas que has añadido a tu proyecto mediante un panel de control, consulta el artículo Descripción general de los paneles de control.
Descripciones de las métricas
En las siguientes secciones se describen las métricas del lado del cliente de Cloud Storage que se pueden usar para monitorizar el rendimiento del cliente de gRPC.
Métricas por intento del cliente
Las siguientes métricas recogen datos de rendimiento sobre los intentos individuales que hace un cliente para comunicarse con un servidor. Las métricas por intento del cliente pueden ayudarte a medir el comportamiento de reintento y los cuellos de botella, así como a optimizar la comunicación entre un cliente y un servidor.
Métrica completa | Descripción | Tipo de instrumento | Unidad | Atributos |
---|---|---|---|---|
storage.googleapis.com/client/grpc/client/attempt/started |
Preview . Número total de intentos de RPC iniciados,
incluidos los que no se han completado. |
Encimera | {attempt} |
|
storage.googleapis.com/client/grpc/client/attempt/duration |
Preview . El tiempo total que se tarda en completar un intento de RPC, incluido el tiempo que se tarda en elegir un subcanal. |
Histograma | s |
|
storage.googleapis.com/client/grpc/client/attempt/sent_total_compressed_message_size |
Preview . El total de bytes comprimidos, pero no cifrados, que se envían en todos los mensajes de solicitud, excepto los metadatos por intento de RPC. No incluye bytes de gRPC ni de encuadre de transporte. |
Histograma | By |
|
storage.googleapis.com/client/grpc/client/attempt/rcvd_total_compressed_message_size |
Preview . El total de bytes comprimidos, pero no cifrados, que se reciben en todos los mensajes de respuesta, excepto los metadatos por intento de RPC. No incluye bytes de gRPC ni de encuadre de transporte. |
Histograma | By |
|
Para obtener más información sobre los instrumentos por intento del cliente, consulta la documentación de métricas de OpenTelemetry en GitHub.
Métricas por llamada del cliente
Las siguientes métricas ofrecen una vista agregada de todo el ciclo de vida de una llamada de cliente a un servidor. Las métricas por llamada del cliente proporcionan datos generales sobre las llamadas de los clientes, métricas de seguimiento para comprender los patrones de llamadas y le ayudan a identificar las frecuencias de los errores.
Métrica completa | Descripción | Tipo de instrumento | Unidad | Atributos |
---|---|---|---|---|
storage.googleapis.com/client/grpc/client/call/duration |
Preview . Mide el tiempo total que tarda la biblioteca gRPC en completar una RPC desde la perspectiva de la aplicación. |
Histograma | s |
|
Para obtener más información sobre los instrumentos por llamada del cliente, consulta la documentación de métricas de OpenTelemetry en GitHub.
Solicitar métricas de detección de carga
Las siguientes métricas proporcionan información valiosa sobre la eficacia del uso de la detección de carga de solicitudes por parte de tu aplicación cliente. Las métricas de detección de carga de solicitudes pueden ayudarte a equilibrar las cargas del servidor, optimizar la utilización de los recursos y mejorar los tiempos de respuesta de los clientes. Las siguientes métricas solo están disponibles con conectividad directa.
Métrica completa | Descripción | Tipo de instrumento | Unidad | Atributos |
---|---|---|---|---|
storage.googleapis.com/client/grpc/lb/rls/cache_entries |
Preview . Número de entradas en la caché de detección de carga de la solicitud. |
Indicador | {entry} |
|
storage.googleapis.com/client/grpc/lb/rls/cache_size |
Preview . Tamaño actual de la caché de detección de carga de solicitudes. |
Indicador | By |
|
storage.googleapis.com/client/grpc/lb/rls/default_target_picks |
Preview . Número de selecciones de balanceador de carga (LB) enviadas al destino predeterminado. |
Encimera | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/target_picks |
Preview . Número de selecciones de balanceo de carga enviadas a cada destino de detección de carga de solicitudes. Si el servidor de detección de carga de solicitudes también devuelve el destino predeterminado, las llamadas a procedimiento remoto enviadas a ese destino desde la caché se contabilizarán en esta métrica, no en grpc.rls.default_target_picks . |
Encimera | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/failed_picks |
Preview . Número de selecciones de balanceo de carga que han fallado debido a lo siguiente:
una solicitud de detección de carga fallida o la limitación del canal de detección de carga. |
Encimera | {pick} |
|
Métricas de cliente del servicio xDiscovery
Las siguientes métricas proporcionan información valiosa sobre cómo interactúa tu aplicación cliente con el plano de control del servicio xDiscovery (xDS) para descubrir y configurar conexiones con servicios backend. Las métricas de xDS pueden ayudarte a monitorizar la latencia de las solicitudes de servicio, supervisar las actualizaciones de configuración y optimizar el rendimiento general de xDS.
Las siguientes métricas solo están disponibles con la conectividad directa.
Métrica completa | Descripción | Tipo de instrumento | Unidad | Atributos |
---|---|---|---|---|
storage.googleapis.com/client/grpc/xds_client/connected |
Preview . Mide si el cliente de xDS tiene o no un flujo de ADS que funcione en el servidor de xDS. En un servidor concreto, esta métrica se define como 1 cuando se crea la emisión. Si se produce un fallo de conectividad o si el flujo de ADS falla sin recibir un mensaje de respuesta según A57 , la métrica se define como 0 . Una vez que se haya definido como 0 , la métrica se restablecerá a 1 cuando se reciba la primera respuesta en un flujo de ADS. Esta métrica solo está disponible para las bibliotecas de cliente de Cloud para C++. |
Indicador | {bool} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_invalid |
Preview . Número de recursos recibidos que se han considerado no válidos. Esta métrica solo está disponible para las bibliotecas de cliente de Cloud para C++. |
Encimera | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_valid |
Preview . Número de recursos recibidos que se han considerado válidos, aunque no hayan cambiado.
Esta métrica solo está disponible para las bibliotecas de cliente de Cloud para C++. |
Encimera | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resources |
Preview . Número de recursos xDS. Esta métrica solo está disponible para las bibliotecas de cliente de Cloud para C++. |
Indicador | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/server_failure |
Preview . Número de servidores xDS que ya no funcionan correctamente y que no están disponibles, están sobrecargados o proporcionan datos de configuración incorrectos o no válidos. Esta métrica solo está disponible para las bibliotecas de cliente de Cloud para C++. |
Encimera | {failure} |
|
Para obtener más información sobre las métricas de cliente de xDS, consulta la documentación sobre el balanceo de carga global basado en xDS en GitHub.
Inhabilitar las métricas del lado del cliente
Si es necesario, puede inhabilitar las métricas del lado del cliente.
Java
public GrpcStorageOptions.Builder setEnableGrpcClientMetrics(false enableGrpcClientMetrics)
Para obtener más información, consulta el método GrpcStorageOptions.Builder
de la clase de bibliotecas de cliente de Cloud para Java para métricas de cliente de gRPC.
C++
Para inhabilitar las métricas del lado del cliente de la API gRPC mediante las bibliotecas de cliente de Cloud para C++, consulta Struct EnableGrpcMetricsOption
.
Si usas Bazel para compilar tu aplicación y quieres inhabilitar las métricas del lado del cliente, asigna el valor false
a la opción enable_grpc_metrics
en el archivo de compilación de tu aplicación.
Siguientes pasos
Consulta cómo añadir trazas y métricas personalizadas a tu aplicación.