Нужно руководство для запроса использования памяти Prometheus - PullRequest
0 голосов
/ 06 января 2020

Я использую запрос Prometheus '100 - ((node_memory_MemAvailable_bytes {job = "jobname"} * 100) / node_memory_MemTotal_bytes {job = "jobname"})' , чтобы получить использование памяти и он работает нормально.

Приведенный выше запрос дает результат для текущего использования памяти.

Мне нужно восстановить запрос, чтобы получить использование памяти за последние 1 час. Например, если использование памяти достигает более 10 МБ в 9.15, а текущее использование памяти составляет 2 МБ в 10:00, теперь мне нужно проверить, не превышает ли использование памяти более 9 МБ с 9 до 10 часов

любезно подскажите, как создать для него запрос Прометея, я думаю, что это что-то вроде '(100 - ((node_memory_MemAvailable_bytes {job = "jobname"} * 100) / node_memory_MemTotal_bytes {job = "jobname"})))> 9 [1H] '

Ответы [ 2 ]

0 голосов
/ 10 января 2020

Вероятно, вам нужно значение SLI для ответа на вопрос: сколько времени jobname использовало более 90% памяти за последний час? Тогда следующий запрос PromQL должен ответить на вопрос:

avg_over_time(
    ((1 - node_memory_MemAvailable_bytes{job="jobname"} /
    node_memory_MemTotal_bytes{job="jobname"}) >bool 0.9)[1h:1m]
)

Возвращенное значение будет находиться в диапазоне [0..1], где 0 означает 0% (т. Е. Использование памяти не превышало 90% в течение в последний час), а 1 означает 100% (т. е. использование памяти превышало 90% все время в течение последнего часа).

В запросе используются следующие функции PromQL:

0 голосов
/ 07 января 2020

100 - ((node_memory_MemAvailable_bytes {job = "jobname"} * 100) / node_memory_MemTotal_bytes {job = "jobname"}) [30m: 1m]

В этом списке перечислены значения использования памяти для каждую 1 минуту

...