Как запросить векторы Prometheus с определенным значением и со смещением времени? - PullRequest
0 голосов
/ 16 апреля 2019

В Prometheus я хочу запросить мгновенный вектор в прошлом со значением, равным 1. Могу ли я сделать это с PromQL или мне нужно добиться этого с помощью правил записи?

Интуитивно я пытался что-то вроде:

up{instance="192.168.0.100"} == 1 offset 30m

Но выдает ошибку: «Ошибка при выполнении запроса: недопустимый параметр« запрос »: ошибка синтаксического анализа в символе 39: модификатору смещения должен предшествовать селектор момента или диапазона, но следует *promql.NumberLiteral вместо "

Я думал, что это проблема заказа операторов, поскольку часть до offset представляет собой мгновенный вектор.Поэтому я добавил круглые скобки:

(up{instance="192.168.0.100"} == 1) offset 30m

Но выдает еще одну ошибку: «Ошибка выполнения запроса: недопустимый параметр« запрос »: ошибка синтаксического анализа на символе 34: не удалось проанализировать оставшиеся входные данные« смещение 30 м »...»

Итак, я спрашиваю, есть ли способ получить вектор, значение которого равно 1 во время 30 минут назад?Должен ли я использовать правила записи для достижения этой цели?

1 Ответ

1 голос
/ 16 апреля 2019

Не уверен насчет вашего варианта использования. Но попробуйте что-то вроде этого

(up {instance = "localhost: 9090", job = "prometheus"}, смещение 30 м) == 1

...