Мониторинг#
Настройка#
Продукт Grid Center позволяет выводить собственные метрики в формате Prometheus, а также позволяет анализировать метрики, генерируемые JVM. Для настройки собственных метрик Grid Center используется файл grid-center.properties, поставляемый в составе дистрибутива продукта.
Настройка метрик в формате Prometheus#
По умолчанию в grid-center.properties настроен вывод метрик в формате Prometheus по конечной точке /diagnostic/prometheus.
Примеры переменных, которые отвечают за включение и настройку работы с метриками:
management.endpoints.web.base-path=/diagnostic– настройка наименования конечной точки;management.endpoints.web.exposure.include=prometheus, health– параметры для включения метрик в формте Prometheus и страницы со статусом запуска приложения;management.endpoint.health.show-details=always– параметр для отображения дополнительных атрибутов статуса запуска приложения;management.metrics.enable.disk=false– параметр для подключения метрик по диску.
Дополнительные настройки метрик
Чтобы настроить label на метриках, в файле grid-center.properties пропишите: management.metrics.tags.key=value, где key – имя label, а value – значение.
Чтобы запретить отображение какой-либо метрики, в файле grid-center.properties пропишите: management.metrics.enable.id=false, где id – имя метрики.
Доступ к метрикам в формате Prometheus
Для получения метрики в формате Prometheus откройте в браузере страницу:
http://ip:port/diagnostic/prometheus.Где:
ip – ip адрес Grid Center;
port – порт;
/diagnostic/prometheus – путь к метрикам.
Чтобы получить информацию о состоянии приложения, откройте в браузере страницу: ``http://ip:port/diagnostic/health`.
Где:
ip – ip адрес Grid Center;
port – порт;
/diagnostic/health – путь к странице со статусом приложения.
Настройка метрик JMX#
Для удаленного доступа к метрикам по протоколу JMX включите возможность подключения по протоколу JMX к JVM, отредактировав конфигурацию. Для этого добавьте параметры в файл конфигурации JVM - jvm.opts. Файл конфигурации расположен в директории config, где установлено приложение Grid Center. Добавляйте каждый новый параметр в новой строке файла.
Пример добавления параметров для удаленной работы с JMX:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9010
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
где:
Dcom.sun.management.jmxremote— флаг включения удаленной работы JMX (включен по умолчанию);Dcom.sun.management.jmxremote.port— параметр сетевого порта, который будет использоваться для удаленного подключения;Dcom.sun.management.jmxremote.authenticate— параметр, который отвечает за включение аутентификации для работы с JMX;Dcom.sun.management.jmxremote.ssl— параметр, который отвечает за включение SSL для работы с JMX.
Примеры дополнительных параметров для работы с JMX:
-Dcom.sun.management.jmxremote.password.file=../jmxremote.password
-Dcom.sun.management.jmxremote.access.file=../jmxremote.access
где:
Dcom.sun.management.jmxremote.access.file— путь к файлу с именами пользователей, которые будут подключаться к JMX, и их уровнем доступа. Доступны два уровня доступа:readonly(только чтение атрибутов по JMX) илиreadwrite(чтение атрибутов и выполнение операций по JMX).Пример файла
jmxremote.access:admin readwrite user readonlyDcom.sun.management.jmxremote.password.file— путь к файлу с именами JMX пользователей и их паролями.Пример файла
jmxremote.password:aHd3kdsnwwqs47 user user
Подробнее о настройках JMX-параметров JVM читайте в документации к JVM, на которой запускается Grid Center.
Метрики#
Метрики в формате Prometheus#
Список метрик, доступных в формате Prometheus:
Название |
Размерность |
Атрибут |
Описание |
|---|---|---|---|
|
Количество потоков |
|
Текущее количество активных потоков, включая потоки как доменов, так и потоков, не являющихся доменами |
|
Количество потоков |
|
Примерное количество потоков, активно выполняющих задачи |
|
Байты |
|
Объем памяти, выделенный для использования виртуальной машиной Java |
|
Байты |
|
Подсчет положительного увеличения размера пула памяти старого поколения до GC и после GC |
|
Количество сессий |
|
Общее количество истекших сессий в Tomcat |
|
Секунды |
|
Показывает максимальную продолжительность, в течение которой сессия оставалась «живой» в Tomcat |
|
Секунды |
|
Время, необходимое приложению для готовности к обслуживанию запросов |
|
Байты |
|
Объем памяти, выделенный для использования виртуальной машиной Java |
|
Количество задач |
|
Количество дополнительных элементов, которые очередь может в идеале принять без блокировки |
|
Количество потоков |
|
Основное количество потоков для пула |
|
Количество классов |
|
Общее количество классов, выгруженных с начала использования виртуальной машины Java |
|
Количество потоков |
|
Текущее количество «живых» потоков домена |
|
Проценты |
|
Процент долгоживущего пула кучи, использованного после последнего события сборки, в диапазоне |
|
Секунды |
|
Время, необходимое для запуска приложения |
|
Секунды |
|
Время безотказной работы виртуальной машины Java |
|
Секунды |
|
Продолжительность обработки запроса HTTP-сервера |
|
Секунды |
|
Продолжительность обработки запроса HTTP-сервера |
|
Количество процессоров |
|
Количество процессоров, доступных виртуальной машине Java |
|
Количество сессий |
|
Общее количество сессий, созданных в Tomcat |
|
Байты |
|
Размер долгоживущего пула кучи после восстановления |
|
Байты |
|
Оценка общей емкости буферов в пуле |
|
Байты |
|
Объем используемой памяти |
|
Количество классов |
|
Количество классов, загруженных в данный момент в виртуальную машину Java |
|
— |
|
«Недавнее использование процессора» для процесса виртуальной машины Java |
|
Количество сессий |
|
Общее количество отклоненных сессий в Tomcat |
|
Количество сессий |
|
Максимальное количество активных сессий в Tomcat |
|
Байты |
|
Максимальный объем памяти, который можно использовать для управления памятью |
|
Количество задач |
|
Примерное общее количество завершенных задач |
|
Количество сессий |
|
Показывает текущее количество активных сессий в Tomcat |
|
Количество событий |
|
Количество событий журнала фатального уровня |
|
Байт |
|
Максимальный размер пула долгоживущей кучи |
|
Количество задач |
|
Приблизительное количество задач в очереди на выполнение |
|
Секунды |
|
Время, проведенное на паузе GC |
|
Секунды |
|
Время, проведенное на паузе GC |
|
Количество потоков |
|
Максимально допустимое количество потоков в пуле |
|
Байты |
|
Объем, выделенный для увеличения размера пула памяти кучи между предыдущим и следующим процессами GC |
|
Количество потоков |
|
Текущее количество потоков |
|
Количество потоков |
|
Текущее количество потоков в пуле |
|
Секунды |
|
Время начала процесса в UNIX-формате |
|
Количество потоков |
|
Пиковое количество живых потоков с момента запуска JVM или сброса пика |
|
Байт |
|
Недавнее использование ЦПУ системы, в которой работает приложение |
|
Проценты |
|
Приблизительное значение процента времени ЦП, использованного действиями сборщика мусора за последний период ретроспективного анализа или с момента начала мониторинга (в зависимости от того, что короче), в диапазоне |
|
Количество буферов |
|
Оценка количества буферов в пуле |
Метрики JMX#
Список JVM-метрик, доступных по JMX, которые рекомендуются для анализа:
Название |
Размерность |
Атрибут |
Описание |
|---|---|---|---|
|
Количество |
— |
Количество загруженных классов |
|
Количество |
— |
Общее количество загруженных классов |
|
Количество |
— |
Количество выгруженных классов |
|
Байт |
— |
Объем зарезервированной Heap-памяти в рамках максимально возможного значения ( |
|
Байт |
— |
Объем выделенной Heap-памяти |
|
Байт |
— |
Объем используемой Heap-памяти |
|
Байт |
— |
Объем зарезервированной NonHeap-памяти в рамках максимально возможного значения ( |
|
Байт |
— |
Объем используемой NonHeap-памяти |
|
Байт |
— |
Объем виртуальной памяти, доступной для запущенного процесса |
|
Байт |
— |
Объем свободной физической памяти |
|
Байт |
— |
Максимально возможное количество открытых файлов |
|
Количество файлов |
— |
Текущее количество открытых файлов |
|
Байт |
— |
Общий объем физической памяти |
|
— |
— |
Версия спецификации Java |
|
Секунды |
— |
Время работы виртуальной машины |
|
— |
— |
Имя виртуальной машины |
|
— |
— |
Версия виртуальной машины Java |
|
Количество потоков |
— |
Количество потоков виртуальной машины Java |