JBoss Server Monitoring


Creating a new JBoss monitor

Supported versions of JBoss Server: 3.2.x, 4.x, 4.0.x, 5, 5.1, 6.0, 7.x, Wildfly_8.x

Prerequisites for monitoring JBoss server metrics: Click here

Using the REST API to add a new JBoss monitor: Click here

To create a JBoss server monitor, follow the steps given below:

  1. Click on New Monitor link.
  2. Select JBoss.
  3. Enter the IP Address or hostname of the host where JBoss runs.
  4. Choose the JBoss version.
  5. Enter the port number for eg., 8080.
  6. Check the Is Domain option if the JBoss operating mode is in managed domain. For managed domain, provide the HOST and PORT of domain controller. All the servers in the managed domain is identified and automatically added as monitors. Applications Manager's Wildfly monitoring tool provides this option for version 7.x and above.
    • Enable Filter: Choose this option to filter the addition of monitors for servers in the managed domain.
    • Filter Condition: Select the option include/exclude and provide the filters in the following format:
      HostController1:server1,server2,server3 ; HostController2:server1,server2,server3;...
  7. Choose SSL option , if SSL is enabled in JBoss server.
  8. Enter the User Name and Password , if JBoss has authentication information.
  9. Set the Polling Interval.
  10. If you are adding a new monitor from an Admin Server, select a Managed Server.
  11. Choose the Monitor Group from the combo box with which you want to associate JBoss Server Monitor (optional). You can choose multiple groups to associate your monitor.
  12. Click Add Monitor(s). This discovers JBoss server from the network and starts monitoring them.

For Applications Manager to monitor JBoss, it should be able to access the host where JBoss server runs and vice versa. For more information, refer to online Troubleshooting section.

Monitored Parameters

Performance data is collected by deploying an agent automatically from Applications Manager to the JBoss server that needs to be monitored. Applications Manager's JBoss monitoring tool enables you to monitor the health and performance of your JBoss applications. JBoss servers are monitored based on the attributes such as JVM heap usage, JDBC pool usage, JMS Queue, the different web applications and EJB deployed in the server. The monitoring details of JBoss server are represented graphically that helps to understand the parameters with ease. You can also configure thresholds to the attributes monitored by the server based on these details.

  • Availability tab gives the Availability history for the past 24 hours or 30 days.
  • Performance tab gives the Health Status and events for the past 24 hours or 30 days.
  • List view enables you to perform bulk admin configuration.

Click on the individual monitors listed, to view the following information:

Overview

Parameter Description
SERVER RESPONSE TIME
Response time Response time of JBoss server (in ms).

JVM Usage

This metric gives the current amount of free, used and committed memory in the JVM heap in megabytes as well as in percentage.

Parameter Description
Memory Usage
Type Type of the memory pool i.e, (Heap memory , Non-Heap Memory, Code cache etc.)
Used Memory in MB The amount of memory used by the Java Virtual Machine (in MB).
Free Memory in MB The amount of memory free for the Java Virtual Machine (in MB).
Committed Memory in MB The amount of memory guaranteed to be available for use by the Java Virtual Machine (in MB).
Total Memory in MB The total amount of memory allocated for the Java Virtual Machine (in MB).
Used Memory % The amount of memory used by the Java Virtual Machine (in percentage).
Free Memory % The amount of memory free for the Java Virtual Machine (in percentage).
JVM USAGE
JVM Heap Size JVM heap size of JBoss server (in bytes).
Maximum Free Memory (MB) Maximum amount of free memory available (in MB).
Maximum Free Memory Maximum amount of free memory available (in percentage).
THREAD USAGE
Live Threads Number of threads that are currently in use.
Daemon Threads Number of daemon threads available.
Peak Thread Count The maximum number of threads in use at any point of time.
Total Threads Started Total number of threads started.
CLASS LOADING
Class Loaded The number of classes currently loaded in the Java virtual machine.
Total Class Loaded The total number of classes loaded since the Java virtual machine has started execution.
Class Unloaded The number of classes unloaded since the Java virtual machine has started.
Object Pending Finalization The approximate number of objects for which finalization is pending.

Deployments

Parameter Description
Deployments
Name Name of the deployment/war file.
Context Context name of the web application.
Enabled Indicates whether the deployment is enabled or not. (true or false)
Runtime Name Runtime name of the deployment.
Status The status of the deployment.
Sub-Deployments The number of sub-deployments.
Servlets The number of servlets present for the deployment.
Web Applications
Name Name of the web application.
Context Context name of the web application.
Active Sessions Number of sessions currently open/active.
Created Sessions Number of sessions created.
Expired Sessions Number of sessions expired.
Rejected Sessions Number of sessions rejected.
Duplicated Sessions Number of sessions duplicated.
Session Alive Time (Avg) The average alive time of sessions (in ms).

Statistics

This tab contains the EJB statistics and Servlet details of the JBoss server. The name, type and module of the EJB along with the number of instance created and removed, instances in passivated state, pooled state, ready state are being captured. The servlet details specify the number of times the servlet was invoked and the execution time for the servlet.

Parameter Description
EJB Statistics
Name Name of the EJB appended with the web module name.
EJB Name of the EJB.
Web Module Name of the web module.
Type Type of EJB. (Any one of the following - "Stateless Session Bean", "Stateful Session Bean", "Entity Bean", "Message Driven Bean")
Create count Number of EJB bean created.
Removed count Number of EJB bean removed.
Passive count Total number of beans that have been passivated.
Ready count The number of bean instances in ready state.
Method ready count The number of bean methods in ready state.
Pooled count Number of EJBs available in the pool.
Servlet Details
Name Name of the servlet appended with web module name.
Servlet Name of the servlet.
Web module Name of the web module.
Invocation count The total number of times the servlet has been invoked since Jboss server was started.
Exec. Time (Total) The average amount of time (in ms) all invocations of the servlet have executed since it was most recently deployed.
Exec. Time (High) The average amount of time (in ms) the single longest invocation of the servlet has executed since it was most recently deployed.
Exec. Time (Low) The average amount of time (in ms) the single shortest invocation of the servlet has executed since it was most recently deployed.
Exec. Time (Avg) The average amount of time (in milliseconds) it took to execute all invocations of the servlet since it was most recently deployed.
Connections
Name Name of the session/connection.
Sessions Opened The global number of sessions opened since last poll.
Sessions Closed The global number of sessions closed since last poll.
Connections Requested The global number of connections asked by the sessions since last poll.
Percentage Closed Percentage of session closed.
Statistics Enabled Indicates whether statistics are enabled or not. (true or false)
Transactions
Name Name of the transaction.
Completed The global number of transactions known to have completed since the statistics were reset.
Successful The global number of transactions known to have been successful since the statistics were reset.
Successful Transactions Percentage of successful transactions.
Queries
Name Name of the query.
Query Put Count The global number of cacheable queries put in cache since last poll.
Query Hit Count The global number of cached queries successfully retrieved from cache since last poll.
Query Miss Count The global number of cached queries not found in cache since last poll.
Query Hit Ratio The percentage of queries cache hit.
Query Execution Count The global number of queries executed since last poll.
Max-time taken to execute The amount of time taken by the slowest recorded query since last poll.
Slow Query The query that is the slowest.
Second level Cache
Name Name of the cache.
Put Count The global number of cacheable entities/collections put in the cache since last poll.
Hit Count The global number of cacheable entities/collections successfully retrieved from cache since last poll.
Miss Count The global number of cacheable entities/collections not found in the cache and loaded from the database since last poll.
Hit Ratio The percentage of second level cache hit.

JDBC

JDBC Connection Pool details are displayed through this metric. The number of connections that are available, active, created, timed out and destroyed are listed. Also available are the metrics pertaining to the prepared statement cache of the database connection in the pools.

Parameter Description
Pool Usage
Name Name of the JDBC pool.
Available The number of available connections in the pool.
Active The number of active connections. Each of the connections is either in use by an application or available in the pool.
Created The number of connections created.
Destroyed The number of connections destroyed.
Wait The number of requests that had to wait for a connection.
Maximum Used The maximum number of connections used.
Total Blocking Time(ms) The total time spent waiting for an exclusive lock on the pool (in milliseconds).
Total Creation Time(ms) The total time spent creating connections (in milliseconds).
Timed Out The number of timed out connections.
Idle Time Out in Mins Amount of time (in minutes) after which unused connections are closed.
Active Connections(%) The percentage of active connections.

Active Connections (%) = (Active / Pool Size) * 100
Maximum Connections Used(%) The percentage of maximum used connections.

Maximum Connections Used(%) = (Max Used / Pool size ) * 100
Prepared Statement Cache
Name Name of the cache.
Current Size The number of prepared and callable statements currently cached in the statement cache.
Hit Count The number of times that statements from the cache were used.
Miss Count The number of times that a statement request could not be satisfied with a statement from the cache.
Hit Ratio The percentage of prepared statement cache hit.

Web

Parameter Description
Web Metrics
Name Connector name of the global request processor.
Request Count Number of requests served by this global request processor since last poll.
Error Count Number of error request received since last poll.
Maximum Time Maximum time taken by the global request processor to process a request (in ms).
Processing Time Time taken by this global request processor to process the requests since last poll (in ms).
Bytes Sent Per Second Average number of bytes sent per second.
Bytes Received Per Second Average number of bytes received per second.
Requests Failed Percentage of failed requests.

Transactions

Parameter Description
TRANSACTIONS
Total The total number of transactions created, including nested since last poll.
Committed The number of committed transaction since last poll.
Aborted The number of aborted transactions since last poll.
TimedOut The number of transactions that have rolled back due to timeout since last poll.
Nested The total number of nested transactions created since last poll.
Heuristics The number of transactions in a heuristic state since last poll.
Inflight The number of transactions which have begun but not yet terminated since last poll.
Application rollbacks The number of failed transactions, including timeouts, whose failure origin was an application since last poll.
Resources rollback The number of failed transactions whose failure origin was a resource since last poll.
Successful commits Percentage of successful commits.

Successful commits = (Committed / Total) * 100
Aborted transactions Percentage of aborted transactions.

Aborted transactions = (Aborted / Total) * 100
TimedOut transactions Percentage of timedout transactions.

Timeout transactions = (Timeout / Total) * 100

JMS

The JMS tab provides an overview of the metrics related to the JMS Queues and Topics. Queues details include metrics like messages in queue, messages added, scheduled, paused along with current delivery percentage. Metrics with respect to topics tracked are message count, messages added, durable and non-durable message count,etc.

Parameter Description
QUEUES
Name Name of the queue.
Is paused Indicates whether the JMS Queue is paused or not.
Messages in Queue The number of messages currently in this queue.
In Delivery The number of messages that this queue is currently delivering to its consumers.
Messages Added The number of messages added to this queue since it was created.
Messages Scheduled The number of scheduled messages in this queue.
Number of Consumer The number of consumers consuming messages from this queue.
Currently Delivering Percentage of message currently delivering.

Currently Delivering = (In Delivery / Messages in Queue) * 100.
TOPICS
Name Name of the topic.
Messages in Topic The number of messages currently in this topic.
No of Durable Messages The number of messages for all durable subscribers for this topic.
No of Non-Durable Messages The number of messages for all non-durable subscribers for this topic.
Subscriptions The number of durable and non-durable subscribers for this topic.
No of Durable Subscribers The number of durable subscribers for this topic.
No of Non-Durable Subscribers The number of non durable subscribers for this topic.
Durable Messages Percentage of durable messages.

Durable Messages = (No of Durable Messages / Messages in Topic) * 100
Non-Durable Messages Percentage of non-durable messages.

Non-Durable Messages = (No of non Durable Messages / Messages in Topic) * 100

Configuration

Parameter Description
SERVER CONFIGURATION
Launch Type Launch type of the JBoss server.
Host Name / IP Address Hostname/IP address on which the JBoss server is running.
Process Type The process type of JBoss server.
JBoss Version Version of JBoss running.
Release Codename Release codename of the JBoss server.
Server State Current state of the server.
Running Mode The mode in which the JBoss server is currently running.
Available Processors Number of processors available for the JBoss server.
Operating System Operating system on which the JBoss server is running.
Product Name Name of the JBoss product.
Server Name Name of the server hosting the JBoss application.
Is Master Indicates whether the JBoss server is the master or not.
Host Controller Name Name of the host controller.
Server Group Name of the server group.

Custom attributes

You can view the custom attributes of the JBoss Server here. Click Add Attributes to add custom MBean attributes and associate MBean actions. For information on adding Custom Monitors, refer to Custom Monitors topic. Below is the detailed list of parameters monitored and the various versions of the server supported:

Monitored Parameters JBoss 3.2.x JBoss 4.0.x, 4.2.2 GA JBoss 5,5.1 JBoss 6.0 JBoss 7.0
Memory Usage

[Used (MB), Free(MB), Commited(MB), Maximum(MB), Used(%), Free(%)]

* Metrics for non-heap memory is supported in JBoss 6&7 only

Thread Usage

[Live Thread count, Daemon Thread count, Peak Thread Count, Total Thread Started]

     
Class Loading

[Class loaded, Class Unloaded, Total Loaded, Object Pending Finalization count]

     
Deployments

[Name, Context, Enabled, Runtime Name, Status, Sub-Deployments, Servlets Count]

[sub-deployment count not available]

[sub-deployment count not available]

[sub-deployment count not available]

[sub-deployment count not available]

[servlets count not available]

Web Applications

[Active Sessions, Sessions Created, Expired, Rejected, Duplicated and Session Alive Time]

EJB Statistics

[WebModule,Type,Instances Created, Removed, Instances in Passive State, Ready State, Pooled State, Message Count, Method Ready Count]

[instances in passive state, ready state, pooled state, message count, method ready count not available]

Servlet Details

[Invocation Count, Execution Time Total, Execution Time High,Execution Time Low,Execution Time Average]

Persistence Units

[Connections, Transactions, Queries, Second Level Cache]

       
Connection Pool Usage

[Connections - Available, Active , Created, Destroyed, Maximum used, Timed out, Active Connections(%), Max Connections Used (%)]

Prepared Statement Cache

[Current size, Hit count, Miss count, HitRatio]

       
Web Metrics

[Request Count, Error Count, Processing time(ms), Maximum time(ms), Bytes Sent, Bytes Received , Request Failed(%)]

Transactions

[Total Transacations, Commited, Aborted, TimedOut, Nested, Heuristics, Inflight, Applications Rollbacks, Resource Rollbacks, Successful Commits]

[transactions aborted, timedout, nested, heuristics, inflight, applications rollbacks, resource rollbacks not available]

 

[transactions aborted, timedout, nested, heuristics, inflight, applications rollbacks, resource rollbacks not available]

 

[transactions aborted, timedout, nested, heuristics, inflight, applications rollbacks, resource rollbacks not available]

JMS-Queues

[Name, Message Count, In Delivery, Messages Added, Messages Scheduled, Consumer Count, Is Paused, Delivering Percentage]

 
JMS-Topics

[Name, Message Count, In Delivery, Messages Added, Durable Message Count, Non- Durable Message Count, Subscriptions, Durable Subscribers Count, Non-Durable Subscribers Count,Current Delivering (%), Durable Message(%), Non-Durable Message(%)]

Custom Attributes and Server Configuration Details