經驗證OK
jconsole是jdk自帶的工具。所以要先安裝jdk
1.jconsole工具的路徑:
通過which jconsole來查看
/usr/local/jdk1.7.0_79/bin/jconsole
2.使用方式:
在linux監控端的圖形界面執行:
/usr/local/jdk1.7.0_79/bin/jconsole 將出現圖形化java監控和管理控制台。


3.執行后出現JConsole新建連接,有兩個選擇:
1.本地進程(可以監控本機的java)
——》org.apache.catalina.startup.Bootstartup start
2.遠程進程(用於監控其他主機的java)
——》填寫需要被監控的主機名:監控端口,輸入監控專用的用戶名/密碼(可選)
步驟1:需在被監控的主機上修改catalina.sh配置文件:
vi /opt/tomcat/conf/catalina.sh
如不需密碼驗證,則在第二行開始添加下面3行:
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=
12345"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=
false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=
false"
保存退出
//“12345”為監控端口號

如需密碼驗證,則改為下面4行:
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=
12345"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=
true"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=
false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.pwd.file=
/usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password"
保存退出

步驟2:將/usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password.template復制一份:
cp /usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password.template \
/usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password
步驟3:添加用於遠程監控的用戶名和密碼:
vi
jmxremote.password
//用於添加用戶名和密碼
monitorRole 12345678
//用戶名:monitorRole,這個名字系統是預先設置好的
admin 123456
//自定義了用戶名:admin
root 123456
//自定義了用戶名:root
強制保存退出
vi
jmxremote.access
//自定義監控的用戶名具有哪些權限
添加:
admin readonly
//定義只讀帳號,名字任意
root readwrite \
//定義讀寫帳號,名字任意
create javax.management.monitor.*,javax.management.timer.* \
保存退出

chmod 600
jmxremote.password
chown uucp:uucp jmxremote.password
//先用ls -l /usr/local/jdk1.7.0_79看看是屬於哪個用戶和組,再設置成相同的。

注:如果JConsole不能訪問本機的程序的話,添加如下內容:
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote"
好了,可以連接了:
輸入要被監控的主機名cen01,端口:12345,



