Grafana: Предупреждение, когда сумма значений за день составляет менее половины суммы от дня недели назад

У меня есть метрика foo.bar, которая увеличивается (+1) много раз в день. Количество раз, когда метрика увеличивается в течение дня, составляет x. Я хочу определить, есть ли что-то ужасно неправильно, предупреждая, когда x в последний полный 24-часовой период меньше половины x * из того же дня недели за 7 дней.

Какое предупреждение можно использовать для этого?

Ответ 1

Вы можете попробовать предупредить о чем-то вроде:

divideSeries(hitcount(foo.bar,"1day"),hitcount(timeShift(foo.bar, "7d"), "1day"))

И установите предупреждение для запуска, если это значение опустится ниже 0,5. Это будет работать лучше всего, я думаю, если вы запустите предупреждение в виде Grafana с временным окном на несколько минут меньше 1 дня (это туманная догадка, поэтому возьмите его с зерном).

Если hitcount не обрабатывает данные правильно, вы можете использовать integral (или некоторое значение foo.bar.total, если у вас есть агрегация, настроенная в самом графите). Если вы используете integral, остерегайтесь ошибок, связанных с точностью, обсуждаемых в в этой статье. Эта запись также обсуждает использование integral(hitcount(...)), но поскольку hitcount уже агрегирует, я не думаю, что это будет соответствовать вашему прецеденту. Возможно, я ошибаюсь.