JDK-Jconsole管理工具
一、介紹
??? Jconsole,Java Monitoring and Management Console。
??? java監控和管理控制臺,從java5開始,在JDK中提供。
??? 用于對JVM中內存,線程和類等的監控。
二、本地監控
??? a)在Java項目啟動腳本中加上 -Dcom.sun.management.jmxremote
????? 如:java -Dcom.sun.management.jmxremote -jar imstart.jar
??? b)查詢啟動Java項目的PID window中在"任務管理器"中直接可以查看[首次使用需要在"查看"--"選項列"--"pid"]或者使用命令 tasklist
????? linux ps -ef|grep java
??? c)進入%JDK_HOME%bin/目錄 cmd模式中輸入 jconsole [pid]
三、遠程監控
??? a)匿名遠程監控
????? 匿名遠程監控即無效認證就可以監控。
????? 在Java項目啟動腳本中加上如下選項
???????? -Djava.rmi.server.hostname=192.168.1.*[服務器ip] -Dcom.sun.management.jmxremote.port=8088[jmx端口]
???????? -Dcom.sun.management.jmxremote.ssl=false[不使用SSL] -Dcom.sun.management.jmxremote.authenticate=false[匿名]
????? 打開Jconsole選擇"遠程"輸入IP 端口 連接
??? b)認證遠程監控
????? 在%JRE_HOME%/lib/management/目錄下[簡稱MM目錄]編輯"jmxremote.access"[用戶名]文件
?????? [用戶名]????? [權限]
?????? monitorRole?? readonly [只讀]
?????? controlRole?? readwrite [讀寫]
?????? zxpRole?? readwrite [讀寫]
????? 在MM目錄下找到密碼模板"jmxremote.password.template"復制一份根據自己喜歡的命名如:"jmxremote.password"并編輯該文件
?????? [用戶名]???? [密碼]
?????? monitorRole?? QED
?????? controlRole?? R&D
?????? zxpRole?????? xxx
????? 在MM目錄下編輯"management.properties"文件
?????? 將該文件中的參數"#"去除表示可用并填寫相應的參數值如:
??????? com.sun.management.jmxremote.port=8088
??????? com.sun.management.jmxremote.ssl=false
??????? com.sun.management.jmxremote.authenticate=true[認證]
??????? com.sun.management.jmxremote.password.file=C:/Java/jre1.5.0_15/lib/management/jmxremote.password
??????? com.sun.management.jmxremote.access.file=C:/Java/jre1.5.0_15/lib/management/jmxremote.access
????? 完成以上操作后最后編輯Java項目啟動腳本加上以下參數
?????? java -Dcom.sun.management.config.file=C:/Java/jre1.5.0_15/lib/management/management.properties -Djava.rmi.server.hostname=192.168.1.132 -jar imstart.jar
????? 打開Jconsole選擇"遠程"輸入IP 端口 用戶名 密碼 連接
四、自已測試成功命令
#!/bin/bash
??? Jconsole,Java Monitoring and Management Console。
??? java監控和管理控制臺,從java5開始,在JDK中提供。
??? 用于對JVM中內存,線程和類等的監控。
二、本地監控
??? a)在Java項目啟動腳本中加上 -Dcom.sun.management.jmxremote
????? 如:java -Dcom.sun.management.jmxremote -jar imstart.jar
??? b)查詢啟動Java項目的PID window中在"任務管理器"中直接可以查看[首次使用需要在"查看"--"選項列"--"pid"]或者使用命令 tasklist
????? linux ps -ef|grep java
??? c)進入%JDK_HOME%bin/目錄 cmd模式中輸入 jconsole [pid]
三、遠程監控
??? a)匿名遠程監控
????? 匿名遠程監控即無效認證就可以監控。
????? 在Java項目啟動腳本中加上如下選項
???????? -Djava.rmi.server.hostname=192.168.1.*[服務器ip] -Dcom.sun.management.jmxremote.port=8088[jmx端口]
???????? -Dcom.sun.management.jmxremote.ssl=false[不使用SSL] -Dcom.sun.management.jmxremote.authenticate=false[匿名]
????? 打開Jconsole選擇"遠程"輸入IP 端口 連接
??? b)認證遠程監控
????? 在%JRE_HOME%/lib/management/目錄下[簡稱MM目錄]編輯"jmxremote.access"[用戶名]文件
?????? [用戶名]????? [權限]
?????? monitorRole?? readonly [只讀]
?????? controlRole?? readwrite [讀寫]
?????? zxpRole?? readwrite [讀寫]
????? 在MM目錄下找到密碼模板"jmxremote.password.template"復制一份根據自己喜歡的命名如:"jmxremote.password"并編輯該文件
?????? [用戶名]???? [密碼]
?????? monitorRole?? QED
?????? controlRole?? R&D
?????? zxpRole?????? xxx
????? 在MM目錄下編輯"management.properties"文件
?????? 將該文件中的參數"#"去除表示可用并填寫相應的參數值如:
??????? com.sun.management.jmxremote.port=8088
??????? com.sun.management.jmxremote.ssl=false
??????? com.sun.management.jmxremote.authenticate=true[認證]
??????? com.sun.management.jmxremote.password.file=C:/Java/jre1.5.0_15/lib/management/jmxremote.password
??????? com.sun.management.jmxremote.access.file=C:/Java/jre1.5.0_15/lib/management/jmxremote.access
????? 完成以上操作后最后編輯Java項目啟動腳本加上以下參數
?????? java -Dcom.sun.management.config.file=C:/Java/jre1.5.0_15/lib/management/management.properties -Djava.rmi.server.hostname=192.168.1.132 -jar imstart.jar
????? 打開Jconsole選擇"遠程"輸入IP 端口 用戶名 密碼 連接
四、自已測試成功命令
#!/bin/bash
CLASSPATH=../MTOServer:./lib/newcomapi.jar:./lib/build-1.02.jar:./lib/configapi.jar:./lib/log4j-1.2.8.jar:./lib/logapi.jar
java -Xmx1024m -Djava.rmi.server.hostname=192.168.0.244 -Dcom.sun.management.jmxremote.port=7777 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -cp "$CLASSPATH" com.xuanwu.smap.cmppmtoserver.YDMtoServer > /home/esms/gateway/startScript/MTOServer/console.log & echo $! > /home/esms/gateway/startScript/MTOServer/ps.pid &
echo "MTOServer is runing"