Sun Java System Application Server Platform Edition 9 Administration Guide

Chapter 16 Monitoring Components and Services

This chapter contains information about monitoring components using the Application Server Admin Console. This chapter contains the following sections:

About Monitoring

Monitoring in the Application Server

Use monitoring to observe the runtime state of various components and services deployed in a server instance of theApplication Server. With the information on the state of runtime components and processes, it is possible to identify performance bottlenecks for tuning purposes, aid capacity planning, predict failures, do root cause analysis in case of failures, and ensure that everything is functioning as expected.

Turning monitoring on reduces performance by increasing overhead.

See Also:

Overview of Monitoring

To monitor the Application Server, perform these steps:

  1. Enable the monitoring of specific services and components using either the Admin Console or the asadmin tool.

    For more information on this step, refer to To configure monitoring levels using the Admin Console.

    For more information on this step, refer to Enabling and Disabling Monitoring.

  2. View monitoring data for the specified services or components using either the Admin Console or the asadmin tool.

    For more information on this step, refer to Viewing monitoring data in the Admin Console or Viewing Monitoring Data With the asadmin Tool.

    For more information on this step, refer to Viewing Monitoring Data.

See Also:

About the Tree Structure of Monitorable Objects

The Application Server uses a tree structure to track monitorable objects. Because the tree of monitoring objects is dynamic, it changes as components are added, updated, or removed in the instance. The root object in the tree is the server instance name, for example, server. (In the Platform Edition, just one server instance is permitted.)

The following command displays the top level of the tree:


asadmin> list --user adminuser --monitor server
server.applications
server.http-service
server.connector-service
server.jms-service
server.jvm
server.orb
server.resources
server.thread-pools

The following sections describe these sub-trees:

The Applications Tree

The following schematic shows the top and child nodes for the various components of enterprise applications. The nodes at which monitoring statistics are available are marked with an asterisk (*). For more information, refer to EJB Container Statistics.


Example 16–1 Applications Node Tree Structure

applications
   |--- application1
   |    |--- ejb-module-1
   |    |        |--- ejb1 *
   |    |                  |--- cache (for entity/sfsb) *
   |    |                  |--- pool (for slsb/mdb/entity) *
   |    |                  |--- methods
   |    |                       |---method1 *
   |    |                       |---method2 *
   |    |                  |--- stateful-session-store (for sfsb)*
   |    |                  |--- timers (for s1sb/entity/mdb) *
   |    |--- web-module-1
   |    |        |--- virtual-server-1 *
   |    |                       |---servlet1  *
   |    |                       |---servlet2  *
   |--- standalone-web-module-1
   |    |        |----- virtual-server-2 *
   |    |                       |---servlet3 *
   |    |                       |---servlet4 *
   |    |        |----- virtual-server-3 *
   |    |                       |---servlet3 *(same servlet on different vs)
   |    |                       |---servlet5 *
   |--- standalone-ejb-module-1
   |    |        |--- ejb2 *
   |    |                  |--- cache (for entity/sfsb) *
   |    |                  |--- pool (for slsb/mdb/entity) *
   |    |                  |--- methods
   |    |                       |--- method1 *
   |    |                       |--- method2 *
   |--- application2

The HTTP Service Tree

The nodes of the HTTP service are shown in the following schematic. The nodes at which monitoring information is available are marked with an asterisk (*). See HTTP Service Statistics.


Example 16–2 HTTP Service Schematic (Platform Edition version)

http-service
         |--- virtual-server-1
              |--- http-listener-1 *
              |--- http-listener-2 *
         |--- virtual-server-2
              |--- http-listener-1 *
              |--- http-listener-2 *


Example 16–3 HTTP Service Schematic (Enterprise Edition version)

http-service *
             |---connection-queue *
             |---dns *
             |---file-cache *
             |---keep-alive *
             |---pwc-thread-pool *
             |---virtual-server-1*
             |        |--- request *
             |---virtual-server-2*
             |        |--- request *

The Resources Tree

The resources node holds monitorable attributes for pools such as the JDBC connection pool and connector connection pool. The following schematic shows the top and child nodes for the various resource components. The nodes at which monitoring statistics are available are marked with an asterisk (*). See JDBC Connection Pools Statistics.


Example 16–4 Resources Schematic

resources
        |---connection-pool1(either connector-connection-pool or jdbc)*
        |---connection-pool2(either connector-connection-pool or jdbc)*

The Connector Service Tree

The connector services node holds monitorable attributes for pools such as the connector connection pool. The following schematic shows the top and child nodes for the various connector service components. The nodes at which monitoring statistics are available are marked with an asterisk (*). See JMS/Connector Service Statistics.


Example 16–5 Connector Service Schematic

connector-service
        |--- resource-adapter-1
        |        |-- connection-pools
        |        |        |-- pool-1 (All pool stats for this pool)
        |        |-- work-management (All work mgmt stats for this RA)

The JMS Service Tree

The JMS services node holds monitorable attributes for pools such as the connector connection pool. The following schematic shows the top and child nodes for the various JMS service components. The nodes at which monitoring statistics are available are marked with an asterisk (*).


Example 16–6 JMS Service Schematic

jms-service
        |-- connection-factories [AKA conn. pools in the RA world]
        |        |-- connection-factory-1 (All CF stats for this CF)
        |-- work-management (All work mgmt stats for the MQ-RA)

The ORB Tree

The ORB node holds monitorable attributes for connection managers. The following schematic shows the top and child nodes for the ORB components. The nodes at which monitoring statistics are available are marked with an asterisk (*). See Statistics for Connection Managers in an ORB.


Example 16–7 ORB Schematic

orb
        |--- connection-managers
        |        |--- connection-manager-1 *
        |        |--- connection-manager-1 *

The Thread Pool Tree

The thread pool node holds monitorable attributes for connection managers. The following schematic shows the top and child nodes for the ORB components. The nodes at which monitoring statistics are available are marked with an asterisk (*). See Thread Pools Statistics.


Example 16–8 Thread Pool Schematic

thread-pools
        |    |--- thread-pool-1 *
        |    |--- thread-pool-2 *

About Statistics for Monitored Components and Services

This section describes the monitoring statistics that are available:

EJB Container Statistics

EJB statistics are described in the following table.

Table 16–1 EJB Statistics

Attribute Name 

Data Type 

Description 

createcount

CountStatistic 

Number of times an EJB’s create method is called.

removecount

CountStatistic 

Number of times an EJB’s remove method is called.

pooledcount

RangeStatistic 

Number of entity beans in pooled state. 

readycount

RangeStatistic 

Number of entity beans in ready state. 

messagecount

CountStatistic 

Number of messages received for a message-driven bean. 

methodreadycount

RangeStatistic 

Number of stateful or stateless session beans that are in the MethodReady state.

passivecount

RangeStatistic 

Number of stateful session beans that are in Passive state.

The statistics available for EJB method invocations are listed in the following table.

Table 16–2 EJB Method Statistics

Attribute Name 

Data Type 

Description 

methodstatistic

TimeStatistic 

Number of times an operation is called; the total time that is spent during the invocation, and so on. 

totalnumerrors

CountStatistic 

Number of times the method execution resulted in an exception. This is collected for stateless and stateful session beans and entity beans if monitoring is enabled for the EJB container. 

totalnumsuccess

CountStatistic 

Number of times the method successfully executed. This is collected for stateless and stateful session beans and entity beans if monitoring enabled is true for EJB container. 

executiontime

CountStatistic 

Time (ms) spent executing the method for the last successful/unsuccessful attempt to execute the operation. This is collected for stateless and stateful session beans and entity beans if monitoring is enabled on the EJB container. 

The statistics for EJB Session Stores are listed in the following table.

Table 16–3 EJB Session Store Statistics

Attribute Name 

Data Type 

Description 

currentSize

RangeStatistic 

Number of passivated or checkpointed sessions currently in the store. 

activationCount

CountStatistic 

Number of sessions activated from the store. 

activationSuccessCount

CountStatistic 

Number of sessions successfully activated from the store 

activationErrorCount

CountStatistic 

Time (ms) spent executing the method for the last successful/unsuccessful attempt to execute the operation. This is collected for stateless and stateful session beans and entity beans, if monitoring is enabled on the EJB container. 

passivationCount

CountStatistic 

Number of sessions passivated (inactivated) using this store. 

passivationSuccessCount

CountStatistic 

Number of sessions successfully passivated using this store. 

passivationErrorCount

CountStatistic 

Number of sessions that could not be passivated using this store. 

expiredSessionCount

CountStatistic 

Number of expired sessions that were removed by this store. 

passivatedBeanSize

CountStatistic 

Total number of bytes passivated by this store, including total, minimum, and maximum. 

passivationTime

CountStatistic 

Time spent on passivating beans to the store, including the total, minimum, and maximum. 

checkpointCount (EE only)

CountStatistic 

Number of sessions checkpointed using this store. 

checkpointSuccessCount (EE only)

CountStatistic 

Number of sessions checkpointed successfully. 

checkpointErrorCount (EE only)

CountStatistic 

Number of sessions that couldn't be checkpointed. 

checkpointedBeanSize (EE only)

ValueStatistic 

Total number of beans checkpointed by the store. 

checkpointTime (EE only)

TimeStatistic 

Time spent on checkpointing beans to the store. 

The statistics available for EJB pools are listed in the following table.

Table 16–4 EJB Pool Statistics

Attribute Name 

Data Type 

Description 

numbeansinpool

BoundedRangeStatistic 

Number of EJB’s in the associated pool, providing an idea about how the pool is changing. 

numthreadswaiting

BoundedRangeStatistic 

Number of threads waiting for free beans, giving an indication of possible congestion of requests. 

totalbeanscreated

CountStatistic 

Number of beans created in associated pool since the gathering of data started.  

totalbeansdestroyed

CountStatistic 

Number of beans destroyed from associated pool since the gathering of data started. 

jmsmaxmessagesload

CountStatistic 

The maximum number of messages to load into a JMS session at one time for a message-driven bean to serve. Default is 1. Applies only to pools for message driven beans. 

The statistics available for EJB caches are listed in the following table.

Table 16–5 EJB Cache Statistics

Attribute Name 

Data Type 

Description 

cachemisses

BoundedRangeStatistic 

The number of times a user request does not find a bean in the cache. 

cachehits

BoundedRangeStatistic 

The number of times a user request found an entry in the cache. 

numbeansincache

BoundedRangeStatistic 

The number of beans in the cache. This is the current size of the cache. 

numpassivations

CountStatistic 

Number of passivated beans. Applies only to stateful session beans. 

numpassivationerrors

CountStatistic 

Number of errors during passivation. Applies only to stateful session beans. 

numexpiredsessionsremoved

CountStatistic 

Number of expired sessions removed by the cleanup thread. Applies only to stateful session beans. 

numpassivationsuccess

CountStatistic 

Number of times passivation completed successfully. Applies only to stateful session beans. 

The statistics available for Timers are listed in the following table.

Table 16–6 Timer Statistics

Statistic 

Data Type 

Description 

numtimerscreated

CountStatistic 

Number of timers created in the system. 

numtimersdelivered

CountStatistic 

Number of timers delivered by the system. 

numtimersremoved

CountStatistic 

Number of timers removed from the system. 

Web Container Statistics

The web container fits into the tree of objects as shown in The Applications Tree. Web container statistics are displayed for each individual web application. Statistics available for the web container for Servlets are shown in Web Container Statistics and statistics available for web modules are shown in Web Container Statistics.

Table 16–7 Web Container (Servlet) Statistics

Statistic 

Units 

Data Type 

Comments 

errorcount

Number 

CountStatistic 

Cumulative number of cases where the response code is greater than or equal to 400. 

maxtime

Milliseconds 

CountStatistic 

The maximum amount of time the web container waits for requests. 

processingtime

Milliseconds 

CountStatistic 

Cumulative value of the amount of time required to process each request. The processing time is the average of request processing times divided by the request count. 

requestcount

Number 

CountStatistic 

The total number of requests processed so far. 

Statistics available for web modules are shown in Web Container Statistics.

Table 16–8 Web Container (Web Module) Statistics

Statistic 

Data Type 

Comments 

jspcount

CountStatistic 

Number of JSP pages that have been loaded in the web module. 

jspreloadcount

CountStatistic 

Number of JSP pages that have been reloaded in the web module. 

sessionstotal

CountStatistic 

Total number of sessions that have been created for the web module. 

activesessionscurrent

CountStatistic 

Number of currently active sessions for the web module. 

activesessionshigh

CountStatistic 

Maximum number of concurrently active sessions for the web module. 

rejectedsessionstotal

CountStatistic 

Total number of rejected sessions for the web module. This is the number of sessions that were not created because the maximum allowed number of sessions were active. 

expiredsessionstotal

CountStatistic 

Total number of expired sessions for the web module. 

sessionsize (EE only)

AverageRangeStatistic 

Size of the session for the web module. Value is either high, low, or average, or is in bytes for serialized sessions. 

containerlatency (EE only)

AverageRangeStatistic 

Latency for the web container’s part of the overall latency request. Value is either high, low, or average. 

sessionpersisttime (EE only)

AverageRangeStatistic 

Time (in ms, low, high, or average) taken to persist HTTP session state to back-end store for the web module. 

cachedsessionscurrent (EE only)

CountStatistic 

Current number of sessions cached in memory for the web module. 

passivatedsessionscurrent (EE only)

CountStatistic 

Current number of sessions passivated for the web module. 

HTTP Service Statistics

The statistics available for the HTTP service are shown in HTTP Service Statistics. These statistics are applicable to the Platform Edition only.

Table 16–9 HTTP Service Statistics (applicable to Platform Edition only)

Statistic 

Units 

Data Type 

Comments 

bytesreceived

Bytes 

CountStatistic 

The cumulative value of the bytes received by each of the request processors. 

bytessent

Bytes 

CountStatistic 

The cumulative value of the bytes sent by each of the request processors. 

currentthreadcount

Number 

CountStatistic 

The number of processing threads currently in the listener thread pool. 

currentthreadsbusy

Number 

CountStatistic 

The number of request processing threads currently in use in the listener thread pool serving requests. 

errorcount

Number 

CountStatistic 

The cumulative value of the error count, which represents the number of cases where the response code is greater than or equal to 400. 

maxsparethreads

Number 

CountStatistic 

The maximum number of unused response processing threads that can exist. 

minsparethreads

Number 

CountStatistic 

The minimum number of unused response processing threads that can exist. 

maxthreads

Number 

CountStatistic 

The maximum number of request processing threads created by the listener. 

maxtime

Milliseconds 

CountStatistic 

The maximum amount of time for processing threads. 

processing-time

Milliseconds 

CountStatistic 

The cumulative value of the times taken to process each request. The processing time is the average of request processing times divided by the request count. 

request-count

Number 

CountStatistic 

The total number of requests processed so far. 

JDBC Connection Pools Statistics

Monitor JDBC resources to measure performance and capture resource usage at runtime. As the creation of JDBC connections are expensive and frequently cause performance bottlenecks in applications, it is crucial to monitor how a JDBC connection pool is releasing and creating new connections and how many threads are waiting to retrieve a connection from a particular pool.

The statistics available for the JDBC connection pool are shown in the following table.

Table 16–10 JDBC Connection Pool Statistics

Statistic 

Units 

Data Type 

Description 

numconnfailedvalidation

Number 

CountStatistic 

The total number of connections in the connection pool that failed validation from the start time until the last sample time. 

numconnused

Number 

RangeStatistic 

Provides connection usage statistics. The total number of connections that are currently being used, as well as information about the maximum number of connections that were used (the high water mark). 

numconnfree

Number 

RangeStatistic 

The total number of free connections in the pool as of the last sampling. 

numconntimedout

Number 

BoundedRangeStatistic 

The total number of connections in the pool that timed out between the start time and the last sample time. 

averageconnwaittime

Number 

CountStatistic 

Indicates the average wait time of connections for successful connection request attempts to the connector connection pool. 

waitqueuelength

Number 

CountStatistic 

Number of connection requests in the queue waiting to be serviced. 

connectionrequestwaittime

 

RangeStatistic 

The longest and shortest wait times of connection requests. The current value indicates the wait time of the last request that was serviced by the pool. 

numconncreated

Milliseconds 

CountStatistic 

The number of physical connections that were created since the last reset. 

numconndestroyed

Number 

CountStatistic 

Number of physical connections that were destroyed since the last reset. 

numconnacquired

Number 

CountStatistic 

Number of logical connections acquired from the pool. 

numconnreleased

Number 

CountStatistic 

Number of logical connections released to the pool. 

JMS/Connector Service Statistics

The statistics available for the connector connection pools are shown in JMS/Connector Service Statistics. Statistics for Connector Work Management are shown in JMS/Connector Service Statistics.

Table 16–11 Connector Connection Pool Statistics

Statistic 

Units 

Data Type 

Description 

numconnfailedvalidation

Number 

CountStatistic 

The total number of connections in the connection pool that failed validation from the start time until the last sample time. 

numconnused

Number 

RangeStatistic 

Provides connection usage statistics. The total number of connections that are currently being used, as well as information about the maximum number of connections that were used (the high water mark). 

numconnfree

Number 

RangeStatistic 

The total number of free connections in the pool as of the last sampling. 

numconntimedout

Number 

CountStatistic 

The total number of connections in the pool that timed out between the start time and the last sample time. 

averageconnwaittime

Number 

CountStatistic 

Average wait time of connections before they are serviced by the connection pool. 

waitqueuelenght

Number 

CountStatistic 

Number of connection requests in the queue waiting to be serviced. 

connectionrequestwaittime

 

RangeStatistic 

The longest and shortest wait times of connection requests. The current value indicates the wait time of the last request that was serviced by the pool. 

numconncreated

Milliseconds 

CountStatistic 

The number of physical connections that were created since the last reset. 

numconndestroyed

Number 

CountStatistic 

Number of physical connections that were destroyed since the last reset. 

numconnacquired

Number 

CountStatistic 

Number of logical connections acquired from the pool. 

numconnreleased

Number 

CountStatistic 

Number of logical connections released to the pool. 

Statistics available for Connector Work Management are listed in JMS/Connector Service Statistics.

Table 16–12 Connector Work Management Statistics

Statistic 

Data Type 

Description 

activeworkcount

RangeStatistic 

Number of work objects executed by the connector. 

waitqueuelength

RangeStatistic 

Number of work objects waiting in the queue before executing. 

workrequestwaittime

RangeStatistic 

Longest and shortest wait of a work object before it gets executed. 

submittedworkcount

CountStatistic 

Number of work objects submitted by a connector module. 

rejectedworkcount

CountStatistic 

Number of work objects rejected by the Application Server. 

completedworkcount

CountStatistic 

Number of work objects that were completed. 

Statistics for Connection Managers in an ORB

The statistics available for the connection manager in an ORB are listed in Statistics for Connection Managers in an ORB.

Table 16–13 Connection Manager (in an ORB) Statistics

Statistic 

Units 

Data Type 

Description 

connectionsidle

Number 

CountStatistic 

Provides total number of connections that are idle to the ORB. 

connectionsinuse

Number 

CountStatistic 

Provides total number of connections in use to the ORB. 

totalconnections

Number 

BoundedRangeStatistic 

Total number of connections to the ORB. 

Thread Pools Statistics

The statistics available for the thread pool are shown in the following table.

Table 16–14 Thread Pool Statistics

Statistic 

Units 

Data Type 

Description 

averagetimeinqueue

Milliseconds 

RangeStatistic 

The average amount of time in milliseconds a request waited in the queue before getting processed. 

averageworkcompletion-time

Milliseconds 

RangeStatistic 

The average amount of time taken to complete an assignment, in milliseconds. 

currentnumberofthreads

Number 

BoundedRangeStatistic 

Current number of request processing threads. 

numberofavailablethreads

Number 

CountStatistic 

The number of threads that are available. 

numberofbusythreads

Number 

CountStatistic 

The number of threads that are busy. 

totalworkitemsadded

Number 

CountStatistic 

The total number of work items added so far to the work queue. 

Transaction Service Statistics

The transaction service allows the client to freeze the transaction subsystem in order to roll back transactions and determine the transactions that are in process at the time of the freeze. The statistics available for the transaction service are shown in the following table.

Table 16–15 Transaction Service Statistics

Statistic 

Data Type 

Description 

activecount

CountStatistic 

Number of transactions currently active. 

activeids

StringStatistic 

The ID’s of the transactions that are currently active. Every such transaction can be rolled back after freezing the transaction service. 

committedcount

CountStatistic 

Number of transactions that have been committed. 

rolledbackcount

CountStatistic 

Number of transactions that have been rolled back. 

state

StringStatistic 

Indicates whether or not the transaction has been frozen. 

Java Virtual Machine (JVM) Statistics

The JVM has monitorable attributes that are always enabled. The statistics available for the JVM are shown in the following table.

Table 16–16 JVM Statistics

Statistic 

Data Type 

Description 

heapsize

BoundedRangeStatistic 

The resident memory footprint with the higher and lower bounds of the JVM’s memory heap size. 

uptime

CountStatistic 

The amount of time the JVM has been running. 

JVM Statistics in J2SE 5.0

If the Application Server is configured to run on J2SE version 5.0 or higher, additional monitoring information can be obtained from the JVM. Set the monitoring level to LOW to enable the display of this additional information. Set the monitoring level to HIGH to also view information pertaining to each live thread in the system. More information on the additional monitoring features available in J2SE 5.0 is available in a document titled Monitoring and Management for the Java Platform, which is available from http://java.sun.com/j2se/1.5.0/docs/guide/management/.

The J2SE 5.0 monitoring tools are discussed at http://java.sun.com/j2se/1.5.0/docs/tooldocs/#manage.

The statistics available for class loading in the JVM in J2SE 5.0 are shown in JVM Statistics in J2SE 5.0.

Table 16–17 JVM Statistics for J2SE 5.0 - Class Loading

Statistic 

Data Type 

Description 

loadedclasscount

CountStatistic 

Number of classes that are currently loaded in the JVM. 

totalloadedclasscount

CountStatistic 

Total number of classes that have been loaded since the JVM began execution. 

unloadedclasscount

CountStatistic 

Number of classes that have been unloaded from the JVM since the JVM began execution. 

The statistics available for compilation in the JVM in J2SE 5.0 are shown in JVM Statistics in J2SE 5.0.

Table 16–18 JVM Statistics for J2SE 5.0 - Compilation

Statistic 

Data Type 

Description 

totalcompilationtime

CountStatistic 

Accumulated time (in milliseconds) spent in compilation. 

The statistics available for garbage collection in the JVM in J2SE 5.0 are shown in JVM Statistics in J2SE 5.0.

Table 16–19 JVM Statistics for J2SE 5.0 - Garbage Collection

Statistic 

Data Type 

Description 

collectioncount

CountStatistic 

Total number of collections that have occurred. 

collectiontime

CountStatistic 

Accumulated collection time (in milliseconds). 

The statistics available for memory in the JVM in J2SE 5.0 are shown in JVM Statistics in J2SE 5.0.

Table 16–20 JVM Statistics for J2SE 5.0 - Memory

Statistic 

Data Type 

Description 

objectpendingfinalizationcount

CountStatistic 

Approximate number of objects that are pending finalization. 

initheapsize

CountStatistic 

Size of the heap initially requested by the JVM. 

usedheapsize

CountStatistic 

Size of the heap currently in use. 

maxheapsize

CountStatistic 

Maximum amount of memory (in bytes) that can be used for memory management. 

committedheapsize

CountStatistic 

Amount of memory (in bytes) that is committed for the JVM to use. 

initnonheapsize

CountStatistic 

Size of the non-heap area initially requested by the JVM. 

usednonheapsize

CountStatistic 

Size of the non-heap area currently in use. 

maxnonheapsize

CountStatistic 

Maximum amount of memory (in bytes) that can be used for memory management. 

committednonheapsize

CountStatistic 

Amount of memory (in bytes) that is committed for the JVM to use. 

The statistics available for the operating system in the JVM in J2SE 5.0 are shown in JVM Statistics in J2SE 5.0.

Table 16–21 JVM Statistics for J2SE 5.0 - Operating System

Statistic 

Data Type 

Description 

arch

StringStatistic 

Operating system architecture. 

availableprocessors

CountStatistic 

Number of processors available to the JVM. 

name

StringStatistic 

Operating system name. 

version

StringStatistic 

Operating system version. 

The statistics available for the runtime in the JVM in J2SE 5.0 are shown in JVM Statistics in J2SE 5.0.

Table 16–22 JVM Statistics for J2SE 5.0 - Runtime

Statistic 

Data Type 

Description 

name

StringStatistic 

Name representing the running JVM 

vmname

StringStatistic 

JVM implementation name. 

vmvendor

StringStatistic 

JVM implementation vendor. 

vmversion

StringStatistic 

JVM implementation version. 

specname

StringStatistic 

JVM specification name. 

specvendor

StringStatistic 

JVM specification vendor. 

specversion

StringStatistic 

JVM specification version. 

managementspecversion

StringStatistic 

Management spec. version implemented by the JVM. 

classpath

StringStatistic 

Classpath that is used by the system class loader to search for class files. 

librarypath

StringStatistic 

Java library path. 

bootclasspath

StringStatistic 

Classpath that is used by the bootstrap class loader to search for class files. 

inputarguments

StringStatistic 

Input arguments passed to the JVM. Does not include the arguments to the main method.

uptime

CountStatistic 

Uptime of the JVM (in milliseconds). 

The statistics available for ThreadInfo in the JVM in J2SE 5.0 are shown in JVM Statistics in J2SE 5.0.

Table 16–23 JVM Statistics for J2SE 5.0 - Thread Info

Statistic 

Data Type 

Description 

threadid

CountStatistic 

Id of the thread. 

threadname

StringStatistic 

Name of the thread. 

threadstate

StringStatistic 

State of the thread. 

blockedtime

CountStatistic 

Time elapsed (in milliseconds) since the thread entered the BLOCKED state. Returns -1 if thread contention monitoring is disabled.

blockedcount

CountStatistic 

Total number of times that the thread entered the BLOCKED state.

waitedtime

CountStatistic 

Elapsed time (in milliseconds) that the thread has been in a WAITING state. Returns -1 if thread contention monitoring is disabled.

waitedcount

CountStatistic 

Total number of times the thread was in WAITING or TIMED_WAITING states.

lockname

StringStatistic 

String representation of the monitor lock that the thread is blocked to enter or waiting to be notified through the Object.wait method.

lockownerid

CountStatistic 

Id of the thread that holds the monitor lock of an object on which this thread is blocking. 

lockownername

StringStatistic 

Name of the thread that holds the monitor lock of the object this thread is blocking on. 

stacktrace

StringStatistic 

Stack trace associated with this thread. 

The statistics available for threads in the JVM in J2SE 5.0 are shown in JVM Statistics in J2SE 5.0.

Table 16–24 JVM Statistics for J2SE 5.0 - Threads

Statistic 

Data Type 

Description 

threadcount

CountStatistic 

Current number of live daemon and non-daemon threads. 

peakthreadcount

CountStatistic 

Peak live thread count since the JVM started or the peak was reset. 

totalstartedthreadcount

CountStatistic 

Total number of threads created and/or started since the JVM started. 

daemonthreadcount

CountStatistic 

Current number of live daemon threads. 

allthreadids

StringStatistic 

List of all live thread ids. 

currentthreadcputime

CountStatistic 

CPU time for the current thread (in nanoseconds) if CPU time measurement is enabled. If CPU time measurement is disabled, returns -1. 

monitordeadlockedthreads

StringStatistic 

List of thread ids that are monitor deadlocked. 

Enabling and Disabling Monitoring

To configure monitoring levels using the Admin Console

To configure monitoring in the Admin Console, go to Application Server node > Configuration > Monitoring

By default, monitoring is turned off for all components and services. To turn monitoring on, select LOW or HIGH from the combo box. To turn monitoring off, select OFF from the combo box.

For details on configuring monitoring, see the online help available with the Admin Console.

Equivalent asadmin commands are get and set.

For example, to turn on monitoring for the HTTP Service, use the following asadmin command:

asadmin> set --user admin-user server.monitoring-service.module-monitoring-levels.http-service=LOW

ProcedureTo configure monitoring using the asadmin tool

Use the asadmin get and set commands to configure monitoring from the command line.

  1. Use the get command to find out what services and components currently have monitoring enabled.


    asadmin> get --user admin-user server.monitoring-service.module-monitoring-levels.*

    Returns:


    server.monitoring-service.module-monitoring-levels.
    connector-connection-pool = OFF
    server.monitoring-service.module-monitoring-levels.
    connector-service = OFF
    server.monitoring-service.module-monitoring-levels.ejb-container = OFF
    server.monitoring-service.module-monitoring-levels.http-service = OFF
    server.monitoring-service.module-monitoring-levels.jdbc-connection-pool = OFF
    server.monitoring-service.module-monitoring-levels.jms-service = OFF
    server.monitoring-service.module-monitoring-levels.jvm = OFF
    server.monitoring-service.module-monitoring-levels.orb = OFF
    server.monitoring-service.module-monitoring-levels.thread-pool = OFF
    server.monitoring-service.module-monitoring-levels.transaction-service = OFF
    server.monitoring-service.module-monitoring-levels.web-container = OFF
  2. Use the set command to enable monitoring.

    For example, to enable monitoring for the HTTP service:


    asadmin> set --user admin-user 
    server.monitoring-service.module-monitoring-levels.http-service=LOW

    To disable monitoring, use the set command and specify OFF for the monitoring level.

Viewing Monitoring Data

Viewing monitoring data in the Admin Console

To view monitoring data in the Admin Console, go to Application Server node > Monitor, and select a component or service that has been deployed onto the server instance and for which monitoring is enabled.

On this page, it is possible to select and view monitoring data for JVM, server, applications, thread pools, HTTP service, transaction service, log statistics, and call flow statistics. A diagram showing how these components and services are organized is shown in About the Tree Structure of Monitorable Objects.

For details on viewing or configuring monitoring, see the online help available with the Admin Console.

For more information on the attributes for each component or service, refer to About Statistics for Monitored Components and Services.

The equivalent asadmin command is get --monitor

For example, to view monitoring data for the JVM, use the following asadmin command:

asadmin> get --user adminuser --monitor server.jvm.*

Viewing Monitoring Data With the asadmin Tool

ProcedureTo use the asadmin tool to view monitoring data

To view monitoring data using the asadmin tool, use the asadmin list and asadmin get commands followed by the dotted name of a monitorable object, as described in the following section.

  1. To view the names of the objects that can be monitored, use the asadmin list command.

    For example, to view a list of application components and subsystems that have monitoring enable for the server instance, type the following command in a terminal window:


    asadmin> list --user adminuser --monitor server

    The preceding command returns a list of application components and subsystems that have monitoring enabled, for example:


    server.resources
    server.connector-service
    server.orb
    server.jms-service
    server.jvm
    server.applications
    server.http-service
    server.thread-pools

    For further information on using the list command, refer to list(1).

    For further examples using the list command, refer to Examples of the list and get Commands. For further information on the dotted names you can use with the list command, refer to Understanding and Specifying Dotted Names.

  2. To display monitoring statistics for an application component or subsystem for which monitoring has been enabled, use the asadmin get command.

    To get the statistics, type the asadmin get command in a terminal window, specifying a name displayed by the list command in the preceding step. The following example attempts to get all attributes from a subsystem for a specific object:


    asadmin> get --user adminuser --monitor server.jvm.*

    The command returns the following attributes and data:


    server.jvm.dotted-name = server.jvm
    server.jvm.heapsize-current = 21241856
    server.jvm.heapsize-description = Provides statistical information about 
       the JVM's memory heap size.
    server.jvm.heapsize-highwatermark = 21241856
    server.jvm.heapsize-lastsampletime = 1080232913938
    server.jvm.heapsize-lowerbound = 0
    server.jvm.heapsize-lowwatermark = 0
    server.jvm.heapsize-name = JvmHeapSize
    server.jvm.heapsize-starttime = 1080234457308
    server.jvm.heapsize-unit = bytes
    server.jvm.heapsize-upperbound = 518979584
    server.jvm.uptime-count = 1080234457308
    server.jvm.uptime-description = Provides the amount of time the JVM has 
       been running.
    server.jvm.uptime-lastsampletime = 1080234457308
    server.jvm.uptime-name = JvmUpTime
    server.jvm.uptime-starttime = 1080232913928
    server.jvm.uptime-unit = milliseconds

    For further information using the get command, refer to get(1).

    For further examples using the get command, refer to Examples of the list and get Commands. For further information on the dotted names you can use with the get command, refer to Understanding and Specifying Dotted Names.

Understanding and Specifying Dotted Names

In the asadmin list and get commands, specify the dotted name of monitorable objects. All child objects are addressed using the dot (.) character as separator, thus these are referred to as dotted names. If a child node is of singleton type, then only the monitoring object type is needed to address the object, otherwise a name of the form type.name is needed to address the object.

For example, http-service is one of the valid monitorable object types and is a singleton. To address a singleton child node representing the http-service of instance server, the dotted name is:

server.http-service

Another example, application, is a valid monitorable object type and is not a singleton. To address a non-singleton child node representing, for example, the application PetStore, the dotted name is:

server.applications.petstore

The dotted names can also address specific attributes in monitorable objects. For example, http-service has a monitorable attribute called bytesreceived-lastsampletime. The following name addresses the bytesreceived attribute:

server.http-service.server.http-listener-1.
  bytesreceived-lastsampletime

The administrator is not expected to know the valid dotted names for asadmin list and get commands. The list command displays available monitorable objects, while the get command used with a wildcard parameter allows the inspection of all available attributes on any monitorable object.

The underlying assumptions for using the list and get commands with dotted names are:

For more information, read Expected Output for list and get Commands at All Levels.

Examples of the list and get Commands

This section contains the following topics:

Examples for the list --user admin-user --monitor Command

The list command provides information about the application components and subsystems currently being monitored for the specified server instance name. Using this command, you can see the monitorable components and subcomponents for a server instance. For a more complete listing of list examples, see Expected Output for list and get Commands at All Levels.

Example 1


asadmin> list --user admin-user --monitor server

The preceding command returns a list of application components and subsystems that have monitoring enabled, for example:


server.resources
server.orb
server.jvm
server.jms-service
server.connector-service
server.applications
server.http-service
server.thread-pools

It is also possible to list applications that are currently monitored in the specified server instance. This is useful when particular monitoring statistics are sought from an application using the get command.

Example 2

asadmin> list --user admin-user --monitor server.applications

Returns:

server.applications.adminapp
 server.applications.admingui
server.applications.myApp

For a more comprehensive example, see To use the PetStore example.

Examples for the get --user admin-user --monitor Command

This command retrieves the following monitored information:

Example 1

Attempt to get all attributes from a subsystem for a specific object:


asadmin> get --user admin-user --monitor server.jvm.*

Returns:


server.jvm.dotted-name= server.jvm
server.jvm.heapsize-current = 21241856
server.jvm.heapsize-description = Provides statistical information about 
   the JVM's memory heap size.
server.jvm.heapsize-highwatermark = 21241856
server.jvm.heapsize-lastsampletime = 1080232913938
server.jvm.heapsize-lowerbound = 0
server.jvm.heapsize-lowwatermark = 0
server.jvm.heapsize-name = JvmHeapSize
server.jvm.heapsize-starttime = 1080234457308
server.jvm.heapsize-unit = bytes
server.jvm.heapsize-upperbound = 518979584
server.jvm.uptime-count = 1080234457308
server.jvm.uptime-description = Provides the amount of time the JVM has 
   been running.
server.jvm.uptime-lastsampletime = 1080234457308
server.jvm.uptime-name = JvmUpTime
server.jvm.uptime-starttime = 1080232913928
server.jvm.uptime-unit = milliseconds

Example 2

Attempt to get all attributes from a J2EE application:


asadmin> get --user admin-user --monitor server.applications.myJ2eeApp.*

Returns:


No matches resulted from the wildcard expression.
CLI137 Command get failed.

There are no monitorable attributes exposed at the J2EE-application level, therefore this reply displays.

Example 3

Attempt to get a specific attribute from a subsystem:


asadmin> get --user admin-user --monitor server.jvm.uptime-lastsampletime

Returns:

server.jvm.uptime-lastsampletime = 1093215374813

Example 4

Attempt to get an unknown attribute from within a subsystem attribute:


asadmin> get --user admin-user --monitor server.jvm.badname

Returns:


No such attribute found from reflecting the corresponding Stats 
interface: [badname]
CLI137 Command get failed.

ProcedureTo use the PetStore example

The following example illustrates how the asadmin tool might be used for monitoring purposes.

A user wants to inspect the number of calls made to a method in the sample PetStore application after it has been deployed onto the Application Server. The instance onto which it has been deployed is named server. A combination of the list and get commands are used to access desired statistics on a method.

  1. Start the Application Server and the asadmin tool.

  2. Set some useful environment variables to avoid entering them for every command:


    asadmin> export AS_ADMIN_USER=admin AS_ADMIN_PASSWORD=admin123
    asadmin>export AS_ADMIN_HOST=localhost AS_ADMIN_PORT=4849
  3. List monitorable components for instance server:


    asadmin> list --user adminuser --monitor server*

    Returns (output will be similar to):


    server
    server.applications
    server.applications.CometEJB
    server.applications.ConverterApp
    server.applications.petstore
    server.http-service
    server.resources
    server.thread-pools

    The list of monitorable components includes thread-pools, http-service, resources, and all deployed (and enabled) applications.

  4. List the monitorable subcomponents in the PetStore application (-m can be used instead of --monitor):

    asadmin> list -m server.applications.petstore

    Returns:


    server.applications.petstore.signon-ejb_jar
    server.applications.petstore.catalog-ejb_jar
    server.applications.petstore.uidgen-ejb_jar
    server.applications.petstore.customer-ejb_jar
    server.applications.petstore.petstore-ejb_jar
    server.applications.petstore.petstore\.war
    server.applications.petstore.AsyncSenderJAR_jar
    server.applications.petstore.cart-ejb_jar
  5. List the monitorable subcomponents in the EJB module signon-ejb_jar of the PetStore application:


    asadmin> list -m server.applications.petstore.signon-ejb_jar

    Returns:


    server.applications.petstore.signon-ejb_jar.SignOnEJB
    server.applications.petstore.signon-ejb_jar.UserEJB
  6. List the monitorable subcomponents in the entity bean UserEJB for the EJB module signon-ejb_jar of the PetStore application:


    asadmin> list -m server.applications.petstore.signon-ejb_jar.UserEJB

    Returns (with dotted name removed for space considerations):


    server.applications.petstore.signon-ejb_jar.UserEJB.bean-cache
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-pool
  7. List the monitorable subcomponents in the method getUserName for the entity bean UserEJB in the EJB module signon-ejb_jar of the PetStore application:


    asadmin> list -m 
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.getUserName

    Returns:


    Nothing to list at server.applications.petstore.signon-ejb_jar.
    UserEJB.bean-methods.getUserName. To get the valid names beginning with a 
    string, use the wildcard "*" character. For example, to list all names 
    that begin with "server", use "list server*".
  8. There are no monitorable subcomponents for methods. Get all monitorable statistics for the method getUserName.


    asadmin> get -m 
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.getUserName.*

    Returns:


    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-count = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-description = Provides the time in milliseconds 
       spent during the last successful/unsuccessful attempt to execute the 
       operation.
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-lastsampletime = 1079981809259
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-name = ExecutionTime
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-starttime = 1079980593137
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-unit = count
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-count = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-description = Provides the number of times an 
       operation was called, the total time that was spent during the 
       invocation and so on.
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-lastsampletime = 1079980593137
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-maxtime = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-mintime = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-name = ExecutionTime
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-starttime = 1079980593137
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-totaltime = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-unit =
     server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumerrors-count = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumerrors-description = Provides the total number of errors 
       that occured during invocation or execution of an operation.
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumerrors-lastsampletime = 1079981809273
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumerrors-name = TotalNumErrors
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumerrors-starttime = 1079980593137
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumerrors-unit = count
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumsuccess-count = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumsuccess-description = Provides the total number of 
       successful invocations of the method.
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumsuccess-lastsampletime = 1079981809255
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumsuccess-name = TotalNumSuccess
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumsuccess-starttime = 1079980593137
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumsuccess-unit = count
  9. To also get a specific statistic, such as execution time, use a command such as the following:


    asadmin> get -m server.applications.petstore.signon-ejb_jar.
    UserEJB.bean-methods.getUserName.executiontime-count

    Returns:


    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-count = 1

Expected Output for list and get Commands at All Levels

The following tables show the command, dotted name, and corresponding output at each level of the tree.

Table 16–25 Top Level

Command 

Dotted Name 

Output 

list -m

server


server.applicationsserver.thread-poolsserver.
resourcesserver.http-serviceserver.transaction-
serviceserver.orb.connection-managersserver.orb.
connection-managers.orb\.Connections\.Inbound\.
AcceptedConnectionsserver.jvm

list -m

server.*

Hierarchy of child nodes below this node. 

get -m

server.*

No output except a message saying there are no attributes at this node. 

The following table shows the command, dotted name, and corresponding output for the applications level.

Table 16–26 Applications Level

Command 

Dotted Name 

Output 

list -m

server.applications

or 

*applications


appl1app2web-module1_warejb-module2_jar...

list -m

server.applications.*

or 

*applications.*

Hierarchy of child nodes below this node. 

get -m

server.applications.*

or 

*applications.*

No output except message saying there are no attributes at this node. 

The following table shows the command, dotted name, and corresponding output for stand-alone modules and enterprise applications at the applications level.

Table 16–27 Applications - Enterprise Applications and Standalone Modules

Command 

Dotted Name 

Output 

list -m

server.applications.app1

or 

*app1

Note: this level is only applicable if an enterprise application has been deployed. It is not applicable if a standalone module is deployed. 

ejb-module1_jarweb-module2_warejb-module3_jarweb-module3_war...

list -m

server.applications.app1.*

or 

*app1.*

Hierarchy of child nodes below this node. 

get -m

server.applications.app1.*

or 

*app1.*

No output except message saying there are no attributes at this node. 

list -m

server.applications.app1.ejb-module1_jar

or 

*ejb-module1_jar

or 

server.applications.ejb-module1_jar

bean1bean2bean3...

list -m

server.applications.app1.ejb-module1_jar

or 

*ejb-module1_jar

or 

server.applications.ejb-module1_jar

Hierarchy of child nodes below this node. 

get -m

server.applications.app1.ejb-module1_jar.*

or 

*ejb-module1_jar.*

or 

server.applications.ejb-module1_jar.*

No output except message saying there are no attributes at this node. 

list -m

server.applications.app1.ejb-module1_jar.bean1

Note: In standalone modules, the node containing the application name (app1 in this example) will not appear.

List of child nodes: 

bean-poolbean-cachebean-method

list -m

server.applications.app1.ejb-module1_jar.bean1

Note: In standalone modules, the node containing the application name (app1 in this example) will not appear.

Hierarchy of child nodes and a list of all attributes for this node and for any subsequent child nodes. 

get -m

server.applications.app1.ejb-module1_jar.bean1.*

Note: In standalone modules, the node containing the application name (app1 in this example) does not appear.

The following attributes and their associated values: 


CreateCount_CountCreateCount_
DescriptionCreateCount_
LastSampleTimeCreateCount_
NameCreateCount_
StartTimeCreateCount_
UnitMethodReadyCount_
CurrentMethodReadyCount_
DescriptionMethodReadyCount_
HighWaterMarkMethodReadyCount_
LastSampleTimeMethodReadyCount_
LowWaterMarkMethodReadyCount_
NameMethodReadyCount_
StartTimeMethodReadyCount_
UnitRemoveCount_CountRemoveCount_
DescriptionRemoveCount_
LastSampleTimeRemoveCount_
NameRemoveCount_StartTimeAttribute 
RemoveCount_Unit

list -m

server.applications.app1.ejb-module1_jar.bean1.bean-pool

Note: In standalone modules, the node containing the application name (app1 in this example) will not appear.

No attributes, but a message saying: Nothing to list at server.applications.appl.ejb-module1_jar.bean1-cache. To get the valid names beginning with a string, use the wildcard (*) character. For example, to list all names that begin with server, use list server*.

get -m

server.applications.app1.ejb-module1_jar.bean1.bean-pool.*

Note: In standalone modules, the node containing the application name (app1 in this example) will not appear.

List of attributes and values corresponding to EJB Pool attributes as described in Table 1-4. 

list -m

server.applications.app1.ejb-module1_jar.bean1.bean-cache

Note: In standalone modules, the node containing the application name (app1 in this example) will not appear.

No attributes, but a message saying “Use get command with the --monitor option to view this node’s attributes and values.” 

get -m

server.applications.app1.ejb-module1_jar.bean1.bean-cache.*

Note: In standalone modules, the node containing the application name (app1 in this example) does not appear.

List of attributes and values corresponding to EJB Cache attributes as described in Table 1-5. 

list -m

server.applications.app1.ejb-module1_jar.bean1.bean-method.method1

Note: In standalone modules, the node containing the application name (app1 in this example) will not appear.

No attributes, but a message saying “Use get command with the --monitor option to view this node’s attributes and values.” 

get -m

server.applications.app1.ejb-module1_jar.bean1.bean-method.method1.*

Note: In standalone modules, the node containing the application name (app1 in this example) will not appear.

List of attributes and values corresponding to EJB Methods attributes as described in Table 1-2. 

list -m

server.applications.app1.web-module1_war

Displays the virtual server(s) assigned to the module. 

get -m

server.applications.app1.web-module1_war.*

No output except a message saying there are no attributes at this node. 

list -m

server.applications.app1.web-module1_war.virtual_server

Displays list of servlets registered. 

get -m

server.applications.app1.web-module1_war.virtual_server.*

No output except a message saying there are no attributes at this node. 

list -m

server.applications.app1.web-module1_war.virtual_server.servlet1

No attributes, but a message saying “Use get command with the --monitor option to view this node’s attributes and values.” 

get -m

server.applications.app1.web-module1_war.virtual_server.servlet1.*

List of attributes and values corresponding to web container (Servlet) attributes as described in Table 1-7. 

The following table shows the command, dotted name, and corresponding output for the HTTP Service level.

Table 16–28 HTTP-Service Level

Command 

Dotted Name 

Output 

list -m

server.http-service

List of virtual servers. 

get -m

server.http-service.*

No output except message saying there are no attributes at this node. 

list -m

server.http-service.server

List of HTTP Listeners. 

get -m

server.http-service.server.*

No output except message saying there are no attributes at this node. 

list -m

server.http-service.server.http-listener1

No attributes, but a message saying “Use get command with the --monitor option to view this node’s attributes and values.” 

get -m

server.http-service.server.*

List of attributes and values corresponding to HTTP Service attributes as described in Table 1-9. 

The following table shows the command, dotted name, and corresponding output for the thread pools level.

Table 16–29 Thread-Pools Level

Command 

Dotted Name 

Output 

list -m

server.thread-pools

List of thread-pool names. 

get -m

server.thread-pools.*

No output except message saying there are no attributes at this node. 

list -m

server.thread-pools.orb\.threadpool\.thread-pool-1

No attributes, but a message saying “Use get command with the --monitor option to view this node’s attributes and values.” 

get -m

server.thread-pools..orb\.threadpool\.thread-pool-1.*

List of attributes and values corresponding to Thread Pool attributes as described in Table 1-14. 

The following table shows the command, dotted name, and corresponding output for the resources level.

Table 16–30 Resources Level

Command 

Dotted Name 

Output 

list -m

server.resources

List of pool names. 

get -m

server.resources.*

No output except message saying there are no attributes at this node. 

list -m

server.resources.jdbc-connection-pool-pool.connection-pool1

No attributes, but a message saying “Use get command with the --monitor option to view this node’s attributes and values.” 

get -m

server.resources.jdbc-connection-pool-pool.connection-pool1.*

List of attributes and values corresponding to Connection Pool attributes as described in Table 1-10. 

The following table shows the command, dotted name, and corresponding output for the transaction service level.

Table 16–31 Transaction-Service Level

Command 

Dotted Name 

Output 

list -m

server.transaction-service

No attributes, but a message saying “Use get command with the --monitor option to view this node’s attributes and values.” 

get -m

server.transaction-service.*

List of attributes and values corresponding to Transaction Service attributes as described in Table 1-15. 

The following table shows the command, dotted name, and corresponding output for the ORB level.

Table 16–32 ORB Level

Command 

Dotted Name 

Output 

list -m

server.orb

server-orb.connection-managers

get -m

server.orb.*

No output except message saying there are no attributes at this node. 

list -m

server.orb.connection-managers

Name(s) of ORB connection managers. 

get -m

server.orb.connection-managers.*

No output except message saying there are no attributes at this node. 

list -m

server.orb.connection-managers.orb\.Connections\.Inbound\.AcceptedConnections

No attributes, but a message saying “Use get command with the --monitor option to view this node’s attributes and values.” 

get -m

server.orb.connection-managers.orb\.Connections\.Inbound\.AcceptedConnections.*

List of attributes and values corresponding to ORB Connection Manager attributes as described in Table 1-13. 

The following table shows the command, dotted name, and corresponding output for the JVM level.

Table 16–33 JVM Level

Command 

Dotted Name 

Output 

list -m

server.jvm

No attributes, but a message saying “Use get command with the --monitor option to view this node’s attributes and values.”

get -m

server.jvm.*

List of attributes and values corresponding to JVM attributes as described in Table 1-16. 

Using JConsole

This section contains the following topics:

Administration (management and monitoring) of the Application Server is based on JMX. This means that the managed components are represented as MBeans. With Java 2 Standard Edition (J2SE) 5.0, you can monitor the JVM and view the JVM MBeans to understand what is going on there. To expose this instrumentation, Application Server provides a configuration of Standard JMX Connector Server called System JMX Connector Server. When the Application Server starts up, an instance of this JMX Connector Server starts up, exposing the instrumentation to trusted clients.

The Java Monitoring and Management Console (JConsole) is a popular JMX Connector that can manage a JMX backend. JConsole (http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jconsole.html) is available as part of the standard JDK distribution beginning with J2SE 5.0. For more information on JConsole, see http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html

When you configure JConsole with Application Server, the Application Server becomes the JMX Connector's server-end and JConsole becomes the JMX Connector's preferred client-end. Connecting JConsole to Application Servershows how to make a successful connection .

Securing JConsole to Application Server Connection

There are subtle differences in how to connect to Application Server, or any JMX Connector Server end based on the transport layer security of the connection. If the server end is secure (guarantees transport layer security), there is a little more configuration to be performed on the client end.

When you install a Platform Edition domain on a machine such as appserver.sun.com, you will see the following in the DAS's (Domain Administration Server, the admin server or simply the domain) domain.xml:

<!- – The JSR 160 "system-jmx-connector" – –><jmx-connector accept-all="false" address="0.0.0.0" auth-realm-name="admin-realm" enabled="true" name="system" port="8686" protocol="rmi_jrmp" security-enabled="false"/><!- – The JSR 160 "system-jmx-connector" – –>

The security-enabled flag for the JMX Connector is false. If you are running the Enterprise Edition, or if you have turned on security for the JMX Connector in the Platform Edition, this flag is set to true.

<!- – The JSR 160 "system-jmx-connector" – –><jmx-connector accept-all="false" address="0.0.0.0" auth-realm-name="admin-realm" enabled="true" name="system" port="8686" protocol="rmi_jrmp" security-enabled="true"/>...</jmx-connector><!- – The JSR 160 "system-jmx-connector" – –>

Prerequisites for Connecting JConsole to Application Server

The JConsole setup has two parts: a server end and a client end. The Application Server domain is installed on a machine called appserver.sun.com, which is a powerful Solaris server. This is the server end.

The client end also has an installation of Application Server. Let us assume that the client end is a Windows machine with Java SE 5.0 and Application Server installed.


Note –

The Application Server installation is needed on the client end only when your Application Server domain has security enabled on the remote machine (the default for Enterprise Edition). If you just want to administer an Application Server Platform Edition domain on the Solaris machine above, you do not need the Application Server installation on this client machine.


If the server and client ends are on the same machine, you can use localhost to specify the host name.

ProcedureConnecting JConsole to Application Server

This procedure describes connecting JConsole to Application Server without security enabled on the JMX Connector. By default, security is not enabled on Application Server Platform Edition.

  1. Start the domain on appserver.sun.com.

  2. Start JConsole by running JDK_HOME/bin/jconsole

  3. In the Connect to Agent tab of JConsole, enter user name, password, host name and port (8686, by default).

    The user name refers to the admin user name and password refers to the admin password of the domain.

  4. Click Connect.

    In the JConsole window you will see all your MBeans, VM information etc., in various tabs.

ProcedureConnecting JConsole Securely to Application Server

This procedure describes how to connect JConsole to Application Server with security enabled on the JMX Connector. By defaul, security is enabled on Application Server Enterprise Edition. Use this procedure if you have security enabled on the Platform Edition's JMX Connector.

  1. Install Application Server on the client machine (where JConsole is installed).

    The only reason you need this is to let JConsole know where the server certificate of the Domain Administration Server that you trust is located. To obtain that certificate, invoke at least one remote asadmin command and to do that, you need the local installation of Application Server.

  2. Start the Application Server Enterprise Edition on appserver.sun.com.

    Since this is an Enterprise Edition domain, the system JMX Connector server is secure. To enable security on the Platform Edition JMX Connector, see Configuring Security For The Admin Service’s JMX Connector.

  3. From the local Application Server installation, run install-dir\bin\asadmin list --user admin --secure=true --host appserver.sun.com --port 4849 (where 4849 is the server's admin port).

    Though asadmin list command is chosen for this example, you can run any remote asadmin command. You will now be prompted to accept the certificate sent by the DAS of appserver.sun.com.

  4. Press y to accept the certificate sent by the Domain Administration Server on appserver.sun.com.

    The server's certificate is stored in a file called .asadmintruststore in your home directory on the client machine.


    Note –

    This step is not required if your server machine and client machine is the same. That is, if you are running JConsole also on appserver.sun.com.


  5. Let JConsole know the trust store location by using the following JConsole command:

    JDK-dir\bin\jconsole.exe -J-Djavax.net.ssl.trustStore="C:\Documents and Settings\user\.asadmintruststore"

  6. Start JConsole by running JDK_HOME/bin/jconsole

  7. In the Connect to Agent tab of JConsole, enter user name, password, host name and port (8686, by default).

    The user name refers to the admin user name and password refers to the admin password of the domain.

  8. Click Connect.

    In the JConsole window you will see all your MBeans, VM information etc., in various tabs.