Schedule demo

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 Central Server, select a Probe 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

ParameterDescription
SERVER RESPONSE TIME
Response timeResponse time of JBoss server (in ms).
Memory UsedThe amount of memory currently being utilized by the application or Java Virtual Machine (JVM) during its operation.
Memory Free GraphA visual representation showing the available (free) memory in the system or JVM over time, helping monitor memory usage patterns.
HeapA memory area in the JVM where all class instances (objects) and arrays are allocated. It is the primary area for dynamic memory allocation.
Non-HeapMemory used by the JVM for purposes other than the heap, such as class metadata storage, compiled code storage, and other internal processes.
PS Old Gen (ParOldGen / Tenured Generation)A part of the heap memory where long-lived objects are stored. Objects that survive multiple garbage collection cycles in the young generation are promoted to the old generation.
Code CacheA memory area where the JVM stores compiled native code (typically Just-In-Time (JIT) compiled code) for faster execution of Java programs.
MetaspaceAn area of non-heap memory where the JVM stores class metadata (information about the classes loaded by the JVM). Unlike the earlier PermGen space, Metaspace can grow dynamically based on system memory.
PS Eden SpaceA part of the heap memory (within the young generation) where new objects are first allocated. Most objects are initially created in Eden Space.
Compressed Class SpaceA part of Metaspace where the JVM stores compressed representations of class metadata to optimize memory usage, especially when the UseCompressedClassPointers option is enabled.
Request Failed per connector GraphDisplays the percentage of failed requests over time.

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.

ParameterDescription
Memory Usage
TypeType of the memory pool i.e, (Heap memory , Non-Heap Memory, Code cache etc.)
Used Memory in MBThe amount of memory used by the Java Virtual Machine (in MB).
Free Memory in MBThe amount of memory free for the Java Virtual Machine (in MB).
Committed Memory in MBThe amount of memory guaranteed to be available for use by the Java Virtual Machine (in MB).
Total Memory in MBThe 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 SizeJVM heap size of JBoss server (in bytes).
Maximum Free Memory (MB)Maximum amount of free memory available (in MB).
Maximum Free MemoryMaximum amount of free memory available (in percentage).
THREAD USAGE
Live ThreadsNumber of threads that are currently in use.
Daemon ThreadsNumber of daemon threads available.
Peak Thread CountThe maximum number of threads in use at any point of time.
Total Threads StartedTotal number of threads started.
CLASS LOADING
Class LoadedThe number of classes currently loaded in the Java virtual machine.
Total Class LoadedThe total number of classes loaded since the Java virtual machine has started execution.
Class UnloadedThe number of classes unloaded since the Java virtual machine has started.
Object Pending FinalizationThe approximate number of objects for which finalization is pending.

Deployments

ParameterDescription
Deployments
NameName of the deployment/war file.
ContextContext name of the web application.
EnabledIndicates whether the deployment is enabled or not. (true or false)
Runtime NameRuntime name of the deployment.
StatusThe status of the deployment.
Sub-DeploymentsThe number of sub-deployments.
ServletsThe number of servlets present for the deployment.
Web Applications
NameName of the web application.
ContextContext name of the web application.
Active SessionsNumber of sessions currently open/active.
Created SessionsNumber of sessions created.
Expired SessionsNumber of sessions expired.
Rejected SessionsNumber of sessions rejected.
Duplicated SessionsNumber 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.

ParameterDescription
EJB Statistics
NameName of the EJB appended with the web module name.
EJBName of the EJB.
Web ModuleName of the web module.
TypeType of EJB. (Any one of the following - "Stateless Session Bean", "Stateful Session Bean", "Entity Bean", "Message Driven Bean")
Create countNumber of EJB bean created.
Removed countNumber of EJB bean removed.
Passive countTotal number of beans that have been passivated.
Ready countThe number of bean instances in ready state.
Method ready countThe number of bean methods in ready state.
Pooled countNumber of EJBs available in the pool.
Servlet Details
NameName of the servlet appended with web module name.
ServletName of the servlet.
Web moduleName of the web module.
Invocation countThe 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
NameName of the session/connection.
Sessions OpenedThe global number of sessions opened since last poll.
Sessions ClosedThe global number of sessions closed since last poll.
Connections RequestedThe global number of connections asked by the sessions since last poll.
Percentage ClosedPercentage of session closed.
Statistics EnabledIndicates whether statistics are enabled or not. (true or false)
Transactions
NameName of the transaction.
CompletedThe global number of transactions known to have completed since the statistics were reset.
SuccessfulThe global number of transactions known to have been successful since the statistics were reset.
Successful TransactionsPercentage of successful transactions.
Queries
NameName of the query.
Query Put CountThe global number of cacheable queries put in cache since last poll.
Query Hit CountThe global number of cached queries successfully retrieved from cache since last poll.
Query Miss CountThe global number of cached queries not found in cache since last poll.
Query Hit RatioThe percentage of queries cache hit.
Query Execution CountThe global number of queries executed since last poll.
Max-time taken to executeThe amount of time taken by the slowest recorded query since last poll.
Slow QueryThe query that is the slowest.
Second level Cache
NameName of the cache.
Put CountThe global number of cacheable entities/collections put in the cache since last poll.
Hit CountThe global number of cacheable entities/collections successfully retrieved from cache since last poll.
Miss CountThe global number of cacheable entities/collections not found in the cache and loaded from the database since last poll.
Hit RatioThe percentage of second level cache hit.
Instances
Instance CreatedThe total number of Enterprise JavaBean (EJB) instances that have been created to handle client requests.
Instance RemovedThe total number of EJB instances that have been destroyed, either after completing their work or due to instance lifecycle policies.
Instances in Passivated StateThe number of stateful EJB instances that have been passivated (temporarily serialized to disk) to conserve memory, and can later be activated when needed.
Messages ProcessedThe total number of client requests (method invocations) successfully processed by the EJB.
Instances in Ready StateThe number of EJB instances that are currently active and ready to serve client requests immediately.
Instances in Pooled State(For stateless session beans) The number of instances currently held in the pool, available for reuse without needing to create new instances for each client request.

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.

ParameterDescription
Pool Usage
NameName of the JDBC pool.
AvailableThe number of available connections in the pool.
ActiveThe number of active connections. Each of the connections is either in use by an application or available in the pool.
CreatedThe number of connections created.
DestroyedThe number of connections destroyed.
WaitThe number of requests that had to wait for a connection.
Maximum UsedThe 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 OutThe number of timed out connections.
Idle Time Out in MinsAmount 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
NameName of the cache.
Current SizeThe number of prepared and callable statements currently cached in the statement cache.
Hit CountThe number of times that statements from the cache were used.
Miss CountThe number of times that a statement request could not be satisfied with a statement from the cache.
Hit RatioThe percentage of prepared statement cache hit.

Web

ParameterDescription
Web Metrics
NameConnector name of the global request processor.
Request CountNumber of requests served by this global request processor since last poll.
Error CountNumber of error request received since last poll.
Maximum TimeMaximum time taken by the global request processor to process a request (in ms).
Processing TimeTime taken by this global request processor to process the requests since last poll (in ms).
Bytes Sent Per SecondAverage number of bytes sent per second.
Bytes Received Per SecondAverage number of bytes received per second.
Requests FailedPercentage of failed requests.

Transactions

ParameterDescription
TRANSACTIONS
TotalThe total number of transactions created, including nested since last poll.
CommittedThe number of committed transaction since last poll.
AbortedThe number of aborted transactions since last poll.
TimedOutThe number of transactions that have rolled back due to timeout since last poll.
NestedThe total number of nested transactions created since last poll.
HeuristicsThe number of transactions in a heuristic state since last poll.
InflightThe number of transactions which have begun but not yet terminated since last poll.
Application rollbacksThe number of failed transactions, including timeouts, whose failure origin was an application since last poll.
Resources rollbackThe number of failed transactions whose failure origin was a resource since last poll.
Successful commitsPercentage of successful commits.

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

Aborted transactions = (Aborted / Total) * 100
TimedOut transactionsPercentage 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.

ParameterDescription
QUEUES
NameName of the queue.
Is pausedIndicates whether the JMS Queue is paused or not.
Messages in QueueThe number of messages currently in this queue.
In DeliveryThe number of messages that this queue is currently delivering to its consumers.
Messages AddedThe number of messages added to this queue since it was created.
Messages ScheduledThe number of scheduled messages in this queue.
Number of ConsumerThe number of consumers consuming messages from this queue.
Currently DeliveringPercentage of message currently delivering.

Currently Delivering = (In Delivery / Messages in Queue) * 100.
In DeliveryThe number of messages that are currently being delivered from the queue to a consumer but have not yet been acknowledged as received.
Messages AddedThe number of new messages that have been added to the queue during the current monitoring period.
TOPICS
NameName of the topic.
Messages in TopicThe number of messages currently in this topic.
No of Durable MessagesThe number of messages for all durable subscribers for this topic.
No of Non-Durable MessagesThe number of messages for all non-durable subscribers for this topic.
SubscriptionsThe number of durable and non-durable subscribers for this topic.
No of Durable SubscribersThe number of durable subscribers for this topic.
No of Non-Durable SubscribersThe number of non durable subscribers for this topic.
Durable MessagesPercentage of durable messages.

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

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

Configuration

ParameterDescription
SERVER CONFIGURATION
Launch TypeLaunch type of the JBoss server.
Host Name / IP AddressHostname/IP address on which the JBoss server is running.
Process TypeThe process type of JBoss server.
JBoss VersionVersion of JBoss running.
Release CodenameRelease codename of the JBoss server.
Server StateCurrent state of the server.
Running ModeThe mode in which the JBoss server is currently running.
Available ProcessorsNumber of processors available for the JBoss server.
Operating SystemOperating system on which the JBoss server is running.
Product NameName of the JBoss product.
Server NameName of the server hosting the JBoss application.
Is MasterIndicates whether the JBoss server is the master or not.
Host Controller NameName of the host controller.
Server GroupName 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 ParametersJBoss 3.2.xJBoss 4.0.x, 4.2.2 GAJBoss 5,5.1JBoss 6.0JBoss 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

Loved by customers all over the world

"Standout Tool With Extensive Monitoring Capabilities"

It allows us to track crucial metrics such as response times, resource utilization, error rates, and transaction performance. The real-time monitoring alerts promptly notify us of any issues or anomalies, enabling us to take immediate action.

Reviewer Role: Research and Development

carlos-rivero
"I like Applications Manager because it helps us to detect issues present in our servers and SQL databases."
Carlos Rivero

Tech Support Manager, Lexmark

Trusted by over 6000+ businesses globally