- 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 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