Задача следующая.
Система записывает информацию о каждой транзакции в лог файл.
Мы каждую минуту читаем этот файл и получаем кол-во транзакций за минуту, если их число меньше какого-то минимума, то идёт сигнал тревоги.
Вопрос в следующем, как узнать этот самый минимум, так-как трафик не постоянен, а также зависит от времени суток и т.д.
Может есть какойто алгоритм или кто-то читал статью, как правильно построить такую систему и с чем сравнивать кол-во транзакций для тревоги?
статистику собрать можно из логов,
но тут начинаеться самое интересное, например трафик с 17 до 18 в выходные дни намного меньше, чем в рабочии, также имеються дни особой активности и т.д.
Я сделал так, у меня считаеться среднее значение за последнии 30 минут и если текущее значение меньше среднего за последнии 30 мин делённого на 2 то это признак alarma, второй признак-это если делта(изминение количества транзакций за минуту) между сообщениями привашает среднее значение за последнии 30 минут(должен ловиться резкий спад). Но тут появляеться ещё куча проблем, к примеру выход из режима alarm и т.д
Буду блогадарен за любую информацию.
Я думаю, что может надо менять время подсчёта, не зацикливаться на минуте, но не знаю с чего начать. Должны быть какието наработки, может кто-то знает ключевые слова для поиска, не представляю, как это может называться
|