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.

PromQL min_over_time + predict_linear / peaks monitoring would be translated as: Monitoreo de mínimos a lo largo del tiempo + predecir_lineal / picos

Contexto

La aplicación que se ejecuta en el disco monitorizado duplica intermitentemente la cantidad de espacio que requiere, causando picos de utilización del disco que solo duran unos segundos / minutos.

Si el espacio de almacenamiento no es suficiente para tener en cuenta esos picos, el almacenamiento de la aplicación se corrompe.

Los ejemplos de monitoreo que encontré solo tienen en cuenta la cantidad habitual de almacenamiento utilizado y ven los picos como fallas temporales.

enter image description here

Lo que intenté (minovertime + predict_linear : KO 🙁 )

Intenté usar min_over_time(...[12h]) junto con predict_linear, pero no funciona debido a un error de tipo:

Actualmente tengo el siguiente PromQL :
predict_linear(node_filesystem_avail_bytes{job="nodeexporter",fstype!=""}[6h]

pero lo que realmente quiero monitorear es el min_over_time(node_filesystem_avail_bytes{job="nodeexporter",fstype!=""}[12h]) en lugar de node_filesystem_avail_bytes{job="nodeexporter",fstype!=""}, para tener en cuenta los picos esporádicos de utilización del disco.
Pensé que tenía sentido, pero desafortunadamente la siguiente consulta PromQL no es aceptada:

predict_linear(min_over_time(node_filesystem_avail_bytes{job="nodeexporter",fstype!=""}[12h])[6h], 4*60*60)

Error :

Error executing query: invalid parameter "query": 1:94: parse error: ranges only allowed for vector selectors

Preguntas

  • ¿Cómo se supervisaría la utilización del disco teniendo en cuenta esos picos?

  • ¿Cómo se usaría minovertime + predict_linear juntos?

¡Gracias de antemano por cualquier pista o sugerencia!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Solución propuesta

    Para monitorear los picos de utilización del disco, una posible solución es utilizar la función rate para calcular la tasa de cambio del espacio de almacenamiento disponible a lo largo del tiempo. Esto se puede hacer dividiendo la diferencia entre el espacio de almacenamiento disponible mínimo en un determinado rango de tiempo y el espacio de almacenamiento disponible actual por la duración del rango.

    Por ejemplo, para calcular la tasa de cambio del espacio de almacenamiento disponible en las últimas 12 horas, podríamos utilizar la siguiente consulta PromQL:

    rate(min_over_time(node_filesystem_avail_bytes{job="nodeexporter", fstype!=""}[12h])[2m]) 
    

    Esta consulta devolverá la tasa de cambio del espacio de almacenamiento disponible cada 2 minutos en las últimas 12 horas. Al utilizar la función rate, podemos detectar picos repentinos en la utilización del disco que de otra manera pasarían desapercibidos.

    Para utilizar las funciones min_over_time y predict_linear juntas, podemos aprovechar el hecho de que min_over_time devuelve una serie temporal de valores mínimos en un rango de tiempo.

    Por ejemplo, para predecir el futuro espacio de almacenamiento disponible basado en los valores mínimos de las últimas 12 horas, podríamos utilizar la siguiente consulta PromQL:

    predict_linear(min_over_time(node_filesystem_avail_bytes{job="nodeexporter", fstype!=""}[12h])[6h], 4*60*60)
    

    Esta consulta utilizará la función min_over_time para calcular el espacio de almacenamiento disponible mínimo en las últimas 12 horas, y luego utilizará la función predict_linear para predecir el espacio de almacenamiento disponible 4 horas en el futuro basado en los valores mínimos de las últimas 6 horas.

    Al utilizar las funciones min_over_time y predict_linear juntas, podemos predecir el espacio de almacenamiento disponible basado en datos históricos y tomar medidas preventivas si es necesario para evitar picos repentinos en la utilización del disco.

Comments are closed.