您的位置:首页 > 运维架构 > Tomcat

jconsole监控远程linux tomcat运行情况的配置 (转)

2016-01-12 17:00 489 查看
步骤如下:

1.编辑tomcat/bin/catalina.sh

Bash代码

vi catalina.sh

在其中“

# ----- Execute The Requested Command -----------------------------------------”

之前插入新的一行(中间没有换行),内容如下:

Vi catalina.sh代码

CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=jdzz10.ucjoy.com -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxrem

ote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true"

插入后,应该如图:

JAVA_OPTS="$JAVA_OPTS "-agentlib:jprofilerti=port=8849
JAVA_OPTS="$JAVA_OPTS "-Xbootclasspath/a:/opt/jprofiler5/bin/agent.jar

下面是我采用过的一个完整的配置

if [ -r "$CATALINA_HOME"/bin/tomcat-juli.jar ]; then
JAVA_OPTS="$JAVA_OPTS "-Xms128m
JAVA_OPTS="$JAVA_OPTS "-Xmx256m
JAVA_OPTS="$JAVA_OPTS "-XX:PermSize=32m
JAVA_OPTS="$JAVA_OPTS "-XX:MaxNewSize=128m
JAVA_OPTS="$JAVA_OPTS "-XX:MaxPermSize=64m
JAVA_OPTS="$JAVA_OPTS "-Dcom.sun.management.jmxremote
JAVA_OPTS="$JAVA_OPTS "-Dcom.sun.management.jmxremote.port=9009
JAVA_OPTS="$JAVA_OPTS "-Dcom.sun.management.jmxremote.authenticate=false
JAVA_OPTS="$JAVA_OPTS "-Dcom.sun.management.jmxremote.ssl=false
JAVA_OPTS="$JAVA_OPTS "-agentlib:jprofilerti=port=8849
JAVA_OPTS="$JAVA_OPTS "-Xbootclasspath/a:/opt/jprofiler5/bin/agent.jar
JAVA_OPTS="$JAVA_OPTS "-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" "-Djava.util.logging.config.file="$CATALINA_BASE/conf/logging.properties"
fi

当时遇到的问题是jconsole无法连接上远程Linux上的JVM,Google看到Sun官方bugdatabase有人讲是bug,就没再理。今天再次Google,在java.sun.com/j2se/1.5.0/docs/guide/management/faq.html#linux2看到

Run "hostname -i" command. If it reports 127.0.0.1, JConsole would not be able to connect to the JVM running on that Linux machine. To fix this issue, edit /etc/hosts so that the hostname resolves to the host address.

马上修改/etc/hosts,连接成功了。对于上面提到“在一个jsp中进行while (true);死循环”的测试,一个个线程查看,发现有一个Thread在_jspService方法上始终处于Runnable状态。看来Programmer还是得用Google

【Linux查看tomcat版本】

【Linux查看tomcat版本】

一、不同的tomcat查看版本可能不同,例如有的直接执行./version.sh就可以,其他就没有;一般来说,在tomcat启动时就会有版本信息,如:

信息: Initializing Coyote HTTP/1.1 on http-8023
2009-5-6 16:38:09 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1673 ms
2009-5-6 16:38:10 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2009-5-6 16:38:10 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.16

另外还可以在以下文件中找到,但据tomcat版本不一样,文件位置稍有差异:

Tomcat5:tomcat_home\server\lib\catalina.jar org\apache\catalina\util\ServerInfo.properties

Tomcat6:tomcat_home \lib\catalina.jar org\apache\catalina\util\ServerInfo.properties (这里的两个jar包可以下载下来用rar打开然后再查看。)

# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

server.info=Apache Tomcat/6.0.16
server.number=6.0.16.0
server.built=Jan 28 2008 11:35:29
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: