Назад | Перейти на главную страницу

Запрос среднего за 5 минут от Прометея

У меня есть запрос на использование памяти в Prometheus на 0,0-1,0 процента. Я могу предупредить об этом напрямую, но не хочу, чтобы предупреждения были короткими, только на высоком уровне с течением времени или в среднем с течением времени, превышающем предел.

Я надеялся сделать это в запросе, но если AlertManger может сделать это, что приемлемо, я просто не могу найти, как это сделать.

Запрос

(node_memory_MemTotal - node_memory_MemFree - node_memory_Buffers - node_memory_Cached) / node_memory_MemTotal

Вопрос

Как мне взять среднее значение я минут результата этого запроса?

Кажется, я нашел способ сделать это, но не уверен, что он лучший.

(((node_memory_MemTotal offset 5m - node_memory_MemFree offset 5m - node_memory_Buffers offset 5m - node_memory_Cached offset 5m) / node_memory_MemTotal offset 5m) + ((node_memory_MemTotal - node_memory_MemFree - node_memory_Buffers - node_memory_Cached) / node_memory_MemTotal)) / 2

Это использует модификатор смещения чтобы провести те же измерения 5 минут назад и во время запроса сложить, а затем разделить их, чтобы получить среднее значение.