Бібліотека для збору та аналізу метрик у високонавантажених сервісах на основі системи моніторингу Prometheus

dc.contributor.advisorСтеценко, Інна Вячеславівна
dc.contributor.authorМиронюк, Антон Іванович
dc.date.accessioned2025-12-11T08:23:45Z
dc.date.available2025-12-11T08:23:45Z
dc.date.issued2025
dc.description.abstractРозмір пояснювальної записки – 86 аркушів, містить 36 ілюстрацій, 9 таблиць, 3 додатки, 45 посилань на джерела. Актуальність теми. В роботі підкреслюється важливість збору метрик в процесі роботи застосунків для забезпечення їх стабільного функціонування. Найбільш відоме рішення на сьогодні – це система моніторингу Prometheus. Для раннього виявлення потенційних проблем корисно збирати метрики в розрізі квантилів на тривалому проміжку часу, адже просто середнє значення певного показника часто буває нерепрезентативним та оманливим у випадку волатильних даних. Проте використання наявних засобів в Python-екосистемі вимагає великої кількості серверних ресурсів та тривалого попереднього аналізу для систем з інтенсивним трафіком, що може бути досить затратним для підприємств з фінансової сторони. Саме тому актуальною є розробка нового підходу для збору та аналізу метрик у високонавантажених сервісах на базі Prometheus. Мета дослідження. Метою є забезпечення збору більшої кількості даних для метрик у розрізі квантилів з високою точністю та водночас використання меншої кількості обчислювальних ресурсів на основі системи моніторингу Prometheus для високонавантажених застосунків. Об’єкт дослідження: методи та програмне забезпечення моніторингу високонавантажених систем. Предмет дослідження: методи та метрики бібліотеки моніторингу Prometheus. Для досягнення мети поставлені наступні завдання: – порівняння існуючих підходів для збору метрик у застосунках; – аналіз методів та алгоритмів для обрахування квантилів на клієнтській стороні; – адаптація обраного алгоритму для роботи з потоком даних у реальному часі; – розробка Python-розширення для офіційної бібліотеки Prometheus, що реалізує обрахування квантилів на клієнтській стороні; – експериментальне дослідження ефективності запропонованого рішення. Наукова новизна результатів магістерської дисертації полягає в удосконаленні методу обрахування квантилів для метрики Summary на стороні клієнта для більш точного їх оцінювання та мінімізації використання обчислювальних ресурсів в умовах обробки даних в реальному часі. Практичне значення отриманих результатів полягає в тому, що розроблено Python-розширення для офіційної бібліотеки Prometheus, що реалізує збір показників у розрізі квантилів для метрики Summary за вдосконаленим методом. Бібліотеку у вигляді Python-пакета можна легко інтегрувати як для синхронних, так і для асинхронних програм з довільним рівнем навантаження. Це дозволяє значно зменшити обсяг даних на стороні сервера Prometheus та швидко переглядати графіки з метриками, спостережуваними на великих проміжках часу (тижні або навіть місяці), що практично неможливо у підході з обрахуванням квантилів на стороні сервера. Розроблене в ході наукового дослідження програмне забезпечення було інтегровано в окремих проєктах компанії ТОВ «РІФЕЙС УКРАЇНА». Це допомогло підвищити ефективність процесу моніторингу сервісів за допомогою системи Prometheus завдяки можливості збору більшої кількості метрик у розрізі квантилів з високою точністю при меншому використанні обчислювальних ресурсів. Код бібліотеки є відкритим та доступний за посиланням https://github.com/RefaceAI/prometheus-summary. Зв’язок з науковими програмами, планами, темами. Робота виконувалась на кафедрі інформатики та програмної інженерії Національного технічного університету України «Київський політехнічний інститут імені Ігоря Сікорського». Апробація. Наукові положення дисертації пройшли апробацію на VІ Міжнародній науково-практичній конференції молодих вчених та студентів «Інженерія програмного забезпечення і передові інформаційні технології» (SoftTech-2024) – м. Київ. Публікації. Наукові положення дисертації опубліковані в: 1) Миронюк А. І., Стеценко І. В. Бібліотека для збору та аналізу метрик у високонавантажених сервісах на основі системи моніторингу Prometheus. Матеріали VІ міжнародної науково-практичної конференції молодих вчених та студентів «Інженерія програмного забезпечення і передові інформаційні технології» (SoftTech-2024) – м. Київ: НТУУ «КПІ ім. Ігоря Сікорського», 21–23 травня 2024 року, с. 102–105. 2) I. Stetsenko and A. Myroniuk, “Software for collecting and analyzing metrics in highly loaded applications based on the Prometheus monitoring system,” in Inf. Comput. and Intell. syst. j., no. 5, pp. 17–28, Dec. 2024, https://doi.org/10.20535/2786-8729.5.2024.316366.
dc.description.abstractotherExplanatory note size – 86 pages, contains 36 illustrations, 9 tables, 3 applications, 45 references. Topicality. The paper emphasizes the importance of collecting metrics during application operation to ensure their stable functioning. The most well-known solution today is the Prometheus monitoring system. For early detection of potential problems, it is useful to collect metrics in terms of certain quantiles over a long period, as the average value of a certain indicator is often unrepresentative and misleading in the case of volatile data. However, the use of existing tools in the Python ecosystem require a lot of server resources and long preliminary analysis for systems with heavy traffic, which can be quite costly for enterprises from a financial perspective. That is why the development of a new approach for collecting and analyzing metrics in highly loaded applications based on the Prometheus monitoring system is relevant. The aim of the study. The target is to provide the collection of more data for metrics in terms of quantiles with high accuracy while using less computing resources based on the Prometheus monitoring system for highly loaded applications. The object of research: methods and software for monitoring highly loaded systems. The subject of research: Prometheus monitoring library methods and metrics. To achieve this goal, the following tasks have been set: – comparison of existing approaches for collecting metrics in applications; – analysis of methods and algorithms for calculating quantile values on the client side; – adaptation of the chosen algorithm for use with real-time data stream; – implementation of the Python-extension for the official Prometheus library that implements quantile calculation on the client side; – analysis of the effectiveness of the proposed solution. The scientific novelty of the results of the master's thesis is improving the method for calculating quantiles for the Summary metric on the client side for more accurate estimation and minimizing the use of computing resources in real-time data processing conditions. The practical value of the obtained results is the developed Python extension for the official Prometheus library that implements quantiles calculation for the Summary metric using the improved method. The library, as a Python package, can be easily integrated for both synchronous and asynchronous applications with an arbitrary load level. This helps significantly reduce the amount of data on the Prometheus server and easily view graphs with metrics observed over long periods of time (weeks or even months), which is practically impossible in the server-side quantile calculation approach. The software developed during the scientific research was integrated into individual projects of the company "REFACE UKRAINE" LLC. This helped increase the efficiency of the application monitoring process using the Prometheus system due to the ability to collect more metrics in terms of quantiles with high accuracy while using less computing resources. The library code is open-sourced and available at https://github.com/RefaceAI/prometheus-summary. Relationship with working with scientific programs, plans, topics. Work was performed at the Department of Informatics and Software Engineering of the National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute". Approbation. The scientific provisions of the dissertation were tested at the Sixth International Scientific and Practical Conference of Young Scientists and Students "Software engineering and advanced information technologies" (Soft Tech-2024) – Kyiv. Publications. The scientific provisions of the dissertation were published in: 1) A. Myroniuk, I. Stetsenko, “The library for collecting and analyzing metrics in highly loaded services based on the Prometheus monitoring system,” in Proceedings of the Sixth International Scientific and Practical Conference of Young Scientists and Students “Software engineering and advanced information technologies” (SoftTech-2024) Kyiv, NTUU “KPI them. Igor Sikorsky”, pp. 102–105, May 21–23, 2024. 2) I. Stetsenko and A. Myroniuk, “Software for collecting and analyzing metrics in highly loaded applications based on the Prometheus monitoring system,” in Inf. Comput. and Intell. syst. j., no. 5, pp. 17–28, Dec. 2024, https://doi.org/10.20535/2786-8729.5.2024.316366.
dc.format.extent106 с.
dc.identifier.citationМиронюк, А. І. Бібліотека для збору та аналізу метрик у високонавантажених сервісах на основі системи моніторингу Prometheus : магістерська дис. : 121 Інженерія програмного забезпечення / Миронюк Антон Іванович. - Київ, 2025. - 106 с.
dc.identifier.urihttps://ela.kpi.ua/handle/123456789/77632
dc.language.isouk
dc.publisherКПІ ім. Ігоря Сікорського
dc.publisher.placeКиїв
dc.subjectметрики програмного забезпечення
dc.subjectквантиль
dc.subjectвисоконавантажені застосунки
dc.subjectмоніторингова система Prometheus
dc.subjectPython
dc.subjectsoftware metrics
dc.subjectquantile
dc.subjecthighly loaded applications
dc.subjectPrometheus monitoring system
dc.subject.udc004.42
dc.titleБібліотека для збору та аналізу метрик у високонавантажених сервісах на основі системи моніторингу Prometheus
dc.title.alternativeThe Library for Collecting and Analyzing Metrics in Highly Loaded Services Based on the Prometheus Monitoring System
dc.typeMaster Thesis

Файли

Контейнер файлів
Зараз показуємо 1 - 1 з 1
Вантажиться...
Ескіз
Назва:
Myroniuk_magistr.pdf
Розмір:
4.8 MB
Формат:
Adobe Portable Document Format
Ліцензійна угода
Зараз показуємо 1 - 1 з 1
Ескіз недоступний
Назва:
license.txt
Розмір:
8.98 KB
Формат:
Item-specific license agreed upon to submission
Опис: