การใช้งาน jconsole เพื่อ connect ไปยัง WebLogic JVM
Problem
jconsole สามารถใช้เป็นเครื่องมือในการ monitor jvm behavior ได้ในระดับหนึ่ง โดยแนวทางที่จะเสนอนี้เป็นการแก้ปัญหาการใช้ jconsole เพื่อไป monitor jmx component บน remote WebLogic Server (version 10.3.x) ซึ่งถึงแม้จะระบุ parameter เพื่อเปิด jconsole ขึ้นมา ก็ยังได้ error no permission
## Command to start jconsole for WebLogic Server
prompt>jconsole -J-Djava.class.path=%JAVA_HOME%/lib/jconsole.jar;%JAVA_HOME%/lib/tools.jar;C:/bea_103/wlserver_10.3/ server/lib/wljmxclient.jar -J-Djmx.remote.protocol.provider.pkgs=weblogic.management.remote -debug
## Error message
Caused by: javax.naming.NamingException: Unhandled exception in lookup [Root exception is org.omg.CORBA.NO_PERMISSION: vmcid: 0x0 minor code: 0 completed: No] at weblogic.corba.j2ee.naming.Utils.wrapNamingException(Utils.java:83) at weblogic.corba.j2ee.naming.ContextImpl.lookup(ContextImpl.java:232) at weblogic.corba.j2ee.naming.ContextImpl.lookup(ContextImpl.java:168) at javax.naming.InitialContext.lookup(InitialContext.java:392) at weblogic.management.remote.common.ClientProviderBase.makeConnection(ClientProviderBase.java:144) ... 6 more
จากที่ลองหาข้อมูล พบว่าเป็นเรื่องของการ mapping credential info ตอนที่ jconsole จะไป browse jndi tree เพื่อเข้าถึง jmx
Assumption
ปัญหาเกิดจากการใช้งาน WebLogic Server 10.3.0
Troubleshooting
- download ตาม link t3jconsole.jar
- สร้าง WebLogic full client jar ตาม command ด้านล่างก็จะได้ file ที่ชื่อว่า wlfullclient.jar
- เปิดใช้งาน jmx agent โดยสามารถ download file ที่เกี่ยวข้อง ตาม link jmx.zip -Dcom.sun.management.config.file=%SOME_PATH%/jmx/management.properties
- เปิด jconsole ด้วย command ตามด้านล่างprompt>jconsole -J-Djava.class.path=C:/bea_103/wlserver_10.3/server/lib/t3jconsole.jar;%JAVA_HOME%/lib/
jconsole.jar;%JAVA_HOME%/lib/tools.jar;C:/bea_103/wlserver_10.3/server/lib/wlfullclient.jar -J-Djmx.remote.protocol.provider.pkgs=fr.xebia.jmx.remote -debug - ใส่ input parameter เพื่อต่อไปยัง remote WebLogicRemote url=service:jmx:t3://[host]:[port]/jndi/
weblogic.management.mbeanservers.runtime Username=usernamePassword=password
| ใส่ข้อมูล remote JVM |
| ตัวอย่างหน้าการใช้งาน (ไม่ได้เปิดจาก remote JVM แต่เหมือนกัน) |
No comments:
Post a Comment