es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Grafana – Gráfico acumulativo PromQL

Esto parece algo bastante fácil de hacer. Sin embargo, no logro entenderlo por completo.

Realizo algunos cálculos en función de la Utilización promedio de la CPU en los últimos 15 segundos y obtengo un valor en base a ese cálculo. Ahora quiero un gráfico en Grafana que muestre el resultado acumulativo. Ejemplo:

Tiempo transcurrido Resultado actual Resultado acumulativo
15s 5 5
30s 7 12
45s 6 18

En este momento, mi consulta se ve algo así:

sum (((1 - (avg by (cpu, instancia) (rate(node_cpu_seconds_total{mode="idle"}[15s])))) * 2 + 4

Esto resultado en un gráfico que muestra los resultados actuales. Pero quiero una consulta que muestre los resultados acumulativos. Cuando intento envolver toda la consulta con sum_over_time, obtengo la siguiente excepción: “se esperaba un tipo matriz en la llamada a la función sum_over_time, se obtuvo un vector”.

Gracias por tu ayuda.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para trazar el resultado acumulativo de tu consulta en Grafana, puedes usar la función sum_over_time. Sin embargo, como tu consulta actual devuelve un vector, necesitas convertirlo en una matriz antes de aplicar la función sum_over_time. Aquí tienes un ejemplo de una consulta que debería funcionar para ti:

    sum_over_time( sum (((1 - (avg by (cpu, instance) (rate(node_cpu_seconds_total{mode="idle"}[15s])))) * 2 + 4)) [15s:] ) 
    

    En esta consulta, primero aplicamos la función sum a tu consulta original para obtener un vector de resultados actuales. Luego, envolvemos toda la consulta con otra función sum para convertirla en una matriz. Finalmente, aplicamos la función sum_over_time a la matriz resultante para obtener el resultado acumulativo a lo largo del tiempo.

    La parte [15s:] es un selector de rango de tiempo que especifica que se utilicen todos los datos desde los últimos 15 segundos hasta ahora. Puedes ajustar el rango de tiempo según sea necesario. También ten en cuenta que el selector de rango de tiempo debe ir después de la conversión a matriz (función sum).

    ¡Espero que esto te ayude! Hazme saber si tienes alguna otra pregunta.

Comments are closed.