Определить пики как скользящий процент в PromQL - PullRequest
0 голосов
/ 07 января 2020

У меня есть сценарий использования, где я хочу иметь возможность отображать график изменения во времени для данного показателя c в процентах от скользящей суммы, но я не знаю, как express это в PromQL.

Например, если текущая сумма равна 100, а предыдущая сумма 5 минут a go равнялась 50, это увеличение на 200% за последние 5 минут. Я хотел бы изобразить это изменение курса с течением времени в процентах, чтобы я мог предупредить об этом.

Вот что я пробовал:

delta(firehose_counter_event_gorouter_total_requests_total{bosh_job_name="router"}[5m])
irate(firehose_counter_event_gorouter_total_requests_total{bosh_job_name="router"}[5m]) >= 50

Я не совсем уверен, что эти запросы делают то, что я хочу, хотя. Я пытаюсь убедиться, что у меня будет возможность запрашивать пики в скорости с течением времени, чтобы я мог понять, когда происходит трафик c, что больше, чем обычные взлеты и падения среднего трафика c. Меня интересует скользящее среднее в процентах, потому что трафик c может быть обычно выше или ниже, учитывая время дня и времени года, поэтому абсолютное значение может дать много ложных срабатываний, тогда как скачок в 3 часа ночи и скачок в 15:00 будут выглядеть по-разному из-за различных объемов трафика c.

1 Ответ

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

PromQL предоставляет модификатор offset для этого случая. Следующий запрос вернет относительное изменение скорости передачи в секунду за последние 5 минут по сравнению с предыдущими 5 минутами:

rate(firehose_counter_event_gorouter_total_requests_total{bosh_job_name="router"}[5m]) /
rate(firehose_counter_event_gorouter_total_requests_total{bosh_job_name="router"}[5m] offset 5m)
...