Este documento te ayuda a elegir el mejor método para representar o monitorizar una proporción de datos de métricas. También incluye enlaces a ejemplos, indica cuándo puedes calcular ratios y describe las anomalías que pueden aparecer al representar gráficamente la ratio de dos métricas diferentes. Estas anomalías se deben a diferencias en la tasa de muestreo o en los parámetros de alineación.
Las ratios te permiten transformar los datos de tus métricas en un formato diferente y, posiblemente, más útil. Por ejemplo, supongamos que tiene un tipo de métrica que cuenta el número de respuestas HTTP por código de respuesta. Los datos de la métrica indican el número de errores, pero no la proporción de solicitudes que han fallado. Sin embargo, los requisitos de rendimiento suelen especificarse como un porcentaje, como "La tasa de error debe ser inferior al 0,1%". Para determinar la tasa de errores mediante los datos de la métrica, calcula la proporción de solicitudes fallidas con respecto al número total de solicitudes.
Prácticas recomendadas
Para monitorizar o representar gráficamente una proporción de datos de métricas, te recomendamos que uses PromQL. Puedes usar PromQL con la API de Cloud Monitoring y con la Google Cloud consola. La Google Cloud consola incluye un editor de código que proporciona sugerencias, detección de errores y otro tipo de asistencia para crear consultas PromQL válidas.
Para crear una política de alertas que monitorice una proporción de métricas cuando no estés familiarizado con PromQL, usa la API de Cloud Monitoring e incluye un filtro de serie temporal. Para ver un ejemplo, consulta Proporción de métricas.
Para representar gráficamente una proporción de datos de métricas cuando no estés familiarizado con PromQL, te recomendamos que uses la Google Cloud consola y una interfaz basada en menús. Para obtener instrucciones detalladas, consulta los artículos Crear un gráfico de una relación de métricas y Añadir gráficos y tablas a un panel de control personalizado.
Restricciones con ratios
Cuando configuras una relación, se aplican las siguientes restricciones:
Después de la agregación, las etiquetas de la serie temporal del denominador deben ser iguales o un subconjunto de las etiquetas de la serie temporal del numerador.
Le recomendamos que seleccione opciones de agregación de forma que, después de la agregación, las series temporales del numerador y del denominador tengan las mismas etiquetas.
Imagina una configuración en la que la serie temporal del numerador tiene las etiquetas
method
,quota_metric
yproject_id
. La serie temporal del denominador tiene las etiquetaslimit_name
,quota_metric
yproject_id
. Las opciones válidas para la agrupación del denominador dependen de las selecciones del numerador:- Numerador agrupado por la etiqueta
method
: combina las series temporales del denominador en una sola serie temporal. Ningún otro agrupamiento da como resultado que las etiquetas de la serie temporal del denominador sean un subconjunto de las etiquetas de la serie temporal del numerador. - Numerador agrupado por la etiqueta
quota_metric
: agrupa el denominador por esa etiqueta o combina todas las series temporales del denominador en una sola serie temporal. - Numerador agrupado por las etiquetas
quota_metric
yproject_id
: agrupa el denominador por ambas etiquetas, por una etiqueta o combina las series temporales del denominador en una sola serie temporal.
Las opciones de agregación de denominadores válidas siempre eliminan la etiqueta
limit_name
de las series temporales agrupadas porque esa etiqueta no está presente en las series temporales del numerador.- Numerador agrupado por la etiqueta
El periodo de alineación debe ser el mismo para el numerador y el denominador al configurar un gráfico mediante la Google Cloud consola. Sin embargo, estos campos pueden ser diferentes al usar la API Cloud Monitoring.
Te recomendamos que uses el mismo periodo de alineación para el numerador y el denominador, independientemente de la herramienta que utilices para crear el gráfico.
El numerador y el denominador deben tener el mismo tipo de valor. Por ejemplo, si el numerador es de tipo
DOUBLE
, el denominador también debe ser de tipoDOUBLE
.Para calcular ratios, la métrica del numerador y la del denominador deben tener un tipo de valor
DOUBLE
oINT64
.Las series temporales alineadas del numerador y el denominador deben tener el mismo tipo de métrica. Cuando las dos métricas son de tipos diferentes, debes usar alineadores para convertirlas al mismo tipo.
Supongamos que se ha seleccionado una métrica
DELTA
para el numerador y una métricaGAUGE
para el denominador. En esta situación, use el alineador de tasas,ALIGN_RATE
, para convertir la métricaDELTA
en una métricaGAUGE
. Por ejemplo, consulta Políticas de alertas de ratio sobre el uso de la cuota de frecuencia para un límite.En el caso de las ratios que no se definen con PromQL, el tipo de recurso monitorizado debe ser el mismo para el numerador y el denominador.
Por ejemplo, si el recurso de la métrica del numerador son instancias de Compute Engine, el recurso de la métrica del denominador también debe ser instancias de Compute Engine.
Anomalías debidas a muestreos y a discrepancias en la alineación
En general, es mejor calcular las ratios en función de las series temporales recogidas para un solo tipo de métrica usando valores de etiqueta. Una ratio calculada a partir de dos tipos de métricas diferentes está sujeta a anomalías debido a los diferentes periodos de muestreo y ventanas de alineación.
Por ejemplo, supongamos que tiene dos tipos de métricas diferentes: un recuento total de RPCs y un recuento de errores de RPCs. Quiere calcular la proporción de RPCs con errores con respecto al total de RPCs. Las llamadas a RPC fallidas se contabilizan en las series temporales de ambos tipos de métricas. Por lo tanto, es posible que, al alinear las series temporales, una RPC fallida no aparezca en el mismo intervalo de alineación para ambas series temporales. Esta diferencia puede deberse a varios motivos, entre los que se incluyen los siguientes:
- Como hay dos series temporales diferentes que registran el mismo evento, hay dos valores de contador subyacentes que implementan la colección y no se actualizan de forma atómica.
- Las frecuencias de muestreo pueden ser diferentes. Cuando las series temporales se alinean en un periodo común, los recuentos de un solo evento pueden aparecer en intervalos de alineación adyacentes en las series temporales de las diferentes métricas.
La diferencia en el número de valores de los intervalos de alineación correspondientes puede dar lugar a valores de proporción error/total
sin sentido, como 1/0 o 2/1.
Es menos probable que las proporciones de números más grandes den lugar a valores sin sentido. Puedes obtener cifras más altas mediante la agregación, ya sea usando una ventana de alineación que sea más larga que el periodo de muestreo o agrupando los datos de determinadas etiquetas. Estas técnicas minimizan el efecto de las pequeñas diferencias en el número de puntos de un intervalo determinado. Es decir, una disparidad de dos puntos es más significativa cuando el número esperado de puntos en un intervalo es 3 que cuando es 300.
Si usas tipos de métricas integrados, es posible que no tengas más remedio que calcular ratios entre tipos de métricas para obtener el valor que necesitas.
Si diseña métricas personalizadas que pueden contabilizar lo mismo (por ejemplo, las llamadas a procedimientos remotos que devuelven un estado de error) en dos métricas diferentes, le recomendamos que utilice una sola métrica que incluya cada recuento solo una vez. Por ejemplo, supongamos que estás contando llamadas a procedimientos remotos y quieres monitorizar la proporción de llamadas a procedimientos remotos fallidas con respecto a todas las llamadas a procedimientos remotos. Para solucionar este problema, crea un solo tipo de métrica para contar las llamadas a procedimientos remotos y usa una etiqueta para registrar el estado de la invocación, incluido el estado "OK". A continuación, se registra cada valor de estado (error u "OK") actualizando un contador único para ese caso.
Siguientes pasos
Para obtener información sobre cómo usar PromQL para configurar políticas de alertas, consulta el resumen de alertas de PromQL.
Para obtener información sobre cómo crear gráficos, consulta los siguientes documentos:
- Para crear gráficos temporales, consulta el artículo sobre el explorador de métricas.
- Para añadir gráficos a un panel de control con la consola Google Cloud , consulta el artículo Añadir gráficos y tablas a un panel de control personalizado.
- Para gestionar gráficos con la API de Cloud Monitoring, consulta Crear y gestionar paneles de control con la API.