Настройка агента 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
перед запуском кота.