- Given weblogic domain containing admin and manage servers.
- We would like to get JVM parameters of remote Admin or manager server.
- We will get remote attributes of JVM like:
- Java version of remote server.
- Max heap storage.
- Free heap space in percentage.
- JVM uptime.
- We will get remote attributes of JVM like:
- We would perform following steps to get JVM diagnostic parameters (WLST).
- Connect to admin server using t3 protocol.
- Get list of all servers active servers in current domain.
- Fetch JVM attributes of remote servers using JVMRuntimeMBean.
- Disconnect from admin server
Script: Get jvm heap params of remote server in weblogic (WLST/python)
def printJVMParametersOfRemoteServer(): servers = runningServers() for server in servers: cd( "/ServerRuntimes/" +server+ "/JVMRuntime/" +server) #Get JVM Version java_version = get( 'JavaVersion' ) #Max Heap max_heap = int (get( 'HeapSizeMax' ))/( 1024 * 1024 ) #Available heap store freeHeapPercent = int (get( 'HeapFreePercent' )) #JVM Uptime jvm_uptime = get( 'Uptime' ) print 'JVM parameters of %s server is :' % server print '\t\t\tJava Version: %s' % java_version print '\t\t\tMax Heap: %d MB' % max_heap print '\t\t\tAvailable Heap: %d percent' % freeHeapPercent print '\t\t\tJVM Uptime: %d seconds' % (jvm_uptime / 1000 ) def runningServers(): #Get list of servers in current domain servers = cmo.getServers() domainRuntime() activeServers = [] print "Getting list of active servers in current domain" print '' for server in servers: cd( "/ServerLifeCycleRuntimes/" + server.getName()) state = cmo.getState() if state == "RUNNING" : activeServers.append(server.getName()) return activeServers connect( "weblogic" , "welcome" , "myAdminServer:7001" ) printJVMParametersOfRemoteServer() print '' disconnect() |
Output – JVM heap attributes of remote server in weblogic (WLST/python)
c:\fmw_12. 2.1 . 3.0 \wls12213\oracle_common\common\bin>wlst.cmd d:\code\jvmHeapStatusServers.py Initializing WebLogic Scripting Tool (WLST) ... Welcome to WebLogic Server Administration Scripting Shell Type help() for help on available commands Connecting to t3: //myAdminServer:7001 with userid weblogic ... Successfully connected to Admin Server "AdminServer" that belongs to domain "osb_domain" . Warning: An insecure protocol was used to connect to the server. To ensure on-the-wire security, the SSL port or Admin port should be used instead. Location changed to domainRuntime tree. This is a read-only tree with DomainMBean as the root MBean. For more help, use help( 'domainRuntime' ) Getting list of active servers in current domain JVM parameters of AdminServer server is : Java Version: 1.8 .0_74 Max Heap: 3048 MB Available Heap: 9 percent JVM Uptime: 2066 seconds JVM parameters of prod_server1 server is : Java Version: 1.8 .0_74 Max Heap: 4075 MB Available Heap: 71 percent JVM Uptime: 2564 seconds JVM parameters of prod_server3 server is : Java Version: 1.8 .0_74 Max Heap: 6075 MB Available Heap: 81 percent JVM Uptime: 7686 seconds Disconnected from weblogic server: AdminServer |