ANALYSIS AND VISUALIZATION TOOLS FOR APPLICATION
METRICS
12 3
Maratkanov A.S. , Sukhanov A.A. , Vorobyovа A.A. (Russian Federation) Email: [email protected]
1Maratkanov Aleksandr Sergeevich - Master Student; 2Suhanov Aleksandr Aleksandrovich - Master Student; 3Vorobyova Anastasiia Andreevna - Bachelor Student, DEPARTMENT COMPUTER SYSTEMS AND NETWORKS, MOSCOW STATE TECHNICAL UNIVERSITY NAMED AFTER N.E. BAUMAN,
MOSCOW
Abstract: the article analyzes the approaches and methods of collecting data on the application's work with the help of modern performance analysis tools, as well as ways of visualizing metrics. The article analyzes ways to interact with Prometheus technology and its main components of that software. The article analyzes software named Graphana as one of approaches to draw graphics for metrics analyze. Article analyzes main approaches to collect and different analytics approaches to interact with gathered data.
Keywords: metrics, Go, Prometheus, Graphana, performance.
СРЕДСТВА АНАЛИЗА И ВИЗУАЛИЗАЦИИ МЕТРИК РАБОТЫ
ПРИЛОЖЕНИЯ
1 2 3
Маратканов А.С. , Суханов А.А. , Воробьева А.А. (Российская Федерация)
1Маратканов Александр Сергеевич - магистрант; 2Суханов Александр Александрович - магистрант; 3Воробьева Анастасия Андреевна - бакалавр, кафедра компьютерных систем и сетей, Московский государственный технический университет им. Н.Э. Баумана,
г. Москва
Аннотация: в статье анализируются подходы и способы сбора данных о работе приложения с помощью современных средств анализа производительности, также рассматриваются способы визуализации метрик. В статье рассматриваются особенности работы технологии Prometheus и основных компонентов этого программного продукта. В статье рассматривается программный продукт Graphana и анализируется его пригодность для использования в качестве средства визуализации анализа ключевых метрик приложения. Помимо программных продуктов в статье рассматриваются основные подходы к анализу метрик приложения.
Ключевые слова: метрики, Go, Prometheus, Graphana производительность.
Метрика - мера, позволяющая получить численное значение некоторого свойства программного обеспечения.
Приложение, написанное на любом языке, через некоторый интерфейс (прослойку) отправляет метрики в коллектор, коллектор их частично агрегирует, вычисляет частоту обновления (опционально) и раз в некоторый промежуток времени отправляет их в carbon, который постепенно складывает их в хранилище [1]. Веб-приложение берет данные из хранилища (и частично из самого carbon) и строит графики. Демон carbon на самом деле — это 3 демона: carbon-cache, carbon-relay и carbon-aggregator. В простейшем случае можно использовать carbon-cache. Реализацию carbon-relay можно использовать с целью шардирования (распределение нагрузки между несколькими carbon-cache) или реплицирования (отправка одних и тех же метрик на несолько carbon-cache)[2]. Демон
carbon-aggregator умеет выполнять промежуточную обработку метрик перед отправкой их в хранилище. Данные метрик в carbon могут быть переданы по одному из двух форматов: в plain text (т.н. line protocol) на порт 2003 и сериализованные в pickle на порт 2004.
Однако, наиболее популярной системой с поддержкой Go, является Prometheus.
В состав Prometheus входят следующие компоненты:
• сервер, который считывает метрики и сохраняет их в темпоральной (time series) базе данных;
• клиентские библиотеки для различных языков программирования (Go, Java, Python, Ruby; сообществом также созданы библиотеки для Bash, Node.js, Haskell, .NET/C#);
• Pushgateway — компонент для приёма метрик кратковременных процессов;
• PROMDASH — дашборд для метрик;
• инструменты для экспорта данных из сторонних приложений (Statsd, Ganglia, HAProxy и других);
• менеджер уведомлений AlertManager (на текущий момент находится на стадии бета-тестирования);
• клиент командной строки для выполнения запросов к данным.
Prometheus хранит данные в виде временных рядов — наборов значений, соотнесённых с временной меткой (timestamp) [3].
Элемент временного ряда (измерение) состоит из имени метрики, временной метки и пары «ключ — значение». Временные метки имеют точность до миллисекунд, значения представлены с 64-битной точностью.
Имя метрики указывает на параметр системы, о котором собираются данные. Например, у метрики с информацией о количестве HTTP-запросов к некоему API имя может выглядеть так: api_http_requests_total. Временной ряд в такой метрике может хранить информацию о обо всех GET-запросах на адрес /api/tracks, на которые был отдан ответ с кодом 200.
Модель данных, используемая в Prometheus, напоминает ту, что используется в OpenTSDB. У всех метрик есть имя, но оно может быть одним и тем же у нескольких рядов.
При этом каждый временной ряд должен быть помечен хотя бы одним значением. Измерения для одного значения хранятся последовательно, что обеспечивает быструю агрегацию данных [4].
Поддерживаются следующие типы метрик:
• счётчик (counter) — хранит значения, которые увеличиваются с течением времени (например, количество запросов к серверу);
• шкала (gauge) — хранит значения, которые с течением времени могут как увеличиваться, так и уменьшаться (например, объём используемой оперативной памяти или количество операций ввода-вывода);
• гистограмма (histogram) — хранит информацию об изменении некоторого параметра в течение определённого промежутка (например, общее количество запросов к серверу в период с 11 до 12 часов и количество запросов к этому же серверов в период с 11.30 до 11.40);
• сводка результатов (summary) — как и гистограмма, хранит информацию об изменении значения некоторого параметра за временной интервал, но также позволяет рассчитывать квантили для скользящих временных интервалов.
Для визуализации скорости и эффективности работы системы будет использована Grafana. На основе метрик Prometheus, можно легко строить различные графики, как на рисунке
Так же Grafana позволяет строить динамические графики, основываясь на ответе от API. Этот вариант необходим для визуализации результатов тестирования, которые называются scripted dashboards.
Таким образом, для сбора метрик и визуализации работы системы будут использованы Prometheus и Grafana, в связке, которые обладают серьезным инструментарием для анализа работы системы и подведения итогов маркетингового исследования.
Список литературы /References
1. Википедия. A/B-тестирование. [Электронный ресурс]. Режим доступа: https://ru.wikipedia.org/wiki/ A/B-тестирование/ (дата обращения: 08.05.2019).
2. Википедия. Целевая функция. [Электронный ресурс]. Режим доступа: https://ru.wikipedia.org/wiki/ Целевая_функция/ (дата обращения: 08.05.2019).
3. Суханов А.А., Маратканов А.А. Анализ способов сбора социальных данных из сети Интернет, // International Scientific Review № 1(32) / International Scientific Review of the Problems and Prospects of Modern Science and Education: XXX International Scientific and Practical Conference ( Boston, USA - 22 January, 2017).
4. Суханов А.А., Маратканов А.А. Анализ основных источников социальных данных в российском сегменте сети Интернет, // International Scientific Review № 1(32) / International Scientific Review of the Problems and Prospects of Modern Science and Education: XXX International Scientific and Practical Conference ( Boston, USA. 22 January, 2017).
ANALYSIS OF BLOCKCHAIN PLATFORMS FOR DOCUMENT FLOW
SYSTEM 1 2 Vorobyova A.A. , Sukhanov A.A. (Russian Federation)
Email: [email protected]
1Vorobyova Anastasiia Andreevna - Bachelor Student; 2Suhanov Aleksandr Aleksandrovich - Master Student, DEPARTMENT COMPUTER SYSTEMS AND NETWORKS, MOSCOW STATE TECHNICAL UNIVERSITY NAMED AFTER N.E. BAUMAN,
MOSCOW
Abstract: the article discusses the main blockchain platforms that can be used in the field of workflow, their strengths and weaknesses are also considered. The article discusses the features of the work of Ethereum technology and the main components of this software product. The article discusses the EOS software product and analyzes its suitability for use as a means to account for workflow. The article also discusses the Hyperledger software product, which is a corporate solution for industrial blockchain platforms and is not a cryptocurrency. There is a conclusion about the most convenient platform for document flow purposes. Keywords: blockchain, Ethereum, EOS, Hyperledger, document flow.
АНАЛИЗ БЛОКЧЕЙН-ПЛАТФОРМ ДЛЯ РЕАЛИЗАЦИИ СИСТЕМЫ
ДОКУМЕНТООБОРОТА 12 Воробьева А.А. , Суханов А.А. (Российская Федерация)
1Воробьева Анастасия Андреевна - бакалавр; 2Суханов Александр Александрович - магистрант, кафедра компьютерных систем и сетей, Московский государственный технический университет им. Н.Э. Баумана,
г. Москва
Аннотация: в статье рассматриваются основные блокчейн-платформы, которые могут быть использованы в сфере документооборота, также рассматриваются их достоинства и недостатки. В статье рассматриваются особенности работы технологии Ethereum и основных компонентов этого программного продукта. В статье рассматривается программный продукт EOS и анализируется его пригодность для использования в качестве