Details

Title: Автоматизация анализа логов для определения причины ошибки в приложении с использованием накопленной базы знаний: выпускная квалификационная работа магистра: направление 09.04.04 «Программная инженерия» ; образовательная программа 09.04.04_02 «Основы анализа и разработки приложений с большими объемами распределенных данных»
Creators: Лопаткин Александр Сергеевич
Scientific adviser: Никифоров Игорь Валерьевич
Other creators: Локшина Екатерина Геннадиевна
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2020
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: Вычислительные машины электронные — Программы прикладные; анализ логов; мониторинг; автоматизация; системы хранения логов
UDC: 004.422.8
Document type: Master graduation qualification work
File type: PDF
Language: Russian
Level of education: Master
Speciality code (FGOS): 09.04.04
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
Links: Отзыв руководителя; Рецензия; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2020/vr/vr20-4037
Rights: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Record key: ru\spstu\vkr\6916

Allowed Actions:

Action 'Read' will be available if you login or access site from another network Action 'Download' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

Данная выпускная квалификационная работа магистра направлена на исследование в области автоматизации обнаружения ошибок в работе программных продуктов. В ней рассматривается распространенная архитектура мониторинга приложений на ИТ предприятиях. Исходя из рассмотренной архитектуры, формализован процесс поиска специалистами причин ошибок в работе программных продуктов. Разработан подход, позволяющий автоматизировать ручные действия специалистов в рамках формализованного процесса. В основе подхода лежит автоматизация двух основных шагов при выяснении причины ошибки: анализа логов с целью получения ошибок, поиска найденных ошибок в базе знаний. Предложенный подход не зависит от приложения, может быть применен в любой ИТ компании и может поддерживаться сообществом за счет модульной архитектуры. Модули могут быть переиспользованы, за счет чего можно менять логику анализа логов и логику работы с базами знаний. В рамках работы была предложена одна из возможных реализаций подхода. Разработанное приложение было протестировано, в результате тестирования было выявлено уменьшение времени, необходимого специалистам на поиск причины проблемы.

This work is aimed at research in the field of automation of detection of errors in the operation of software products. It examines the widespread architecture for monitoring applications in IT enterprises. Based on the considered architecture, the process of searching by specialists for the causes of errors in the operation of software products is formalized. An approach has been developed that automates the manual actions of specialists within a formalized process. The approach is based on the automation of two main steps in determining the cause of an error: analysis of logs in order to receive errors, search for found errors in the knowledge base. The proposed approach is application independent, can be applied in any IT company and can be supported by the community due to the modular architecture. Modules can be reused, due to which you can change the logic of log analysis and the logic of working with knowledge bases. During the work, one of the possible implementations of the approach was proposed. The developed application was tested, as a result of testing, a decrease in the time required for specialists to find the cause of the problem was revealed.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read Print Download
Internet Authorized users SPbPU Read Print Download
-> Internet Anonymous

Table of Contents

  • Введение
  • ГЛАВА 1. Анализ предметной области
    • 1.1. Процесс поиска причин ошибок в приложении
      • 1.1.1. Категории причин ошибок программного продукта
      • 1.1.2. Логирование в программных продуктах
      • 1.1.3. Шаги для выяснения причины ошибки в программном продукте
    • 1.2. Анализ существующих систем хранения логов и систем оповещений
      • 1.2.1. Критерии анализа
      • 1.2.2. Loggly
      • 1.2.3. Sumo Logic
      • 1.2.4. Datadog
      • 1.2.5. Elasticsearch
    • 1.3. Результаты исследования
    • 1.4. Выводы
  • ГЛАВА 2. Определение подхода для решения проблемы
    • 2.1. Требования к системе
    • 2.2. Подходы для настройки метрик и оповещений
    • 2.3. Взаимодействие с системами
      • 2.3.1. Взаимодействие с системами мониторинга
      • 2.3.2. Взаимодействие с системами хранения логов
      • 2.3.3. Взаимодействие с каналами оповещений
      • 2.3.4. Взаимодействие с базами знаний
    • 2.4. Описание подхода
      • 2.4.1. Автоматизация процесса поиска ошибок
      • 2.4.2. Схема действий пользователя до и после внедрения похода
      • 2.4.3. Соответствие заявленным требованиям
    • 2.5. Выводы
  • ГЛАВА 3. Реализация
    • 3.1. Архитектура приложения
      • 3.1.1. Класс main
      • 3.1.2. Класс PluginManager
      • 3.1.3. Класс ConfigProvider
      • 3.1.4. Класс BasicPlugin
      • 3.1.5. Класс SlackChannelListenerPlugin
      • 3.1.6. Класс ELKLogAnalysisPlugin
      • 3.1.7. Класс ConfluenceKnowledgeBasePlugin
      • 3.1.8. Класс SlackResultMessagePlugin
      • 3.1.9. Класс MessagesHandler
    • 3.2. Расширяемость плагинами
    • 3.3. Выводы
  • ГЛАВА 4. Результаты
    • 4.1. Описание процесса эксперимента
      • 4.1.1. Методы и критерии оценки эффективности работы приложения
      • 4.1.2. Процесс эксперимента
    • 4.2. Результаты
    • 4.3. Выводы
  • Заключение
  • Список литературы

Usage statistics

stat Access count: 13
Last 30 days: 1
Detailed usage statistics