В наше время люди стали осознавать важность накопления данных в различных областях жизни. Данные собираются в различных сферах: бизнес, индустрия, социальная сфера. Но помимо накопления данных, нужно уметь их использовать. Для этого применяются методы машинного обучения, с помощью которых в данных можно находить закономерности и строить выводы.
Для накопления данных используются системы хранения данных (СХД). СХД состоят из большого числа компьютеров, объединенных в кластеры. СХД должны не просто хранить данные, но и обеспечивать их целостность. Данные бывают критически важными, и их потеря может оказать негативное влияние на компанию, в которой эти данные используются. Несмотря на качество оборудования и программного обеспечения в СХД происходят ошибки, которые могут быть вызваны различными причинами и вести к потере данных.
Вся СХД обслуживается различным программным обеспечением, которое записывает информацию о происходящих в системе событиях в текстовые файлы.
Лог - текстовый файл, содержащий строки, описывающие события, произошедшие в системе. Часть сообщений говорит нам об ошибках в системе. Ошибки в системах хранения данных приводят не только к потере данных, но и к другим видам сбоев, например, зависаниям системы. Затем операторы технической поддержки вынуждены вручную перебирать лог в поисках причины произошедшего сбоя. Но к сбоям могут приводить не только конкретные ошибки, а совокупность ошибок или даже совокупность событий, не являющихся ошибками. Поэтому не нужно концентрироваться на поиске конкретных ошибок, нужно искать аномальное поведение системы. И при наличии аномального поведения высылать предупреждение операторам технической поддержки, чтобы они смогли принять меры и предотвратить будущий сбой .
В ходе данной работы получены следующие результаты.
• Реализован алгоритм IPLoM для определения шаблонов в логах
• Алгоритм IPLoM доработан и улучшен, произведено сравнение со старой версией с помощью метрик точности и полноты
• Для логов построены признаки на основе найденных шаблонов
• Применен метод главных компонент для определения аномального поведения
• Реализация всех алгоритмов произведена на языке python
[1] Tatsuaki Kimura, Akio Watanabe, Tsuyoshi Toyono, Keisuke Ishibashi, "Proactive failure detection learning generation patterns of large-scale network logs," 2016. [Online]. Available: http://ieeexplore.ieee.org/document/7367332/.
[2] Thomas Reidemeister, Mohammad A. Munawar, Paul A.S. Ward, "Identifying symptoms of recurrent faults in log files of distributed information systems," 2010. [Online]. Available: http://ieeexplore.ieee.org/document/5488459/.
[3] Wei Xu, Ling Huang, Armando Fox, David Patterson, Michael I. Jordan, "Detecting large-scale system problems by mining console logs," 2009. [Online]. Available: http://dl.acm.org/citation.cfm?id=1629587.
[4] R. Vaarandi, "Mining Event Logs with SLCT and LogHound," 2008. [Online]. Available: https://ristov.github.io/publications/slct-loghound-noms08-web.pdf.
[5] Risto Vaarandi, Mauno Pihelgas, "LogCluster - A data clustering and pattern mining algorithm for event logs," 2016. [Online]. Available: http://ieeexplore.ieee.org/document/7367331/.
[6] A. N. Z.-H. E. E. M. Adetokunbo Makanju, "A Lightweight Algorithm for Message Type Extraction in System Application Logs," 2011. [Online]. Available: http://ieeexplore.ieee.org/document/5936060/.
[7] "Matplotlib," [Online]. Available: https://matplotlib.org/api/mlab_api.html.
[8] "Метод главных компонент," [Online]. Available: https://www.coursera.org/learn/unsupervised- learning/lecture/Famz8/mietod-ghlavnykh-komponient-postanovka-zadachi.
[9] "Sensitivity and specificity," [Online]. Available: https://en.wikipedia.org/wiki/Sensitivity_and_specificity.