Запрос 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 минут.

Другие вопросы по тегам