Что предшествует сбою: цепочки событий
Сбои идут пачками, но по логу не видно, что тянет за собой что. Где корень цепочки, а что - просто следствие?
Какую задачу решаем?
Без ответа на этот вопрос чинят симптом, а не причину - и через месяц всё повторяется. Нужно увидеть, какие события устойчиво идут друг за другом и что появляется раньше.
Что находит движок
Два метода ищут связи с разных сторон. Так это выглядит:
Ассоциации событий: «После события
disk_full в 78% случаев в течение 10 минут идёт db_timeout».
Перевод: переполнение диска - вероятный триггер таймаутов базы; лечить нужно корень, а не
симптом.
Связь по времени (lead-lag): «Рост потребления памяти опережает падения примерно на 40 минут». Двойная польза: найден подозреваемый (утечка памяти) и есть 40 минут форы, чтобы среагировать заранее.
Примеры показывают, что умеет метод. На ваших данных движок назовёт конкретные пары событий - а если чистых связей нет, честно об этом сообщит.
Как это считается
Методы из семейства поиска связей - «что с чем связано?».
- Ассоциации событий (Apriori / lift). Для пар типов событий считаем, как часто они встречаются вместе и во сколько раз одно чаще идёт после другого, чем само по себе. Нужна категориальная колонка (тип события / код ошибки) и от ~50 событий.
- Лаговая кросс-корреляция (lead-lag). Сдвигаем один ряд относительно другого и находим, на каком сдвиге связь сильнее - это и есть «кто раньше».
Совместное появление или порядок во времени - ещё не доказанная причинность (оба события может порождать третья причина). Но список подозреваемых метод сужает резко.
Найти цепочку в своих сбоях
Загрузите историю инцидентов - движок поищет ассоциации и связи по времени между вашими событиями.
Все данные обрабатываются изолированно и не передаются третьим лицам.