WLSDM: Native WebLogic FWM Performance Monitoring and Diagnostics

Writing and deploying a WLST script for a WebLogic domain is about one hour,
installation of WLSDM is one minute...

No need to write WLST scripts anymore. Use WLSDM instead!

  1. Writing and deploying a WLST script for a WebLogic domain is about one hour, installation of WLSDM is one minute. WLSDM is a "Plug & Play" solution. After WLSDM installation all your current WLST scripts are ready to use and start monitoring your WebLogic domain resources and increase your WebLogic domain performance immediately.
  2. While monitoring WebLogic domains mostly administrators prefer to use WLST (WebLogic Scripting Tool) scripts but there are more efficient and robust way available to monitor WebLogic domain resources like health status and states of servers (JVMs), deployments, data sources and JMS resources etc.
  3. WLST scripts are volatile and it is really difficult to transfer know-how from one team member to another. Setup a real and pro solution at your company and increase the operational excellence quality real fast.

Comparison of WLST and WLSDM

Monitoring WebLogic Health (Servers, Deployments, Data Sources and JMS Servers)
WLST
WLSDM
Monitoring WebLogic States (Servers, Deployments, Data Sources and JMS Servers)
WLST
WLSDM
Monitoring WebLogic JVM Resources
WLST
WLSDM
Monitoring Machine (Server or VM) Resources
WLST
WLSDM
Script Automation
WLST
WLSDM
Script Visual Cron Expression
WLST
WLSDM
HTML Email Support
WLST
WLSDM
If/Else Output Action
WLST
WLSDM
Dynamic Threshold
WLST
WLSDM
SQL Support and Integration
WLST
WLSDM
Shell Support and Integration
WLST
WLSDM
Generic JMX DevOps MBean
WLST
WLSDM
CLEAR Notifications
WLST
WLSDM
WLST Web Console
WLST
WLSDM
Historical MBean Values and Reports
WLST
WLSDM
Visual Charts and Dashboards
WLST
WLSDM
Script Know-How Transfer and Documentation (Team Alignment)
WLST
WLSDM
Professional Support
WLST
WLSDM

Writing and Deploying WLST Scripts vs. WLSDM: Frequently Asked Questions

You are able to write WLST script to monitor WebLogic server (JVM) "health status" for WebLogic server (JVM), data source, deployment and JMS resources.

Use WLSDM instead. Because you are going to have additional features.

  • Monitoring WebLogic servers (JVM), deployments, data sources and JMS servers "HEALTH STATUS" available by default on WLSDM
  • CLEAR notifications are available on WLSDM for health statuses. When a server health status backs to normal WLSDM sends CLEAR notifications that problems are resolved
  • Downtime feature is available. Configure downtime and auto stop ALERT notifications
  • Available WebLogic Health Status and States to be monitored by WLSDM continuously:
    "Shutdown", "Failed", "Critical", "Overloaded", "Warning", "OK"

White Paper: Native WebLogic FWM Performance Monitoring and Diagnostics

You are able to write WLST script to monitor WebLogic server (JVM) "states" for WebLogic server (JVM), data source, deployment and JMS resources.

Use WLSDM instead. Because you are going to have additional features.

  • Monitoring WebLogic servers (JVM), deployments, data sources and JMS servers "STATES" available by default on WLSDM
  • CLEAR notifications are available on WLSDM for states. When a server state backs to normal WLSDM sends CLEAR notifications that problems are resolved
  • Downtime feature is available. Configure downtime and auto stop ALERT notifications for the states
  • Available WebLogic Server, Deployment, Data Source and JMS STATES to be monitored by WLSDM continuously;
  • WLSDM monitors "Oracle WebLogic Server States", "Oracle WebLogic Deployment Sates", "Oracle WebLogic Data Source States", "Oracle WebLogic JMS Server States":

    "SHUTDOWN", "STARTING", "RUNNING", "STANDBY", "SUSPENDING", "FORCE_SUSPENDING", "RESUMING", "SHUTTING_DOWN", "FAILED", "UNKNOWN", "SHUTDOWN_PENDING", "SHUTDOWN_IN_PROCESS", "FAILED_RESTARTING", "ACTIVATE_LATER", "FAILED_NOT_RESTARTABLE", "FAILED_MIGRATABLE", "DISCOVERED", "ADMIN", "FORCE_SHUTTING_DOWN", "INITIALIZING", "STATE_UPDATE_PENDING", "NEW" "INSTALLED", "ACTIVE"

White Paper: Native and Central WebLogic FMW Performance Monitoring

WLST Example Codes


# Node Manager needs to be running to run this script.

import thread
import time

def checkHealth(serverName):
  while 1:
    slBean = getSLCRT(serverName)
    status = slBean.getState()
    print 'Status of Managed Server is '+status
    if status != "RUNNING":
      print 'Starting server '+serverName
      start(serverName, block="true")
    time.sleep(5) 

def getSLCRT(svrName):
    domainRuntime()
    slrBean = cmo.lookupServerLifecycleRuntime(svrName)
    return slrBean

checkHealth("myserver")


                                        

Reference: https://docs.oracle.com/middleware/1221/wls/WLSTG/monitoring.htm#WLSTG231

Health Monitoring and Health Dashboard

Q: How to monitor Oracle WebLogic Server health and states?
A: WLSDM has health dasboard and you are able to monitor every detail about WebLogic health details:

  • WebLogic Server Health
  • WebLogic Server States
  • Health/State ALERT and CLEAR emails
  • Data Source Health/State
  • Deployments Health/State
  • JMS Server Health/States

Reference: https://www.wlsdm.com/docs/document-index


waitTime=180000
THRESHOLD=300000000
uname = "adminusername"
pwd = "adminpassword"
url = "t3://localhost:7001"
def monitorJVMHeapSize():
    connect(uname, pwd, url)
    while 1:
        serverNames = getRunningServerNames()
        domainRuntime()
        for name in serverNames:
            print 'Now checking '+name.getName()
            try:
              cd("/ServerRuntimes/"+name.getName()+"/JVMRuntime/"+name.getName())
              heapSize = cmo.getHeapSizeCurrent()
              if heapSize > THRESHOLD:
              # do whatever is neccessary, send alerts, send email etc
                print 'WARNING: The HEAPSIZE is Greater than the Threshold'
              else:
                print heapSize
            except WLSTException,e:
              # this typically means the server is not active, just ignore
              # pass
                print "Ignoring exception " + e.getMessage()
            java.lang.Thread.sleep(waitTime)
 
def getRunningServerNames():
        # only returns the currently running servers in the domain
        return domainRuntimeService.getServerRuntimes()
 
if __name__== "main":
    monitorJVMHeapSize()
                                        

                                        

Reference: https://docs.oracle.com/middleware/1221/wls/WLSTG/monitoring.htm#WLSTG232

WLSDM JVM System Resources Dashboard Tutorial

Q: How to monitor WebLogic Managed Server, Admin Server JVM instances?
A:Go to "Smart Dashboards > JVM System Resource" page. You can monitor below WebLogic metrics easily on WLSDM.

  • Server/JVM CPU Load
  • Heap Usage
  • Heap Size
  • Heap Free Size
  • Garbage Collection Durations

Reference: https://www.wlsdm.com/docs/document-index


#############################################################################
#
# @author Copyright (c) 2010 - 2011 by Middleware Magic, All Rights Reserved.
#
#############################################################################

connect('weblogic','welcome1','t3://localhost:7001')

allServers=domainRuntimeService.getServerRuntimes();

if (len(allServers) > 0):

  for tempServer in allServers:

    jdbcServiceRT = tempServer.getJDBCServiceRuntime();

    dataSources = jdbcServiceRT.getJDBCDataSourceRuntimeMBeans();

    if (len(dataSources) > 0):

		for dataSource in dataSources:

			print 'ActiveConnectionsAverageCount      '  ,  dataSource.getActiveConnectionsAverageCount()
			print 'ActiveConnectionsCurrentCount      '  ,  dataSource.getActiveConnectionsCurrentCount()
			print 'ActiveConnectionsHighCount         '  ,  dataSource.getActiveConnectionsHighCount()
			print 'ConnectionDelayTime                '  ,  dataSource.getConnectionDelayTime()
			print 'ConnectionsTotalCount              '  ,  dataSource.getConnectionsTotalCount()
			print 'CurrCapacity                       '  ,  dataSource.getCurrCapacity()
			print 'CurrCapacityHighCount              '  ,  dataSource.getCurrCapacityHighCount()
			print 'DeploymentState                    '  ,  dataSource.getDeploymentState()
			print 'FailedReserveRequestCount          '  ,  dataSource.getFailedReserveRequestCount()
			print 'FailuresToReconnectCount           '  ,  dataSource.getFailuresToReconnectCount()
			print 'HighestNumAvailable                '  ,  dataSource.getHighestNumAvailable()
			print 'HighestNumUnavailable              '  ,  dataSource.getHighestNumUnavailable()
			print 'LeakedConnectionCount              '  ,  dataSource.getLeakedConnectionCount()
			print 'ModuleId                           '  ,  dataSource.getModuleId()
			print 'Name                               '  ,  dataSource.getName()
			print 'NumAvailable                       '  ,  dataSource.getNumAvailable()
			print 'NumUnavailable                     '  ,  dataSource.getNumUnavailable()
			print 'Parent                             '  ,  dataSource.getParent()
			print 'PrepStmtCacheAccessCount           '  ,  dataSource.getPrepStmtCacheAccessCount()
			print 'PrepStmtCacheAddCount              '  ,  dataSource.getPrepStmtCacheAddCount()
			print 'PrepStmtCacheCurrentSize           '  ,  dataSource.getPrepStmtCacheCurrentSize()
			print 'PrepStmtCacheDeleteCount           '  ,  dataSource.getPrepStmtCacheDeleteCount()
			print 'PrepStmtCacheHitCount              '  ,  dataSource.getPrepStmtCacheHitCount()
			print 'PrepStmtCacheMissCount             '  ,  dataSource.getPrepStmtCacheMissCount()
			print 'Properties                         '  ,  dataSource.getProperties()
			print 'ReserveRequestCount                '  ,  dataSource.getReserveRequestCount()
			print 'State                              '  ,  dataSource.getState()
			print 'Type                               '  ,  dataSource.getType()
			print 'VersionJDBCDriver                  '  ,  dataSource.getVersionJDBCDriver()
			print 'WaitingForConnectionCurrentCount   '  ,  dataSource.getWaitingForConnectionCurrentCount()
			print 'WaitingForConnectionFailureTotal   '  ,  dataSource.getWaitingForConnectionFailureTotal()
			print 'WaitingForConnectionHighCount      '  ,  dataSource.getWaitingForConnectionHighCount()
			print 'WaitingForConnectionSuccessTotal   '  ,  dataSource.getWaitingForConnectionSuccessTotal()
			print 'WaitingForConnectionTotal          '  ,  dataSource.getWaitingForConnectionTotal()
			print 'WaitSecondsHighCount               '  ,  dataSource.getWaitSecondsHighCount()                                            
                                       
                                        
                                        

Reference: http://middlewaremagic.com/weblogic/?page_id=8252

WLSDM Dashboard Usage Tutorial

Q: How to monitor WebLogic Managed Server(s), Data Sources, Deployments, JMS Servers?
A: WLSDM has below inbox smart dashboards with ALERT/CLEAR alarm setups:

  • WebLogic Managed Server(s)
  • Data Sources
  • Deployments
  • JMS Server(s)
  • Garbage Collection

Reference: https://www.wlsdm.com/docs/document-index


connect('weblogic','weblogic','t3://localhost:7001')
cd ('AppDeployments')
myapps=cmo.getAppDeployments()
 
for appName in myapps:
       domainConfig()
       cd ('/AppDeployments/'+appName.getName()+'/Targets')
       mytargets = ls(returnMap='true')
       domainRuntime()
       cd('AppRuntimeStateRuntime')
       cd('AppRuntimeStateRuntime')
       for targetinst in mytargets:
             curstate4=cmo.getCurrentState(appName.getName(),targetinst)
             print '-----------', curstate4, '-----------', appName.getName()


                                        

Reference: http://middlewaremagic.com/weblogic/?page_id=8252

Health Monitoring and Health Dashboard

Q: How to monitor Oracle WebLogic Server health and states?
A: WLSDM has health dasboard and you are able to monitor every detail about WebLogic health details:

  • WebLogic Server Health
  • WebLogic Server States
  • Health/State ALERT and CLEAR emails
  • Data Source Health/State
  • Deployments Health/State
  • JMS Server Health/States

Reference: https://www.wlsdm.com/docs/document-index


print '#############################################################################'
print '#'
print '# @author wlsdm.com, All Rights Reserved.'
print '#'
print '#############################################################################'

connect('weblogic', 'welcome1', 't3://localhost:7001')

domainRuntime()

cd('ServerRuntimes')

serverRuntimes=ls(returnMap='true')
 
for serverRuntime in serverRuntimes:
	cd('/ServerRuntimes/' + serverRuntime)
	print '****************************************'
	print 'Server Name: ' + cmo.getName()
	print 'OpenSocketsCurrentCount: ' + String.valueOf(cmo.getOpenSocketsCurrentCount())
	print 'SocketsOpenedTotalCount: ' + String.valueOf(cmo.getSocketsOpenedTotalCount())


                                        

Reference: https://www.wlsdm.com

WLSDM Dashboard Usage Tutorial

Q: How to monitor WebLogic Managed Server(s), Data Sources, Deployments, JMS Servers?
A: WLSDM has below inbox smart dashboards with ALERT/CLEAR alarm setups:

  • WebLogic Managed Server(s)
  • Data Sources
  • Deployments
  • JMS Server(s)
  • Garbage Collection

Reference: https://www.wlsdm.com/docs/document-index

Try it for FREE!

Download Latest WLSDM for WebLogic 11g and 12c

DOWNLOAD WLSDM NOW  WLSDM is totally FREE*
  • Latest Version: v3.4.2
  • Quick Installation Guide: Available in ZIP package as README.html
  • Online Documentation: Available in ZIP package as WLSDM-HELP.html

Try it for FREE!

Download Latest WL-OPC for WLSDM

  • Latest Version: v1.1.0
  • Quick Installation Guide: Available in ZIP package as README
  • Online Documentation: Available in ZIP package as WL-OPC-HELP.html
Cares every notification WLSDM sent...
Delivers operational excellence via WLSDM...

WebLogic Community References

  • The product support is excellent and unmatched...

    We have been able to increase our server uptime and stability by efficiently troubleshooting the issue root causes using WLSDM's diagnostic and monitoring features. Rather than reacting to platform based issues our team has become more proactive in detecting them early and fixing them before our customers can. The product support is excellent and unmatched.

    Soumya Prakash Mishra,
    Sr Oracle Fusion Middleware Admin & Technical Service Manager – Data Services & Integration Team,
    Emerson Electric Co
  • WLSDM is really a cool Monitoring Dashboard…

    WLSDM is really a cool Monitoring Dashboard, which is worth to have a look... Under the Section Operational Tools & Utils you can find various helpful stuff like Log File Viewer, Thread Dump Analyzer, MBean Search, Decrypt -Encrypt and so on. My personal favourite is the WLST Web Console, here you can execute directly from your web browser WLST commands or execute WLST Python Scripts.

    Dirk Nachbar (Oracle ACE) Trivadis AG, Switzerland
  • I personally recommend to use WLSDM…

    • Easy installation and configuration of thresholds and alerts for the essential metrics
    • File system historical data store, not available otherwise without products like EM Grid/Cloud Control
    • Integrated with the WebLogic administration console, modern and responsive interface

    Radu Dobrinescu (Fusion Middleware Specialist) Eurofighter Jagdflugzeug GmbH, Germany
  • Installation is easy…

    Installation is easy. It's nice that WLSDM does not have license for Developer servers. Install it on a DEV server to try other features, too. Comparing to WebLogic monitoring dashboard, WLSDM UI looks better! Decryption of data source passwords is nice.

    Christos Vezalis (Oracle Certified SOA, WebLogic and ADF Implementation Specialist) Nodalpoint Systems, Greece
  • I did the WLSDM installation in less than 5 minutes...

    I did the WLSDM installation in less than 5 minutes in my Oracle BPM domain parallel watching a movie on Netflix. That simple it is.

    Govindan Padmanaban, General Motors
  • Nice tool...

    Nice tool. Making WebLogic administration easier for none experienced users and offering additional services.

    Nasreddine Selmi, Coface
  • I learn new things on WLSDM tool for WebLogic...

    I learn new things on WLSDM tool for WebLogic. It is great news that WLSDM comes with Oracle SOA Support.

    Nagendra Reddy

6000+ Downloads... Monitors more than 2000+ WebLogic domains.
Take advantage of WLSDM and increase your service quality now!


Your WLSDM experience = Zero Downtime and Continuous Best Performance
Increase your WebLogic and FMW domain performance then deliver L1/L2 operational excellence.
…ISVs, Fortune 500 companies uses WLSDM.

Best, easiest and strongest way to create a success story in your company.
Read Emerson Electric Co. success story here!

Follow Us and Get Updates!