Существуют ли универсальные скрипты/библиотеки для анализа и определения нестандартных ситуаций в системе?
Вопрос из разряда «подскажите куда копать?».
1. Я ищу нечто, что поможет отслеживать определенные события системы. Например, в Google Analytics есть сервис Alerts, позволяющий при повышении определенного (задаваемого в процентах) порога посетителей сайта присылать уведомления о, собственно, этом самом превышении. Также существует куча систем мониторинга серверов, которые шлют уведомления если сервер, виртуальная машина или что-то еще приказало долго жить. Для себя я назвал такую логику «сравнение с фиксированным эталонным значением».
2. Рассмотрим чуть более сложную штуку. Представим, что нам нужно отслеживать не достижение определенного порога, а отклонения от стабильного состояния. С моей точки зрения, это реализуемо следующим образом: нечто (предположим, что это скрипт) получает на вход определенные значения и сравнивает их с накопленной статистикой за предыдущий временной интервал. Если текущее значение превышает среднее значение за интервал, то случается событие и владелец системы оповещается об этом. Этот пример проходит в графе «сравнение с плавающим эталонным значением».
3. Теперь еще более сложное поведение. Если в первых двух вариантах мы работали с известными событиями (и условно мы можем запрограммировать логику на простых if'ах), то теперь мне хочется на основе входных (и исторических) данных системы создавать события: анализировать входные данные, находить в них повторяющиеся паттерны и создавать события, по которым уже можно применять описанную в первых двух пунктах логику.
Собственно, вопрос такой: существуют ли такого рода алгоритмы/библиотеки/скрипты?
Уточню: про дата-майнинг, bi, алгоритмы кластеризации и все связанное с этим я читал. Меня больше интересуют конкретные продукты и опыт использования.
Тут относительно недавно была хорошая статья по мониторингу VoIP телефонии, и построение графиков, попробуйте поискать в соответствующем блоге/тегах — блимжайшие пару месяцев.
вот даже линк на статью нашелся habrahabr.ru/post/132400/
Такие системы привязаны к технологиям. Но реализация часто ложится на Ваши плечи. Алгоритмы можно искать, как обработку исключений — если в системе предусмотрена, то всё хорошо, а если нет, то редактор Вам в руки! Пример подобной технологии D-BUS. Можете подробнее описать, какой продукт/систему Вы хотите мониторить?
В деталях рассказать, к сожалению, не могу, а в общем и целом — это saas-приложение для бизнес-пользователей. Каждый пользователь (компания) оперирует в приложении определенными объектами, имеющими жизненный цикл и ряд изменяющихся/изменяемых во времени атрибутов.
Подходы каждой компании к работе с объектами иногда повторяются, но не часто, проще рассматривать их как уникальные. Однако цель в конечном итоге одна для всех компаний — свести все объекты (и их атрибуты) к определенным статусам и значениям. Моя задача понять, как пользователи работают (вычленить паттерны поведения) с объектами и попытаться автоматически скорректировать/оптимизировать ход работы.