A quick tutorial for middleware products

Friday, April 10, 2015

On April 10, 2015 by Kamlesh   1 comment
WLST Script for Monitoring the JMS status of Weblogic Domain

After long time writing something about WLST
WLST has some good features like we can monitor the weblogic domain, monitor JMS Cluster, Datasource target and untarget etc.
In this post I am explaining about how to monitor JMS Cluster like message count, pending message etc. by WLST script.

Step by step explaining how to prepare the JMSmonitor.py file and how to run it.

1)  Prepare the JMSmonitor.py file and save it in somewhere in your machine.


#############################################################################
# @author Middlewaregeek.blogspot.in
#############################################################################

from java.io import FileInputStream
import java.lang
import os
import string

username = 'weblogic'

password = 'weblogic'

url='t3://localhost:7001'

connect(username,password,url)

servers = domainRuntimeService.getServerRuntimes();

if (len(servers) > 0):

    for server in servers:

        jmsRuntime = server.getJMSRuntime();

        jmsServers = jmsRuntime.getJMSServers();

        for jmsServer in jmsServers:

            destinations = jmsServer.getDestinations();

            for destination in destinations:

                print '  BytesCurrentCount           ' ,  destination.getBytesCurrentCount()

                print '  BytesHighCount              ' ,  destination.getBytesHighCount()

                print '  BytesPendingCount           ' ,  destination.getBytesPendingCount()

                print '  BytesReceivedCount          ' ,  destination.getBytesReceivedCount()

                print '  BytesThresholdTime          ' ,  destination.getBytesThresholdTime()
                print '  ConsumersCurrentCount       ' ,  destination.getConsumersCurrentCount()

                print '  ConsumersHighCount          ' ,  destination.getConsumersHighCount()

                print '  ConsumersTotalCount         ' ,  destination.getConsumersTotalCount()

                print '  ConsumptionPausedState      ' ,  destination.getConsumptionPausedState()

                print '  '

                print '  DestinationInfo             ' ,  destination.getDestinationInfo()

                print '  '

                print '  DestinationType             ' ,  destination.getDestinationType()

                print '  InsertionPaused             ' ,  destination.isInsertionPaused()

                print '  InsertionPausedState        ' ,  destination.getInsertionPausedState()

                print '  MessagesCurrentCount        ' ,  destination.getMessagesCurrentCount()

                print '  MessagesDeletedCurrentCount ' ,  destination.getMessagesDeletedCurrentCount()

                print '  MessagesHighCount           ' ,  destination.getMessagesHighCount()

                print '  MessagesMovedCurrentCount   ' ,  destination.getMessagesMovedCurrentCount()

                print '  MessagesPendingCount        ' ,  destination.getMessagesPendingCount()

                print '  MessagesReceivedCount       ' ,  destination.getMessagesReceivedCount()

                print '  MessagesThresholdTime       ' ,  destination.getMessagesThresholdTime()

                print '  Parent                      ' ,  destination.getParent()

                print '  Paused                      ' ,  destination.isPaused()

                print '  ProductionPaused            ' ,  destination.isProductionPaused()

                print '  ProductionPausedState       ' ,  destination.getProductionPausedState()

                print '  State                       ' ,  destination.getState()

                print '  Type                        ' ,  destination.getType()



2) Set the class path by using setDomainEnv script or go to the below path and execute JMSmonitor.py file.

$WL_HOME/wlserver_10.3/common/bin

Then execute below command

$ ./wlst.sh <location of .py file >/ JMSmonitor.py


3) You should get following output.



Initializing WebLogic Scripting Tool (WLST) ...

*sys-package-mgr*: skipping bad jar, '/WL_HOME/wlserver_10.3/common/lib/mssqlserver.jar'
Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

Connecting to t3://localhost:7001 with userid
Successfully connected to Admin Server 'admin' that belongs to domain 'XYZ'.

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.
For more help, use help(domainRuntime)


  DestinationType              Queue
  InsertionPaused              0
  InsertionPausedState         Insertion-Enabled
  MessagesCurrentCount         0
  MessagesDeletedCurrentCount  0
  MessagesHighCount            3
  MessagesMovedCurrentCount    0
  MessagesPendingCount         0
  MessagesReceivedCount        268
  MessagesThresholdTime        0
  Parent                       [MBeanServerInvocationHandler]com.bea:ServerRuntime=MS1,Name=XYZJMSServer_MS1,Location=MS1,Type=JMSServerRuntime
  Paused                       0
  ProductionPaused             0
  ProductionPausedState        Production-Enabled
  State                        advertised_in_cluster_jndi
  Type                         JMSDestinationRuntime
  BytesCurrentCount            0
  BytesHighCount               19181
  BytesPendingCount            0
  BytesReceivedCount           6636125
  BytesThresholdTime           0
  ConsumersCurrentCount        5
  ConsumersHighCount           5
  ConsumersTotalCount          5
  ConsumptionPausedState       Consumption-Enabled




Regards,

Middlewaregeek


1 comment:

  1. what if i want the details only for a particular destination/queue

    ReplyDelete