Отслеживайте события с помощью счетчиков Прометея

Использование Prometheus для посекундных вычислений действительно здорово, и я добился большого успеха с rate и irate. Я просто не понимаю, как изобразить то, что происходит очень редко и имеет большое значение.

Итак, у меня есть счетчик, который я увеличиваю, который называется job_failed. Всякий раз, когда это происходит, это появляется в моем мгновенном векторе. Если я построю график напрямую, он всегда будет расти, и я вижу выпуклость на графике, но это не дает мне достаточно четкого указания на то, что задание не удалось. Так что я бы хотел, чтобы это был всплеск обнуленного графика.

Если я делаю rate(job_failed[15s]), я получаю всплеск - но это посекундный всплеск, поэтому его значение равно 0,1, хотя изменение, которое я хочу, равно 1. Я попробовал increase(job_failed[1m]), но это тоже не складывается правильно, иногда оставляя мне такие значения, как 2,18 и т. Д.

Есть ли способ увидеть только один спайк? Это кажется довольно банальным, но я не могу понять.


person Tigraine    schedule 26.07.2017    source источник


Ответы (2)


Prometheus больше подходит для событий с большим объемом, чем для событий с низким объемом, так как на малых объемах в среднем проявляются артефакты от того, как мы обеспечиваем точность.

Так, например, rate(job_failed[15s]) с увеличением на 1 за 15 секунд составляет 1/15 = 0,066 / с. Округление может сделать это значение равным 0,1.

https://www.youtube.com/watch?v=67Ulrq6DxwA подробнее подробно о том, как все это работает.

Краткая версия: то, что вы делаете сейчас, - это способ сделать это.

person brian-brazil    schedule 26.07.2017

Для аналогичных требований я использовал дельта-функцию с порогом, настроенным в соответствии с требованиями.

https://prometheus.io/docs/querying/functions/#delta

person Anshu Prateek    schedule 26.07.2017
comment
Дельта предназначена для использования с манометрами, а не со счетчиками. Я бы обычно избегал этой функции, так как обычно вы действительно хотите получить производную при появлении дельты времени. - person brian-brazil; 26.07.2017
comment
Согласован с типом данных, для которого он будет использоваться, но он является отличным инструментом для обнаружения аномалий. - person Anshu Prateek; 27.07.2017