Software for collecting and analyzing metrics in highly loaded applications based on the Prometheus monitoring system

dc.contributor.authorStetsenko, Inna
dc.contributor.authorMyroniuk, Anton
dc.date.accessioned2025-04-16T10:55:06Z
dc.date.available2025-04-16T10:55:06Z
dc.date.issued2024
dc.description.abstractThis paper emphasizes the importance of collecting metrics during application operation for early detection of potential problems. The undisputed leader in this area is the Prometheus monitoring system, which, combined with Grafana – a platform for visualizing collected data in numerous graphs – becomes an indispensable tool for programmers and site reliability engineers. However, the average value of a certain metric is often unrepresentative, because it does not reflect a comprehensive picture. Instead, collecting metrics in terms of various quantiles over a long period is useful to identify even single instabilities. Still, the use of standard tools in the Python ecosystem may require a lot of server resources and long preliminary analysis, which can be quite costly for businesses from a financial point of view. 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 research aims to improve the efficiency of storing metrics across different quantiles, which will create additional opportunities for further analysis. A review of existing approaches for calculating quantile values on large data sets was conducted. Their comparative characteristics in terms of speed and memory usage were also presented. The chosen method was adapted for use with the real-time data stream and implemented as a Python extension for the official Prometheus library. It opens up opportunities for comprehensive monitoring of highly loaded systems in terms of both server resource usage and the quantity and quality of collected useful data. This solution can be easily implemented on large projects requiring continuous tracking of various metrics to ensure stable and uninterrupted service operation.
dc.description.abstractotherВ даній роботі підкреслюється важливість збору метрик в процесі роботи застосунків для раннього виявлення потенційних проблем. Одноосібним лідером у цій сфері є система моніторингу Prometheus, що у поєднанні із Grafana – платформою для візуалізації зібраних даних у формі численних графіків, стає незамінним інструментом в арсеналі програмістів та SRE-спеціалістів. Втім, просто середнє значення певного показника досить часто буває нерепрезентативним, адже воно не відображає комплексної картини. Натомість корисно збирати метрики в розрізі різних квантилів на тривалому проміжку часу для виявлення навіть одиничних нестабільностей, проте використання стандартних засобів в Python-екосистемі може вимагати надто великої кількості серверних ресурсів та тривалого попереднього аналізу, що з фінансової сторони може бути досить затратним для бізнесів. Саме тому актуальною є розробка нового підходу для збору та аналізу метрик у високонавантажених сервісах на базі Prometheus. Мета дослідження полягає у створенні додаткових можливостей для збору та аналізу метрик у високонавантажених застосунках на основі системи моніторингу Prometheus шляхом обрахування квантилів на клієнтській стороні. Було проведено теоретичний огляд наявних підходів для обрахування значення квантилів на великих обсягах даних. Також представлено їх порівняльну характеристику в контексті швидкості роботи та обсягу використовуваної памʼяті, виміряну експериментальним шляхом на різних обсягах даних. Обраний метод було адаптовано для використання із потоком даних у реальному часі та реалізовано у вигляді Python-розширення для офіційної бібліотеки Prometheus. Це відкриває можливості для комплексного моніторингу високонавантажених систем з погляду як використання серверних ресурсів, так і кількості та якості зібраних корисних даних. Дане рішення може бути з легкістю втілене на великих проєктах, які вимагають постійного відстеження багатьох метрик задля забезпечення стабільної та безперебійної роботи.
dc.format.pagerangePp. 17-28
dc.identifier.citationStetsenko, I. Software for collecting and analyzing metrics in highly loaded applications based on the Prometheus monitoring system / Inna Stetsenko, Anton Myroniuk // Information, Computing and Intelligent systems. – 2024. – No. 5. – Pp. 17-28. – Bibliogr.: 15 ref.
dc.identifier.doihttps://doi.org/10.20535.2786-8729.5.2024/316366
dc.identifier.orcid0000-0002-4601-0058
dc.identifier.orcid0009-0003-7212-2816
dc.identifier.urihttps://ela.kpi.ua/handle/123456789/73388
dc.language.isoen
dc.publisherNational Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute"
dc.publisher.placeKyiv
dc.relation.ispartofInformation, Computing and Intelligent systems, No.5
dc.subjectmetrics
dc.subjectquantile
dc.subjecthighly loaded applications
dc.subjectPrometheus monitoring system
dc.subjectPython
dc.subjectметрики
dc.subjectквантиль
dc.subjectвисоконавантажені застосунки
dc.subjectмоніторингова система Prometheus
dc.subject.udc004.42
dc.titleSoftware for collecting and analyzing metrics in highly loaded applications based on the Prometheus monitoring system
dc.title.alternativeПрограмне забезпечення для збору та аналізу метрик у високонавантажених застосунках на базі системи моніторингу Prometheus
dc.typeArticle

Файли

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