Spring Boot Actuator: мониторинг и управление через JMX

Расширения управления Java (JMX, Java Management Extensions) предоставляют стандартный механизм для мониторинга и управления приложениями. По умолчанию эта функция не включена и ее можно включить, установив для свойства конфигурации spring.jmx.enabled значение true. Spring Boot по умолчанию предоставляет конечные точки управления в виде MBean-компонентов JMX в домене org.springframework.boot.

Настройка имен MBean

Имя MBean обычно генерируется из идентификатора конечной точки. Например, конечная точка health отображается как org.springframework.boot:type=Endpoint,name=Health.

Если ваше приложение содержит более одного Spring ApplicationContext, вы можете обнаружить, что имена конфликтуют. Чтобы решить эту проблему, вы можете установить для свойства spring.jmx.unique-names значение true, чтобы имена MBean всегда были уникальными.

Вы также можете настроить домен JMX, в котором отображаются конечные точки. Следующие настройки показывают пример этого в application.properties:

spring.jmx.unique-names=true
management.endpoints.jmx.domain=com.example.myapp

Отключение конечных точек JMX

Если вы не хотите предоставлять конечные точки через JMX, вы можете установить для свойства management.endpoints.jmx.exposure.exclude значение *, как показано в следующем примере:

management.endpoints.jmx.exposure.exclude=*

Использование Jolokia для JMX через HTTP

Jolokia - это мост JMX-HTTP, который предоставляет альтернативный метод доступа к компонентам JMX. Чтобы использовать Jolokia, включите зависимость от org.jolokia:jolokia-core. Например, в Maven вы бы добавили следующую зависимость:

<dependency>
    <groupId>org.jolokia</groupId>
    <artifactId>jolokia-core</artifactId>
</dependency>

Затем можно открыть конечную точку Jolokia, добавив jolokia или * в свойство management.endpoints.web.exposure.include. Затем вы можете получить к нему доступ, используя /actuator/jolokia на своем HTTP-сервере управления.

Настройка Jolokia

Jolokia имеет ряд настроек, которые вы обычно настраиваете, устанавливая параметры сервлета. Spring Boot позволяет использовать файл application.properties. Для этого добавьте к параметру management.endpoint.jolokia.config. Префикс, как показано в следующем примере:

management.endpoint.jolokia.config.debug=true

Отключение Jolokia

Если вы используете Jolokia, но не хотите, чтобы Spring Boot настраивал его, установите для свойства management.endpoint.jolokia.enabled значение false, как показано ниже:

management.endpoint.jolokia.enabled=false


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки