1. 程式人生 > >jconsole遠端監控Linux tomcat和weblogic

jconsole遠端監控Linux tomcat和weblogic

最近對程式進行了優化,準備拿到 Linux的虛擬機器上做一下壓力測試,碰到了一些問題,所以想看看程式的狀況,想到了Jconsole。Linux上不方便看啊,所以只能遠端。以前配置過,但感覺並不是對所有都適用。這裡結合別人的整理一下。


環境:Linux  WebLogic12c
1、修改WLS配置檔案

windows修改  E:\bea\user_projects\domains\base_domainJMX\bin\setDomainEnv.cmd
新增

set MEM_ARGS=-Xms512m -Xmx768m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port="9004" -Dcom.sun.management.jmxremote.authenticate="false" -Dcom.sun.management.jmxremote.ssl="false" -Djava.rmi.server.hostname=172.16.41.67

Linux修改 $Domain_HOME/bin/setDomainEnv.sh,

為$JAVA_OPTIONS新增

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9004 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=遠端機的ip

這裡注意要寫在JAVA_OPTIONS="  " 的雙引號內啊。這裡我們把遠端埠定義成9004,可以自定義,不衝突就好。-Djava.rmi.server.hostname不能少,我就是少了這一句,折騰了半天。

2、解決jconsole遠端登入使用者名稱密碼問題
$JAVA_HOME\jre\lib\management目錄有個jmxremote.password.template,在最下面兩行就可以看到,把前面的#號去掉就生效了
 monitorRole  weblogic(使用者名稱 密碼,可以隨意修改)
 controlRole  weblogic(使用者名稱 密碼,可以隨意修改)

這裡注意,第一步配置了authenticate=false,也就是不用許可權的。所以這一步不做也行。

3、編輯host檔案
vi /etc/hosts
新增
jconsole要訪問的ip地址    localhost localhost.localdomain localhost

使用hostname -i檢視,返回的應該是jconsole要訪問的ip地址,也就是weblogic機器的真實IP地址

4、啟動./$Domain_HOME/bin/startweblogic.sh

第一步配置正確的話,控制檯會列印


5、檢視9004埠是否啟動netstat -an | grep 9004。也可以在主機 telnet 遠端機ip 埠

6、在本地jdk/bin目錄下啟動JCONSOLE程式,在視窗中選擇“遠端”選項卡,輸入IP地址埠號:jconsole  ip:9004,使用者名稱/密碼:monitorRole/weblogic(第一步沒配置許可權的則不用輸入使用者名稱密碼)