mikron
Дата: 27.04.2017 11:11:36
Следующая ситуация имет место:
есть специализировання система стороннего производителя которая в течении дня поизводит на свет около 1Гб логов.
Логи содержат как информацианные сообщения так и стектрейсы и сообщения об ошибках.
Ошибки которые сыпятся в лог скажем так, "технические ошибки". Например: в системе не нашли некоторых данных а для работы вот иммено этого модуля, вот иммено сейчас и для обработки данных вот имменно этого клиента они или нужны. Или взялись обрабатывать данные о всех клиентах а натолкнулись в списке на работника (реално: искали одно а тут попался нечто другого рода).
В итоге анализ инцендентов для выяснения "business impact" на техническом уровне практически невозможен. В силу этого производитель софта менять ничего не собирается.
На функциналном уровне бизнес часто в состоянии оценить "важность" собщений и перевести их в оперативные инструкции. Но смотреть 1 ГБ логов день и выявление этих "business issue" задача трудоёмкая.
Решение было бы в
1. предварителной автоматической кластеризации сообщений (с учётом уже подтверждённых паттернов).
2. последууюшей проверки людми на "business impact" и как следсвие назначении важности (игнорировать, аламировать)
и подтверждение или подстройка "паттерна".
3. пересмотра сообсщений кластера на соответсвие паттерну.
В общем случае иммею две интересных, не тревиалных и связанных задачи.
1. Кластеризация сообщений и выделение патернов
2. Проверка сообщения на соответсвие одному из паттернов
Вот взываю к колективному разуму: Какие бы вы решали их?
Стоит обратить внимание что патернов может запросто быть 2-3 тысячи и время обработки должно отвечать требованиям "near time"