Порівняння методу обробки і аналізу log-файлів у форматі JSON з існуючими рішеннями - Брацький, Вадим Олегович; М'якшило, Олена Михайлівна (My University, 2018)
Log-файли часто і абсолютно незаслужено обділені увагою розробників. І коли програмістам необхідно обробити парсером log-файли, іноді з декількох десятків серверів одночасно, завдання покладається на системних адміністраторів і забирає в них багато часу й сил. У разі виникнення проблем і пошуку помилок у log-файлах сервісу все залежить від того, наскільки професійним є адміністратор і чи знають програмісти, що шукати. А ще від того, чи відпрацював logrotate і чи не видалив він старі дані. У таких ситуаціях ефективно допомагає Logstash, що активно розвивається. У мережі https://habrahabr.ru/ є досить багато статей про те, як його встановити і змусити працювати на одному сервері. У статті проаналізовано декілька схожих систем (Log Parser 2.2, Logstash, Web Log Exploler, Web Log Storming), які використовуються як сервери обробки log- файлів. На жаль, ці системи не можна використовувати як агенти. Після кількох випадків збірки log-файлів з множини серверів, авторам статті вдалося розробити систему збирання log-файлів, опис якої пропонується. Також розглянуто існуючі рішення і проведено порівняльний аналіз систем обробки log-файлів за такими критеріями: формат log-файлів, база даних збереження, можливості аналізу. У результаті з’ясовано, що log-файли є вельми потужним засобом для аналізу функціонування клієнтських додатків розподіленої системи на сервері. Також на сьогодні існує досить багато рішень для аналізу цих документів. Але для кожної системи досить важко підібрати потрібний аналізатор, який би легко справлявся з документами і відповідав би всім вимогам. Тому розглянуто чотири системи, які розроблені для вирішення подібних завдань. У результаті розроблено систему, яка здатна: - проводити швидкий парсинг лог-фалів за заданими критеріями; - зберігати проаналізовані дані в нереляційній базуйданих MongoDB, в якій можна проводити аналіз даних з лог-файлів за допомогою NoSQL запитів; - зберігати файли, де виявлені помилки у базі даних, за допомогою технології GridFS; - на основі проаналізованих даних автоматично запропонувати шлях вирішення проблеми. Log files are often and completely unfairly deprived of the attention of developers. And when programmers need to process log files by parser, sometimes from several dozen servers at a time, the task must be made by system administrators and it takes a lot of time and effort. So when there are problems and you need to find an error in the log files of a service, it all depends on the professionalism of the administrator and the knowledge of programmers about things they must look for. And again, whether the logrotate worked out and if it did not delete the old data. In these situations, actively developing Logstash helps. On the web site https://habrahabr.ru/ there are quite a few articles about its installing and forcing to work on one server. Several similar systems (Log Parser 2.2, Logstash, Web Log Explorer, Web Log Storming), which are used as log-processing servers, are analyzed in the article. Unfortunately, these systems can not be used as agents. After several assemblies of log files from a plurality of servers, authors of the article managed to develop a log-file collection system, the description of which is proposed. Existing solutions are also reviewed and a comparative analysis of log file processing systems is conducted according to the following criteria: log file format, storage database, analysis capabilities. As a result, it was found that log files are a very powerful tool for analyzing the functioning of client applications of a distributed system on a server. There are also many solutions for analyzing these documents today. But for each system it's quite difficult to find the right analyzer that would easily handle the documents and meet all the requirements. Therefore, we considered four systems that had been designed to solve similar problems, as well as a system based on them that is capable to: - carry out rapid parsing of log files according to the specified criteria; - store the analyzed data in the non-relational database MongoDB, where it is possible to analyze data from log files using NoSQL queries; - store files where errors in the database are detected using GridFS technology; - based on the analyzed data, automatically suggest a way to solve the problem.
Keywords: база даних; SQL; NoSQL; JSON; BSON; реляційні СКБД; нереляційні СКБД; MongoDB; Log Parser 2.2; Logstash; Web Log Exploler; Web Log Storming; кафедра інформаційних технологій, штучного інтелекту і кібербезпеки; database; logs; analyzing log files; relational database; norelational database