МИРЭА - Российский технологический университет
студент
Огарок Андрей Леонтиевич, кандидат технических наук, доцент, старший научный сотрудник, кафедра №231 информационных процессов и систем, МИРЭА – Российский технологический университет
УДК 004.891.3
Введение.
Современные корпоративные информационные системы всё чаще функционируют в распределённых вычислительных средах с использованием технологий контейнеризации и оркестрации. Одной из наиболее распространённых платформ разработки серверных приложений является Java, а их развертывание всё чаще осуществляется в Kubernetes-кластерах [7]. В этих условиях обеспечение высокой производительности и стабильности приложений напрямую зависит от корректной настройки параметров виртуальной машины Java (JVM) [1], определяющих управление памятью, работу сборщика мусора и использование вычислительных ресурсов.
В процессе эксплуатации Java-приложений непрерывно формируется значительный объём телеметрических данных, характеризующих состояние среды выполнения и поведение приложения. Анализ таких данных позволяет выявлять снижение производительности, обнаруживать признаки неэффективной конфигурации JVM и принимать решения по её оптимизации. Однако существующие системы мониторинга преимущественно ориентированы на сбор и визуализацию метрик, тогда как интерпретация результатов и подбор оптимальных параметров виртуальной машины остаются задачей технических специалистов.
Актуальность.
Актуальность исследования обусловлена необходимостью автоматизации процессов анализа телеметрических данных и формирования рекомендаций по настройке параметров виртуальной машины Java. Применение методов машинного обучения позволяет перейти от традиционного мониторинга к интеллектуальному анализу состояния приложений, обеспечивая своевременное выявление отклонений и поддержку принятия решений при оптимизации параметров JVM. Разработка интеллектуальной системы, интегрированной с существующей инфраструктурой мониторинга и платформой Kubernetes, позволяет повысить эффективность эксплуатации распределённых Java-приложений, сократить трудоёмкость анализа телеметрических данных и снизить зависимость от ручной интерпретации результатов мониторинга.
Целью исследования является разработка архитектуры интеллектуальной системы анализа параметров виртуальной машины Java, обеспечивающей автоматизацию обработки телеметрических данных и формирование рекомендаций по оптимизации параметров среды выполнения Java-приложений на основе методов машинного обучения.
Для достижения поставленной цели необходимо решить следующие задачи:
Научная новизна исследования заключается в предложении подхода к интеллектуальному анализу телеметрических данных виртуальной машины Java, основанного на интеграции системы мониторинга, платформы контейнерной оркестрации Kubernetes и модели машинного обучения для классификации состояния среды выполнения Java-приложений. В отличие от существующих подходов, ориентированных преимущественно на сбор и визуализацию метрик, предложенное решение обеспечивает автоматизированную интерпретацию телеметрических данных и формирование рекомендаций по оптимизации параметров JVM на основе результатов интеллектуального анализа.
Архитектура интеллектуальной системы анализа параметров JVM.
Предлагаемая интеллектуальная система предназначена для автоматизации анализа телеметрических данных, характеризующих состояние виртуальной машины Java, и формирования рекомендаций по оптимизации её параметров. Система интегрируется с существующей инфраструктурой мониторинга и развертывания приложений, что позволяет использовать её без внесения изменений в логику функционирования целевых Java-приложений. Верхнеуровневая архитектура предлагаемой системы представлена в виде контекстной диаграммы C4 (Container View) [8], отражающей состав основных компонентов системы и их взаимодействие (см. Рисунок 1).
Рисунок 1 — Архитектура интеллектуальной системы C4
В состав системы входят следующие основные компоненты:
Предложенная архитектура обеспечивает модульность и масштабируемость системы, а также позволяет независимо развивать отдельные программные компоненты. Выделение сервиса машинного обучения в самостоятельный модуль обеспечивает возможность обновления и переобучения модели без внесения изменений в основной сервис анализа параметров JVM.
Метод интеллектуального анализа телеметрических данных.
Полученные системой мониторинга телеметрические данные используются в качестве исходной информации для интеллектуального анализа состояния виртуальной машины Java. Основной целью предлагаемого метода является автоматизированная классификация текущего состояния среды выполнения на основе совокупности эксплуатационных показателей.
На первом этапе выполняется получение агрегированных телеметрических данных из системы мониторинга Prometheus, которая накапливает метрики, публикуемые Java-приложением средствами Spring Boot Actuator и Micrometer [2–4]. Для анализа используются показатели, характеризующие использование памяти, активность сборщика мусора, загрузку процессора и состояние потоков выполнения.
В Таблице 1 представлены примеры телеметрических данных, используемых при формировании входного набора признаков модели машинного обучения.
Таблица 1 — Примеры метрик, используемых системой
| Группа метрик | Пример метрики | Характеризуемый показатель |
| Использование памяти | jvm_memory_used_bytes{area="heap"} |
Использованный объём памяти в куче |
jvm_memory_max_bytes{area="heap"} |
Максимальный доступный объём памяти в куче | |
| Работа сборщика мусора | jvm_gc_pause_seconds_sum |
Суммарное время пауз сборщика мусора |
jvm_gc_pause_seconds_count |
Количество пауз сборщика мусора | |
| Загрузка процессора | system_cpu_usage |
Использование процессора системой |
process_cpu_usage |
Использование процессора приложением | |
| Потоки | jvm_threads_live_threads |
Количество активных потоков |
jvm_threads_daemon_threads |
Количество потоков-демонов | |
| Выделенная память | jvm_memory_allocated_bytes_total |
Объём выделенной памяти |
После получения данных выполняется их предварительная обработка, включающая проверку полноты набора метрик, преобразование значений к единому формату и формирование вектора признаков. Полученный вектор отражает текущее состояние среды выполнения Java-приложения и используется в качестве входных данных для модели машинного обучения.
Для интеллектуального анализа состояния виртуальной машины Java используется алгоритм Gradient Boosting Classifier, реализованный в библиотеке scikit-learn [5, 6]. Выбор данного алгоритма обусловлен особенностями решаемой задачи. Телеметрические данные JVM представляют собой структурированный набор преимущественно числовых признаков, характеризующих использование вычислительных ресурсов и состояние среды выполнения приложения. Алгоритмы градиентного бустинга демонстрируют высокую эффективность при обработке табличных данных, обладают устойчивостью к различным диапазонам значений признаков и позволяют выявлять сложные нелинейные зависимости между входными параметрами и целевой переменной [6].
Дополнительным преимуществом выбранного алгоритма является возможность построения модели при относительно небольшом объёме обучающей выборки, что особенно важно на этапе разработки интеллектуальной системы, когда объём накопленных эксплуатационных данных ограничен. Кроме того, модель обеспечивает высокую скорость выполнения прогнозирования, что позволяет использовать её в системах анализа телеметрических данных, работающих в режиме, близком к реальному времени.
Результат классификации передаётся основному сервису системы, где используется для определения состояния анализируемого Java-приложения и последующей обработки результатов анализа. Полученные сведения сохраняются в базе метаданных, что обеспечивает возможность последующего анализа, контроля выполненных запусков и оценки динамики состояния виртуальной машины Java.
Предлагаемый метод позволяет автоматизировать обработку телеметрических данных и перейти от анализа отдельных метрик к комплексной оценке состояния среды выполнения Java-приложения на основе методов машинного обучения.
Заключение.
В работе предложен подход к проектированию интеллектуальной системы анализа параметров виртуальной машины Java, основанный на совместном использовании средств мониторинга, платформы контейнерной оркестрации Kubernetes и методов машинного обучения. Разработана архитектура системы, обеспечивающая автоматизированный сбор и обработку телеметрических данных, формирование вектора признаков и классификацию состояния среды выполнения Java-приложений. Использование модели градиентного бустинга позволяет выполнять комплексную оценку состояния виртуальной машины Java на основе совокупности эксплуатационных показателей.
Предложенный подход способствует повышению эффективности анализа телеметрических данных, сокращению трудоёмкости мониторинга и созданию предпосылок для интеллектуальной поддержки принятия решений при эксплуатации распределённых Java-приложений.
Перспективы дальнейших исследований связаны с расширением набора анализируемых телеметрических показателей, исследованием и сравнительной оценкой различных алгоритмов машинного обучения для повышения точности классификации, а также разработкой механизмов автоматического формирования и применения параметров виртуальной машины Java в средах контейнерной оркестрации.
Рецензии:
2.07.2026, 13:33 Мирзаев Номаз Мирзаевич
Рецензия: В условиях микросервисной архитектуры и контейнеризации Kubernetes классический пороговый мониторинг Java-приложений не справляется с динамическими нагрузками. Применение машинного обучения (ML) для анализа метрик JVM автоматизирует этот процесс и снижает эксплуатационные затраты.
Разработан комплексный подход, связывающий сбор телеметрии в реальном времени (Micrometer, Prometheus) с ML-сервисом классификации состояний среды выполнения на базе алгоритма Gradient Boosting Classifier. Предложена масштабируемая архитектура распределения ресурсов. Разделение системы на Java-сервис сбора данных и Python-сервис машинного обучения позволяет внедрять решение в production-окружения без деградации производительности основных приложений.
В качестве рекомендаций автору для будущих работ можно выделить следующие:
1. Раскрыть происхождение (синтетика, реальный трафик, логи) и объем обучающей выборки.
2. Было бы полезно привести численные показатели эффективности модели (например, F1-score, Precision, Recall) для обоснования превосходства градиентного бустинга над более простыми алгоритмами в данной задаче.
В заключение отметим, что рецензируемая статья полностью соответствует требованиям к публикациям в научных журналах и рекомендуется к печати.
Комментарии пользователей:
Оставить комментарий