Настройка агента Jolokia Spring

Мы хотим отслеживать метрики jvm наших экземпляров tomcat. Мы считаем, что jolokia - хорошее решение, так как для него есть хороший плагин Nagios (checkMK). Мне было интересно, если мы используем опцию Spring Agent, указав зависимость в нашем pom.

Из того, что я понимаю, это запустит агент при запуске приложения. Можно ли указать в любом файле свойств tomcat, хотим ли мы запускать агент или нет? Потому что иначе, если по какой-то причине мы хотим остановить агента, нет другого пути, кроме как правильно развернуть приложение?

1 ответ

Если вы интегрируете Jolokia в контекст приложения Spring, как описано здесь, тогда вы можете установить опцию autoStart в false либо напрямую, либо через свойство Spring. Если вы systemPropertiesMode тогда вы можете установить его даже из внешнего свойства.

Но я точно не знаю, как Spring Boot создает агента внутри себя, когда предоставляется зависимость, но, надеюсь, он предоставляет те же способы настройки, как если бы вы объявили агента самостоятельно в контексте приложения.

В качестве альтернативы, если вы используете внешний агент, вы можете легко добавить агент Jolokia к параметрам запуска Tomcat в bin/setenv.sh, Поскольку это обычный сценарий оболочки, вы также можете добавить сюда любую логику и добавить конфигурацию Jolokia в свою переменную. CATALINA_OPTS условно:

if [ -n "$ENABLE_JOLOKIA" ]; then
   CATALINA_OPTS="$CATALINA_OPTS -javaagent:/path/to/jolokia-agent.jar"
fi

и тогда вы можете установить env var ENABLE_JOLOKIA перед запуском кота.

Другие вопросы по тегам