我们希望监控tomcat实例的jvm指标。我们认为jolokia是一个很好的解决方案,因为它有一个很好的Nagios (checkMK)插件。我想知道,如果我们使用spring agent选项,在pom中指定依赖项。
据我所知,这将在应用程序启动时启动代理。是否可以在任何tomcat属性文件中指定我们是否希望代理启动?否则,如果出于某种原因,我们想要停止代理,除了重新部署应用程序之外别无选择,对吧?
发布于 2016-10-21 17:26:23
如果按照here所述将Jolokia集成到Spring应用程序上下文中,那么可以直接或通过Spring属性将选项autoStart设置为false。如果您是systemPropertiesMode,那么您甚至可以从外部属性设置它。
我不知道Spring Boot在提供依赖项时是如何在内部创建代理的,但希望它公开的配置方式与您在应用程序上下文中自己声明代理的方式相同。
作为另一种选择,如果您想使用外部代理,可以很容易地将Jolokia代理添加到bin/setenv.sh中Tomcat的启动选项中。由于这是一个常规的shell脚本,因此您也可以在此处添加任何逻辑,并有条件地将Jolokia配置添加到变量CATALINA_OPTS中:
if [ -n "$ENABLE_JOLOKIA" ]; then
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/path/to/jolokia-agent.jar"
fi然后,您可以在启动tomcat之前设置env var ENABLE_JOLOKIA。
https://stackoverflow.com/questions/40172171
复制相似问题