En esta página, se describe cómo emitir métricas del cliente gRPC a Cloud Monitoring cuando usas gRPC para interactuar con Cloud Storage a través de una de las siguientes interfaces compatibles:
Biblioteca cliente de Cloud Storage para Java, versión 2.41.0 y posteriores
- Conector de Apache Beam en Dataflow, versión 2.2.26 y posteriores
Las métricas del cliente se pueden usar para supervisar el rendimiento de la aplicación cliente que interactúa con Cloud Storage a través de gRPC. La métrica del cliente difiere de las métricas del servidor, que proporcionan estadísticas sobre el rendimiento de Cloud Storage desde la perspectiva del servidor.
Cómo funciona
Puedes habilitar la emisión de métricas del cliente a Cloud Monitoring cuando usas gRPC para interactuar con Cloud Storage a través de una de las interfaces compatibles. Puedes ver las métricas del cliente con el Explorador de métricas para supervisar y optimizar las interacciones entre Cloud Storage y el cliente de gRPC, administrar el uso y solucionar los cuellos de botella de rendimiento y los problemas técnicos.
Precios
Las métricas del cliente de Cloud Storage no son facturables, lo que significa que puedes emitir, almacenar y acceder a ellas sin incurrir en cargos de Cloud Monitoring. Para obtener más información sobre los precios, consulta los precios de Google Cloud Observability.
Antes de comenzar
Para usar métricas del cliente, primero debes completar los siguientes pasos:
Verifica que la biblioteca cliente o el conector de Cloud Storage que deseas usar sean compatibles con gRPC. Las siguientes bibliotecas cliente y conectores de Cloud Storage admiten gRPC:
Habilita la API de Cloud Monitoring.
Habilita la API de Cloud Storage.
Configura los roles y permisos necesarios para emitir métricas del cliente.
Roles obligatorios
Para establecer los permisos que necesitas para emitir métricas del cliente de gRPC a Cloud Monitoring, otorga el rol de IAM de Escritor de métricas de Monitoring (roles/monitoring.metricWriter
) en la cuenta de servicio que usa el cliente de gRPC.
Este rol predefinido contiene los permisos necesarios para emitir métricas del cliente de gRPC a Cloud Monitoring. Para ver los permisos exactos que son necesarios, consulta la sección Permisos requeridos:
Permisos necesarios
monitoring.timeSeries.create
También puedes obtener estos permisos con otros roles personalizados o roles predefinidos. Para obtener más información sobre el rol de Monitoring Metric Writer, consulta la documentación de IAM sobre roles/monitoring.metricWriter
.
Consideraciones
Si usas el conector de Cloud Storage en Dataproc, debes otorgar el rol de IAM de Monitoring Metric Writer (
roles/monitoring.metricWriter
) a la cuenta de servicio de la máquina virtual (VM) de Dataproc.Si usas el conector de Apache Beam en Dataflow, debes otorgar el rol de IAM de Monitoring Metric Writer (
roles/monitoring.metricWriter
) a la cuenta de servicio de trabajador de Dataflow.
Visualiza métricas en el Explorador de métricas
Sigue estas instrucciones para ver las métricas 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 deseas ver.
En el menú desplegable Métrica, haz clic en Seleccionar una métrica.
En la barra de búsqueda Filtrar por nombre de recurso o métrica, ingresa
storage.googleapis.com/Client
o busca la métrica que deseas aplicar por nombre de la métrica y haz clic en Aplicar. Para agregar más de una métrica, haz clic en Agregar consulta.Cloud Storage aplica las métricas a tu proyecto. Puedes filtrar o agregar tus métricas con los siguientes menús desplegables:
Para seleccionar y ver un subconjunto de tus datos según criterios específicos, usa el menú desplegable Filtro.
Para combinar varios puntos de datos en un solo valor y ver un resumen de tus métricas, usa el menú desplegable Agregación.
Permite que tu aplicación se ejecute durante al menos un minuto antes de verificar si hay métricas publicadas.
Para ver las métricas que agregaste a tu proyecto con un panel, consulta Descripción general de los paneles.
Descripciones de las métricas
En las siguientes secciones, se describen las métricas del cliente de Cloud Storage que se pueden usar para supervisar el rendimiento del cliente de gRPC.
Métricas del cliente por intento
Las siguientes métricas recopilan datos de rendimiento sobre los intentos individuales que realiza un cliente para comunicarse con un servidor. Las métricas por intento del cliente pueden ayudarte a medir el comportamiento de reintento, los embudos y 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 : Es la cantidad total de intentos de RPC iniciados, incluidos los que no se completaron. |
Contador | {attempt} |
|
storage.googleapis.com/client/grpc/client/attempt/duration |
Preview . Es el tiempo de extremo a extremo que se toma para completar un intento de RPC, incluido el tiempo que lleva elegir un subcanal. |
Histograma | s |
|
storage.googleapis.com/client/grpc/client/attempt/sent_total_compressed_message_size |
Preview : Es el total de bytes, comprimidos pero no encriptados, que se envían en todos los mensajes de solicitud, excepto los metadatos, por intento de RPC. Esto no incluye los bytes de gRPC ni de encuadre de transporte. |
Histograma | By |
|
storage.googleapis.com/client/grpc/client/attempt/rcvd_total_compressed_message_size |
Preview : Es el total de bytes, comprimidos pero no encriptados, que se reciben en todos los mensajes de respuesta, excepto los metadatos, por intento de RPC. Esto no incluye los 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 del cliente por llamada
Las siguientes métricas proporcionan una vista agregada de todo el ciclo de vida de una llamada del cliente a un servidor. Las métricas por llamada del cliente proporcionan datos de alto nivel sobre las llamadas del cliente, métricas de seguimiento para comprender los patrones de llamadas y te 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 de extremo a extremo que tarda la biblioteca de gRPC en completar una RPC desde la perspectiva de la aplicación. |
Histograma | s |
|
Para obtener más información sobre los instrumentos de cliente por llamada, consulta la documentación de métricas de OpenTelemetry en GitHub.
Métricas de detección de carga de solicitudes
Las siguientes métricas proporcionan estadísticas sobre la eficacia del uso de la detección de carga de solicitudes de tu aplicación cliente. Las métricas de detección de carga de solicitudes pueden ayudarte a equilibrar las cargas del servidor, optimizar el uso de recursos y mejorar los tiempos de respuesta del cliente. 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 : Es la cantidad de entradas en la caché de detección de carga de solicitudes. |
Indicador | {entry} |
|
storage.googleapis.com/client/grpc/lb/rls/cache_size |
Preview : Es el 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 : Es la cantidad de selecciones del balanceador de cargas (LB) que se envían al destino predeterminado. |
Contador | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/target_picks |
Preview . Es la cantidad de selecciones del LB que se envían a cada objetivo de detección de carga de la solicitud. Si el servidor de detección de carga de solicitudes también devuelve el destino predeterminado, las RPCs que se envían a ese destino desde la caché se contabilizan en esta métrica, no en grpc.rls.default_target_picks . |
Contador | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/failed_picks |
Preview : Es la cantidad de selecciones de LB que fallaron debido a una solicitud de detección de carga fallida o a la limitación del canal de detección de carga de la solicitud. |
Contador | {pick} |
|
Métricas del cliente del servicio de xDiscovery
Las siguientes métricas proporcionan estadísticas sobre cómo tu aplicación cliente interactúa con el plano de control del servicio xDiscovery (xDS) para descubrir y configurar conexiones a los servicios de backend. Las métricas de xDS pueden ayudarte a hacer un seguimiento de 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 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 una transmisión de ADS en funcionamiento hacia el servidor de xDS. En el caso de un servidor determinado, esta métrica se establece en 1 cuando se crea el flujo inicialmente. Si hay una falla de conectividad o cuando falla la transmisión de ADS sin ver un mensaje de respuesta según A57 , la métrica se establece en 0 . Una vez que se establece en 0 , la métrica se restablecerá en 1 cuando se reciba la primera respuesta en una transmisión de ADS. Esta métrica solo está disponible para las bibliotecas cliente de Cloud para C++. |
Indicador | {bool} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_invalid |
Preview : Es la cantidad de recursos recibidos que se consideraron no válidos. Esta métrica solo está disponible para las bibliotecas cliente de Cloud para C++. |
Contador | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_valid |
Preview : Es la cantidad de recursos recibidos que se consideraron válidos, incluso si no se modificaron.
Esta métrica solo está disponible para las bibliotecas cliente de Cloud para C++. |
Contador | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resources |
Preview : Es la cantidad de recursos xDS. Esta métrica solo está disponible para las bibliotecas cliente de Cloud para C++. |
Indicador | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/server_failure |
Preview : Es la cantidad de servidores de 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 cliente de Cloud para C++. |
Contador | {failure} |
|
Para obtener más información sobre las métricas del cliente de xDS, consulta la documentación sobre el balanceo de cargas global basado en xDS en GitHub.
Cómo inhabilitar las métricas del cliente
Si es necesario, puedes inhabilitar las métricas 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 las bibliotecas cliente de Cloud para Java para las métricas del cliente de gRPC.
C++
Para inhabilitar las métricas del cliente para la API de gRPC con las bibliotecas cliente de Cloud para C++, consulta Struct EnableGrpcMetricsOption
.
Si usas Bazel para compilar tu aplicación y quieres inhabilitar las métricas del cliente, configura la opción enable_grpc_metrics
en false
en el archivo de compilación de tu aplicación.
¿Qué sigue?
Obtén más información sobre la observabilidad en Google Cloud.
Obtén más información para agregar métricas y seguimientos personalizados a tu aplicación.