Начнем с того, как строится график в графане. Графана отправляет прометеусу сам запрос, плюс три параметра - start_time, end_time и step. Step - это интервал, с которым прометеус должен вернуть точки в графану. В этот интервал может попасть много исходных точек, сохраненных в прометеусе. Например, если scrape interval составляет 10 секунд, а step - 600 секунд, то в каждый интервал попадет ~60 точек. Для вычисления irate прометеус берет лишь последние две точки на каждом интервале, никак не учитывая все предыдущие точки из интервала. Поэтому: - irate не отлавливает возможные высокочастотные отклонения. Вам просто может повезти, если локальный максимум пришелся на последние две точки интервала. Если нет, то увидите просто рандомное значение из интервала. - график, построенны с помощью irate, может непредсказуемо "скакать" при небольшом смещении start_time (например, при обновлении или зуме), т.е. вы каждый раз получаете фигню, а не актуальные значения. И проблема усугубляется с увеличением step.
Обсуждают сегодня