1. Overview of Enterprise Server Administration
Default Settings and Locations
Instructions for Administering Enterprise Server
4. Administering the Virtual Machine for the Java Platform
6. Administering Web Applications
7. Administering the Logging Service
8. Administering the Monitoring Service
How the Monitoring Tree Structure Works
Tree Structure of Monitorable Objects
Viewing Common Monitoring Data
To View Common Monitoring Data
HTTP Listener Common Statistics
Viewing Comprehensive Monitoring Data
Guidelines for Using the list and get Subcommands for Monitoring
To View Comprehensive Monitoring Data
Comprehensive Monitoring Statistics
JMS/Connector Service Statistics
ORB Statistics (Connection Manager)
Resource Statistics (Connection Pool)
Transaction Service Statistics
Configuring JConsole to View Enterprise Server Monitoring Data
To Connect JConsole to Enterprise Server
9. Administering Life Cycle Modules
10. Extending Enterprise Server
Part II Security Administration
11. Administering System Security
12. Administering User Security
13. Administering Message Security
Part III Resources and Services Administration
14. Administering Database Connectivity
15. Administering EIS Connectivity
16. Administering Internet Connectivity
17. Administering the Object Request Broker (ORB)
18. Administering the JavaMail Service
19. Administering the Java Message Service (JMS)
20. Administering the Java Naming and Directory Interface (JNDI) Service
21. Administering Transactions
Monitoring is the process of reviewing the statistics of a system to improve performance or solve problems. The monitoring service can track and display operational statistics, such as the number of requests per second, the average response time, and the throughput. By monitoring the state of various components and services deployed in Enterprise Server, you can identify performance bottlenecks, predict failures, perform root cause analysis, and ensure that everything is functioning as expected. Data gathered by monitoring can also be useful in performance tuning and capacity planning.
For this release of Enterprise Server, monitoring is exposed in a modular way so that many client modules can access and display the monitoring statistics. These clients include the Administration Console, the asadmin utility, AMX, and REST interfaces.
The following topics are addressed here:
A monitorable object is a component, subcomponent, or service that can be monitored. Enterprise Server uses a tree structure to track monitorable objects. Because the tree is dynamic, the tree changes as Enterprise Server components are added or removed.
In the tree, a monitorable object can have child objects (nodes) that represent
exactly what can be monitored for that object. All child objects are addressed
using the dot (.) character as a separator. These constructed names are referred
to as dotted names. Detailed information on dotted names is available in the dotted-names(5ASC)
help page.
The following command lists the monitorable child objects of the instance server:
asadmin> list --monitor "server.*"
server.applications server.connector-service server.http-service server.jms-service server.containers.jruby server.jvm server.network server.orb server.resources server.security server.thread-pool server.transaction-service server.web
Each object is represented by a dotted name. Dotted names can also address specific attributes in monitorable objects. For example, the jvm object has a memory attribute with a statistic called maxheapsize. The following dotted name addresses the attribute:
server.jvm.memory.maxheapsize
Although an object is monitorable, it is not necessarily being actively monitored. For
instructions on activating monitoring, see Configuring Monitoring.
Each monitorable object has a hierarchical tree structure. In the tree, a replaceable such as *statistics represents the name of the attribute that you can show statistics for.
The following node tree hierarchies are addressed here:
The applications tree contains the following nodes:
server.applications |--- application1 | |--- ejb-module-1 | | |--- ejb1 * | | |--- bean-cache (for entity/sfsb) * | | |--- bean-pool (for slsb/mdb/entity) * | | |--- bean-methods | | |---method1 * | | |---method2 * | | |--- 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 * | | |--- bean-cache (for entity/sfsb) * | | |--- bean-pool (for slsb/mdb/entity) * | | |--- bean-methods | | |--- method1 * | | |--- method2 * | | |--- timers (for s1sb/entity/mdb) * |--- jersey-application-1 | |--- jersey | | |--- resources resource-0 hitcount *statistic |--- application2
An example dotted name might be server.applications.hello.server.request.maxtime.
An example dotted name under the EJB method node might be server.applications.ejbsfapp1.ejbsfapp1ejbmod1\.jar.SFApp1EJB1.
An example Jersey dotted name might be server.applications.helloworld-webapp.jersey.resources.resource-0.hitcount.resourcehitcount-count.
For available statistics, see EJB Statistics,
Jersey Statistics, and
Web Statistics.
The connector-service tree holds monitorable attributes for pools such as the connector connection pool. The connector-service tree contains the following nodes:
server.connector-service resource-adapter-1 connection-pools pool-1 work-management
An example dotted name might be server.connector-service.resource-adapter-1.connection-pools.pool-1. For available statistics, see JMS/Connector Service Statistics.
The http-service tree contains the following nodes:
server.http-service virtual-server request *statistic _asadmin request *statistic
An example dotted name under the virutal-server node might be server.http-service.virtual-server1.request.requestcount. For available statistics,
see HTTP Service Statistics.
The jms-service tree holds monitorable attributes for connection factories (connection pools for resource adapters) and work management (for Message Queue resource adapters). The jms-service tree contains the following nodes:
server.jms-service connection-factories connection-factory-1 work-management
An example dotted name under the connection-factories node might be server.jms-service.connection-factories.connection-factory-1 which shows all
the statistics for this connection factory. For available statistics, see JMS/Connector Service Statistics.
The jruby tree contains the following nodes:
server.containers.jruby.applications jruby-application *statistic http *statistic runtime-pool *statistic
For available statistics, see JRuby Statistics.
The jvm tree contains the following nodes:
server.jvm class-loading-system compilation-system garbage-collectors memory operating-system runtime
An example dotted name under the memory node might be server.jvm.memory.maxheapsize. For available
statistics, see JVM Statistics.
The network statistics apply to the network listener, such as admin-listener, http-listener-1, ttp-listener-2. The network tree contains the following nodes:
server.network type-of-listener keep-alive *statistic file-cache *statistic thread-pool *statistic connection-queue *statistic
An example dotted name under the network node might be server.network.admin-listener.keep-alive.maxrequests-count. For available statistics,
see Network Statistics.
The orb tree holds monitorable attributes for connection managers. The orb tree contains the following nodes:
server.orb transport connectioncache inbound *statistic outbound *statistic
An example dotted name might be server.orb.transport.connectioncache.inbound.connectionsidle-count. For available statistics, see ORB Statistics (Connection Manager).
The resources tree holds monitorable attributes for pools such as the JDBC connection pool and connector connection pool. The resources tree contains the following nodes:
server.resources connection-pool request *statistic
An example dotted name might be server.resources.jdbc-connection-pool1.numconnfree.count. For available statistics, see Resource Statistics (Connection Pool).
The security tree contains the following nodes:
server.security ejb *statistic web *statistic realm *statistic
An example dotted name might be server.security.realm.realmcount-starttime. For available statistics, see Security Statistics.
The thread-pool tree holds monitorable attributes for connection managers, and contains the following nodes:
server.thread-pool orb threadpool thread-pool-1 *statistic
An example dotted name might be server.thread-pool.orb.threadpool.thread-pool-1.averagetimeinqueue-current. For available statistics, see Thread Pool Statistics.
The transaction-service tree holds monitorable attributes for the transaction subsystem for the purpose of rolling back transactions. The transaction-service tree contains the following nodes:
server.transaction-service statistic
An example dotted name might be server.tranaction-service.activeids. For available statistics, see Transaction Service Statistics.
The web tree contains the following nodes:
server.web jsp *statistic servlet *statistic session *statistic request *statistic
An example dotted name for the servlet node might be server.web.servlet.activeservletsloadedcount. For available statistics,
see Web Module Common Statistics.
An add-on component typically generates statistics that Enterprise Server can gather at runtime. Adding monitoring capabilities enables an add-on component to provide statistics to Enterprise Server in the same way as components that are supplied in the Enterprise Server distributions. As a result, you can use the same administrative interfaces to monitor statistics from any installed Enterprise Server component, regardless of the origin of the component.
The following asadmin subcommands are provided for monitoring the services and components of Enterprise Server:
The enable-monitoring, disable-monitoring, or the get and set subcommands are used to turn monitoring on or off. For instructions, see Configuring Monitoring.
The monitor --type subcommand is used to display basic data for a particular type of monitorable object. For instructions, see Viewing Common Monitoring Data.
The list --monitor subcommand is used to display the objects that can be monitored with the monitor subcommand. For guidelines and instructions, see Guidelines for Using the list and get Subcommands for Monitoring.
The get subcommand is used to display comprehensive data, such as the attributes and values for a dotted name. The get subcommand used with a wildcard parameter displays all available attributes for any monitorable object. For additional information, see Guidelines for Using the list and get Subcommands for Monitoring.