在Lunix下配置使用Jmx监控apache-tomcat性能
首先我想说,在tomcat上配置JMX真是一波三折,痛苦啊,根据了官方的文档,还有各种大大的文章,我这个小白配置以后仍然无法使用链接。
百思不得其解,后来在多次谷歌后看了许多文章后才发现我这里的关键问题,hostname! 现在我将整个过程记录下来,
首先上官方的方法:http://tomcat.apache.org/tomcat-7.0-doc/config/listeners.html
以下是我的添加方法:
1.首先修改tomcat/bin目录下的 catalnna.sh,
找到
# ----- Execute The Requested Command -----------------------------------------
在其前面添加如下内容:
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.password.file=/root/apache-tomcat-7.0.47/conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=/root/apache-tomcat-7.0.47/conf/jmxremote.access -Dcom.sun.management.jmxremote.ssl=false"
注意修改其中的文件路径要指向正确的目录
2.cd至tomcat/conf目下,修改jmxremote.access、jmxremote.password文件,如果没有新建一下
在jmxremote.access文件内容末尾添加:
admin readwrite
在jmxremote.password文件内容末尾添加:
monitorRole QED
controlRole R&D
admin 111111
说明:admin为账号可以自己设置 readwrite为此账号的权限 111111为登陆密码
另外需要注意文件的授权,我用的时候是400
3.同样在conf目录下,修改server.xml文件
增加以下内容:
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="10001" rmiServerPortPlatform="10002" />
4.下载对应的jar包放置于tomcat/lib目录下
下载地址http://www.apache.org/dist/tomcat/ 找到需要的版本,一般均在对应版本的bin/extras/目录下
5.关键的来了,这个问题一直困扰我很久,因为这样的配置方法没有设置hostname所以不修改hosts文件与主机名就一直无法链接成功
可以先尝试修改hosts文件,在文件内容中增加:
XXX.xxx.xxx.xxx(本机的外网地址,就是访问这台机器的IP地址) 主机名
然后尝试使用java安装目录bin文件夹下的jconsole.exe尝试建立链接,如果行你就成功了,如果不行那么在执行下一步。
6.修改etc/sysconfig/network中的hostname后面的值,默认的值应该是localhost,修改为你需要的值
比如我是HOSTNAME=test11
然后保存,在根据第五步修改hosts内容,将外网地址与新该的主机名对应起来。
最后注意!!需要重启机器以后才能生效!
7.如果还是不行,请检查下防火墙吧。