En esta página, se describe cómo emitir métricas del cliente de gRPC a Cloud Monitoring cuando usas gRPC para interactuar con Cloud Storage con una de las siguientes interfaces compatibles:
Biblioteca cliente de Java para Cloud Storage, versión 2.41.0 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 es diferente de las métricas del servidor, que proporcionan información 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 con una de las interfaces compatibles.
Precios
Las métricas del cliente de Cloud Storage no tienen cargo, lo que significa que puedes emitir, almacenar y acceder a las métricas del cliente de Cloud Storage sin incurrir en cargos de Cloud Monitoring. Para obtener más información sobre los precios, consulta Precios de Google Cloud Observability.
Antes de comenzar
Para usar las métricas del cliente, primero debes completar los siguientes pasos:
Verifica que la biblioteca cliente o el conector de Cloud Storage que deseas usar sea compatible 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.
Establece los roles y permisos necesarios para emitir métricas del cliente.
Roles obligatorios
Para configurar 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
Este permiso de IAM se incluye en los siguientes roles predefinidos de Cloud Storage:
- Administrador de almacenamiento (
roles/storage.admin) - Storage Object Admin (
roles/storage.objectAdmin) - Usuario de objetos 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 de escritor de métricas de Monitoring, consulta la documentación de IAM sobre roles/monitoring.metricWriter.
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 por intento del cliente
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 los reintentos, los cuellos de botella 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 enmarcado de transporte ni de gRPC. |
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 enmarcado de transporte ni de gRPC. |
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 proporcionan 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 de alto nivel sobre las llamadas de los clientes, proporcionan 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 por llamada del cliente, 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 por parte de tu aplicación cliente. Las métricas de detección de carga de solicitudes pueden ayudarte a balancear las cargas del servidor, optimizar el uso de recursos y mejorar los tiempos de respuesta de los clientes. 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/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 enviaron al
destino predeterminado. |
Contador | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/target_picks |
Preview: Es la cantidad de selecciones de LB 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 RPC enviadas a ese destino desde la caché se cuentan 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 de solicitud fallida o a que se limitó el canal de detección de carga de solicitud. |
Contador | {pick} |
|
Métricas del cliente del servicio xDiscovery
Las siguientes métricas proporcionan estadísticas sobre cómo interactúa tu aplicación cliente con el plano de control del servicio xDiscovery (xDS) para descubrir y configurar conexiones a 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 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 una
transmisión de ADS en funcionamiento al servidor de xDS. Para un servidor determinado, esta métrica se
establece en 1 cuando se crea la transmisión 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 establezca en 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 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 de 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 de clientes de xDS, consulta la documentación de balanceo de cargas global basado en xDS en GitHub.
Inhabilita las métricas del cliente
Puedes inhabilitar las métricas del cliente si es necesario.
Java
public GrpcStorageOptions.Builder setEnableGrpcClientMetrics(false enableGrpcClientMetrics)
Para obtener más información, consulta
el método de la clase GrpcStorageOptions.Builder de las bibliotecas cliente de Cloud para Java para las métricas de cliente de gRPC.
C++
Para inhabilitar las métricas del cliente de 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, establece la opción enable_grpc_metrics en false en el archivo de compilación de tu aplicación.