Запрос Wavefront к Prometheus
Я пытаюсь преобразовать это предупреждение Wavefront в Прометей:
msum(1200s, sum(ts("receiver.processingDelayInMs" and function="max", cluster="101*")>900000))>2)
Этот запрос определяет, превышает ли максимальная задержка 900 000, если да, то выход = 1 или 0, а msum затем суммирует ее по 1200 с, чтобы определить, затронуты ли более 2 кластеров, а затем отправляет предупреждение. Я попробовал аналогичный запрос в Прометее (та же метрика, но с другим названием):
sum_over_time(
sum(receiver_processingDelay_seconds_max{cluster="101.*"})
> bool 900
) by (cluster) > bool 1.75
Я получаю ошибку:
bad_data: неверный параметр «запрос»: 1:127: ошибка синтаксического анализа: диапазоны разрешены только для векторных селекторов bad_data: 1:127: ошибка синтаксического анализа: диапазоны разрешены только для векторных селекторов
Как это исправить?
1 ответ
Я не знаком с Wavefront, поэтому не понимаю ваш первоначальный вопрос. Но исходя из вашего описания предлагаю:
count(last_over_time(receiver_processingDelay_seconds_max{cluster="101.*"} > 900)[20m:]) >= 2
Он получает все временные рядыreceiver_processingDelay_seconds_max
со значением более 900 и подсчитывает количество присутствующих за последние 20 минут.