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

Вантажиться...
Ескіз

Дата

2025

Назва журналу

Номер ISSN

Назва тому

Видавець

КПІ ім. Ігоря Сікорського

Анотація

Розмір пояснювальної записки – 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.

Опис

Ключові слова

метрики програмного забезпечення, квантиль, високонавантажені застосунки, моніторингова система Prometheus, Python, software metrics, quantile, highly loaded applications, Prometheus monitoring system

Бібліографічний опис

Миронюк, А. І. Бібліотека для збору та аналізу метрик у високонавантажених сервісах на основі системи моніторингу Prometheus : магістерська дис. : 121 Інженерія програмного забезпечення / Миронюк Антон Іванович. - Київ, 2025. - 106 с.

ORCID

DOI