Прометей увеличение не обрабатывает процесс перезапусков - PullRequest
0 голосов
/ 25 августа 2018

Я пытаюсь выяснить поведение функции запроса увеличения () Прометея при перезапуске процесса.

Когда происходит перезапуск процесса с интервалом 2 м, и я запрашиваю:

sum(increase(my_metric_total[2m])) 

Я получаю значение меньше ожидаемого.

Например, в простом эксперименте я издеваюсь:

  • 3 lcm_restarts
  • 1 перезапуск процесса
  • 2 lcm_restarts

Все с интервалом в 2 минуты.

При запросе:

sum(increase(lcm_restarts[2m])) 

Я получаю значение ~ 4,5, когда ожидаю 5.

lcm_restarts graph

сумма (увеличение (lcm_restarts [2m])) результат

Может кто-нибудь объяснить, пожалуйста?

1 Ответ

0 голосов
/ 25 августа 2018

Довольно краткий и хорошо подготовленный первый вопрос здесь.Пожалуйста, придерживайтесь этого духа!

При работе со счетчиками такие функции, как rate(), irate(), а также increase(), корректируются при перезагрузке из-за перезапусков.За исключением названия, функция increase() не рассчитывает абсолютное увеличение в заданном временном интервале, но представляет собой другой способ записи rate(metric[interval]) * number_of_seconds_in_interval.Функция rate() выполняет первое и последнее измерения в серии и рассчитывает увеличение в секунду за данное время.По этой причине вы можете наблюдать нецелые увеличения, даже если вы всегда увеличиваете полные числа, поскольку измерения почти никогда не происходят точно в начале и в конце интервала.

Для получения более подробной информации об этом, пожалуйста,взгляните на документы prometheus для функции increase() .Есть также несколько полезных советов о том, что и что не следует делать при работе со счетчиками в надежном блоге восприятия .

Рассматривая размеры меток, я также думаю, что счетчик сбрасывает донне относится к вашему построенному примеру.Существует одна метка с именем reason, которая изменилась между перезапусками и создала второй временной ряд (не продолжая существующий).Здесь вы также в основном суммируете коэффициенты увеличения двух разных временных рядов, которые (для них самих) имеют свою экстраполяцию.

Так что в принципе нет ничего плохого в том, что вы делаете, вы просто не должныполагайтесь на получение высокоточных чисел из Прометея для вашего варианта использования.

...