通过命令提示符从Tomcat JMX获取服务状态

问题描述:

我一直在网上搜索,我发现了一些我最近需要的东西。但有不同的使用它。我想通过命令学习Tomcat服务的状态。通过命令提示符从Tomcat JMX获取服务状态

我相信Tomcat还没有获得状态命令。于是,我看到了这一点:

CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9001 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -XX:+HeapDumpOnOutOfMemoryError -Djava.rmi.server.hostname=192.168.1.250" 
export CATALINA_OPTS; 

他们说,这添加到您的catalina.sh文件的开头并执行它使用JMX与JConsole的。但我是命令提示符,所以我不能使用GUI。我需要它的命令版本。

寻找的东西可以工作,如:

[email protected]:# $TOMCAT_HOME/bin/catalina.sh --connect command=:status' 

,并将结果打印到我...

我能做些什么?

这些-Dcom.sun...参数对于Tomcat/JVM是必需的,因此它允许客户端通过JMX连接到它。如果没有这些,只能连接到正在运行的JVM,如果它位于同一主机上并且在同一用户下运行。顺便说一下,-XX:+HeapDumpOnOutOfMemoryError和下面的位是完全不相关的。运行完毕后,使用jconsole连接到JVM,并首先查看可用的内容。

jconsole是一个GUI工具。如果你想要控制台的JMX客户端,请看herehere

还有其他方法可以监视Tomcat状态。你可以这样做:

你也可以看看在JolokiaJmx4Perl组合附带了相当长的一段工具支持(如强大的j4psh壳或全功能Nagios的插件check_jmx4perl其中包括大约10到20次特定的Tomcat检查。