ВВЕДЕНИЕ 6
1 Анализ требований на разработку приложения по поиску и визуализации лог-
событий 8
1.1 Описание объекта исследования 8
1.2 Разработка модели BPMN 10
1.2.1 Процесс «Поиск лог-событий» 10
1.2.2 Процесс «Визуализация лог-событий» 12
1.3 Разработка требований к системе 13
1.3.1 Функциональные требования 13
1.3.2 Нефункциональные требования 14
1.4 Разработка диаграммы прецедентов 15
1.5 Спецификации прецедентов 16
1.6 Анализ согласованности требований и прецедентов 18
1.7 Выбор среды разработки 19
1.7.1 Общие сведения 19
1.7.2 Возможности 20
1.8 Выбор графического интерфейса 22
1.8.1 Общие сведения 22
1.8.2 Технические особенности 23
1.8.3 Компоненты платформы JavaFX 24
1.9 Выбор фреймворка для автоматизации сборки проекта 25
1.9.1 Общие сведения 25
1.9.2 Система построения проекта 26
1.9.3 Основные концепции 27
1.10 Выбор фреймворка для тестирования проекта 30
1.11 Концепция проекта 31
1.12 Список работ проекта 33
1.13 Вывод по главе «Анализ» 35
2 Проектирование приложения по поиску и визуализации лог-событий 36
2.1 Концептуальная модель 36
2.2 Пакет fXcontrollers 37
2.2.1 Класс MenuLayoutController 37
2.2.2 Класс MainLayoutController 37
2.3 Пакет sources 38
2.3.1 Класс Filters 38
2.3.2 Класс LogFileFilters 38
2.3.3 Класс LogFileText 39
2.4 Класс Log 39
2.5 Класс Main 40
2.6 Диаграммы классов 40
2.7 Диаграмма деятельности 41
2.8 Диаграмма последовательности 43
2.9 Диаграмма кооперации 44
2.10 Вывод по главе «Проектирование» 44
3 Реализация информационной системы 45
3.1 Алгоритм поиска лог-событий по фильтрам 45
3.2 Алгоритм поиск лог-событий по исходным данным 46
3.3 Алгоритм основной функции по визуализации лог-событий 49
3.4 Алгоритм визуализации ключа лог-события 51
3.5 Реализация графического интерфейса 52
3.6 Сквозной пример 52
3.7 Вывод по главе «Реализация» 56
ЗАКЛЮЧЕНИЕ 57
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 58
ПРИЛОЖЕНИЕ А 61
ПРИЛОЖЕНИЕ Б 63
ПРИЛОЖЕНИЕ В 71
ПРИЛОЖЕНИЕ Г 73
ПРИЛОЖЕНИЕ Д 74
ПРИЛОЖЕНИЕ Е 76
ПРИЛОЖЕНИЕ Ж 79
ПРИЛОЖЕНИЕ З 82
ПРИЛОЖЕНИЕ И 83
ПРИЛОЖЕНИЕ К 86
ПРИЛОЖЕНИЕ Л 89
ПРИЛОЖЕНИЕ М 90
ПРИЛОЖЕНИЕ Н 92
Файл регистрации (протокол, журнал, лог; англ. log) — файл с записями о событиях в хронологическом порядке, простейшее средство обеспечения журналирования. Различают регистрацию внешних событий и протоколирование работы самой программы — источника записей. Если приложение не содержит в себе сложную логику, и оно не представляет из себя сложную программу, то, чаще всего, всё записывается в единый файл.
Ни одна современная IT-компания не обходиться без автоматизации процесса записи лог-файлов. В крупных компаниях внешних событий, происходящих в минуту (а порой даже и в секунду) может достигать сотни или даже тысячи ведь в сложных системах, таких как интернет-магазины, социальные сети, диспетчерские службы и т.д. каждый пользователь производит множество процессов и тем самым генерирует множество событий, которые, в свою очередь, нужно фиксировать. Для фиксирования внешних событий необходимы журналы сервера.
Журналы сервера — специальные файлы, в которых протоколируются определённые действия пользователя или программы на сервере.
При активном использовании сервера пользователями или очень подробном журналировании или просто продолжительном времени работы программного обеспечения, в журнале становится очень много записей, что приводит к следующим затруднениям:
• файл регистрации потребляет значительные ресурсы хранения,
• большой файл регистрации становится тяжёлым для чтения и анализа.
Тем самым, когда лог-файлы достигают размеров в несколько гигабайт, которые содержат сотни тысяч или даже более миллиона событий, становится просто невозможно анализировать и производить поиск по файлу.
Диспетчерские службы заказа такси принимают множество звонков каждую минуту. Для каждого звонка создается отдельно выделенный канал связи и в нем фиксируются его события такие как поступление звонка, поднятие оператором трубки, окончание разговора и т.д. В некоторых случаях необходимо найти события, связанные с определенным номером клиента и каналами, в которых этот номер участвовал, и просмотреть всю цепочку событий.
Для автоматизации процесса поиска, чтения и дальнейшего анализа отдельных событий лог-файлов было принято решение разработать приложение для обработки массивных лог-файлов и осуществления быстрого поиска по ним.
Целью создания выпускной квалификационной работы, является повышение эффективности процесса поиска и анализа цепочки событий из лог- файлов.
Поставленная цель обусловила необходимость решения следующих задач:
- анализ предметной области;
- проектирование системы;
- постановка задачи;
- решение поставленной задачи.
В ходе проделанной работы было спроектировано, реализовано и запущенно в промышленную эксплуатацию приложение по поиску и визуализации лог-событий.
Приложение решает существенные проблемы:
- Позволяет быстро находить нужную цепочку событий по введенным ключам;
- Отображать цепочки событий в виде понятных и простых для понимания схем.
Тем самым использование данного приложения повышает производительность труда программистов для выявления неполадок в системе, а также повышает удобство в просмотре лог-событий и связей между ними.