Sometimes we may need to monitor the runtime performance of the JCA adapters, the monitoring is possible through EM console for limited details, the below WLST script will help us to monitor the required details of the JCA adapter (the scrip should be extended to monitor more details).
The below script can be used for monitoring only the DBAdapter’s and MQAdapter’s; the same can be extended to monitor other JCA Adapters (like FileAdapter) .
Before executing the script change the below condition according to your server name.
if server.getName().strip().startswith('S') | server.getName().strip().startswith('O')
The Adapters are only available in SOA and OSB servers so that I am filtering the other servers based on the name(AdminServer or MS servers) .The exception will be thrown if we are trying to cd the MBean related to Adapters in others servers.
ResourceAdapterMonitor.py
def monitorDBAdapter(serverName):
cd("ServerRuntimes/"+str(serverName)+"/ApplicationRuntimes/DbAdapter/ComponentRuntimes/DbAdapter/ConnectionPools")
connectionPools = ls(returnMap='true')
print '--------------------------------------------------------------------------------------'
print 'DBAdapter Runtime details for '+ serverName
print ' '
print ' '
print '--------------------------------------------------------------------------------------'
print '%10s %13s %15s %18s' % ('Connection Pool', 'State', 'Current', 'Created')
print '%10s %10s %24s %21s' % ('', '', 'Capacity', 'Connections')
print ' '
print '--------------------------------------------------------------------------------------'
for connectionPool in connectionPools:
if connectionPool!='eis/DB/SOADemo':
cd('/')
cd("ServerRuntimes/"+str(serverName)+"/ApplicationRuntimes/DbAdapter/ComponentRuntimes/DbAdapter/ConnectionPools/"+str(connectionPool))
print '%15s %15s %10s %20s' % (cmo.getName(), cmo.getState(), cmo.getCurrentCapacity(), cmo.getConnectionsCreatedTotalCount())
print ' '
print '--------------------------------------------------------------------------------------'
def monitorMQAdapter(serverName):
cd("ServerRuntimes/"+str(serverName)+"/ApplicationRuntimes/MQSeriesAdapter/ComponentRuntimes/MQSeriesAdapter/ConnectionPools")
connectionPoolsMQ = ls(returnMap='true')
print '--------------------------------------------------------------------------------------'
print 'MQAdapter Runtime details for '+ serverName
print ' '
print ' '
print '--------------------------------------------------------------------------------------'
print '%15s %17s %15s %18s' % ('Connection Pool', 'State', 'Current', 'Created')
print '%15s %15s %24s %21s' % ('', '', 'Capacity', 'Connections')
print ' '
print '--------------------------------------------------------------------------------------'
for connectionPoolMQ in connectionPoolsMQ:
cd('/')
cd("ServerRuntimes/"+str(serverName)+"/ApplicationRuntimes/MQSeriesAdapter/ComponentRuntimes/MQSeriesAdapter/ConnectionPools/")
cd(connectionPoolMQ)
print '%15s %20s %10s %20s' % (cmo.getName(), cmo.getState(), cmo.getCurrentCapacity(), cmo.getConnectionsCreatedTotalCount())
print ' '
print '--------------------------------------------------------------------------------------'
def main():
#connect(username, password, admurl)
connect('weblogic','reuters123','t3://:)
servers = cmo.getServers()
domainRuntime()
for server in servers:
cd("/ServerLifeCycleRuntimes/" + server.getName())
if cmo.getState() == 'RUNNING':
if server.getName().strip().startswith('S') | server.getName().strip().startswith('O') :
monitorDBAdapter(server.getName())
for server in servers:
cd('/')
cd("/ServerLifeCycleRuntimes/" + server.getName())
if cmo.getState() == 'RUNNING':
if server.getName().strip().startswith('S') | server.getName().strip().startswith('O') :
monitorMQAdapter(server.getName())
disconnect()
main()
Copy the script to the soa server and execute the below command
> wlst.sh ResourceAdapterMonitor.py
O/P:
--------------------------------------------------------------------------------------
DBAdapter Runtime details for SOA1
--------------------------------------------------------------------------------------
Connection Pool State Current Created
Capacity Connections
--------------------------------------------------------------------------------------
eis/DB/SOA Running 22 1051
eis/DB/Test Running 2 697
eis/DB/Test1 Running 1 130
--------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
MQAdapter Runtime details for SOA1
------------------------------------------------------------------------------------------------------
Connection Pool State Current Created
Capacity Connections
------------------------------------------------------------------------------------------------------
eis/MQ/MQAdapter Running 0 0
eis/MQ/MQSeriesAdapterRemote Running 2 84
-------------------------------------------------------------------------------------------------------