Данная работа посвящена проблеме детекции аномалий в компьютерных системах на примере базы данных (БД) Vertica по их логам с целью обеспечения безопасной, бесперебойной и надежной работы. В основе разработанного подхода детекции аномалий лежат методы машинного обучения с частичным привлечением учителя (Semi-Supervised Learning) совместно с NLP-алгоритмами (Natural Language Processing), такими как fastText и TF-IDF. В работе приведены результаты, полученные для собственного датасета, собранного из лог-файлов работы базы данных Vertica крупной IT-компании, содержащие периоды нормального функционирования БД и аномального, которое привело к отказу работы. В ходе исследования протестированы различные методы обнаружения аномалий, такие как метод k ближайших соседей (k-Nearest Neighbors), Isolation Forest, Local Outlier Factor, One Class SVM и Elliptic Envelope. Для каждого из этих алгоритмов были построены графики аномальности, позволяющие визуализировать периоды отклонений от нормы. Кроме того, определены интервалы времени, в которых значения аномальности превышают пороговый уровень, рассчитанный на основе данных, соответствующих штатному режиму работы системы.
This work is devoted to the important problem of detecting anomalies in computer systems using the example of the Vertica database using their logs in order to ensure safe, uninterrupted and reliable operation. The anomaly detection approach being developed is based on Machine Learning Methods with partial involvement of a teacher (Semi-Supervised Learning) together with NLP (Natural Language Processing) algorithms such as fastText and TF-IDF. The paper presents the results obtained for our own dataset, collected from log files of the Vertica database operation of a large IT company, containing periods of normal functioning of the database and abnormal ones, which led to the failure of the work. Anomaly detection methods including k-Nearest Neighbors, Isolation Forest, Local Outlier Factor, One Class SVM and Elliptic Envelope were tested. For these algorithms, anomaly graphs were constructed, and periods with exceeding a threshold calculated based on data from the normal functioning of the system were determined.