JBoss 4.x - 7.0
Configuration
Before using a JBoss monitor, several of the JBoss server jars must be installed in NeoLoad jmxlib/jboss directory.
JBoss 4.x
To connect NeoLoad to JBoss 4.x, several of the JBoss server jars must be installed in NeoLoad jmxlib/jboss directory.
Copy to <neoload>/jmxlib/jboss directory the following files from the JBoss directory:
- <jboss>/client/jbossall-client.jar
- <jboss>/lib/jboss-jmx.jar
- <jboss>/server/<your-jboss-instance>/lib/jboss-management.jar
After copying the files, it is unnecessary to restart NeoLoad. The files are automatically synchronized with the Monitoring Agent once the changes have been made.
JBoss 5.x
To connect NeoLoad to JBoss 5.x, several of the JBoss server jars must be installed in NeoLoad jmxlib/jboss directory.
Copy to <neoload>/jmxlib/jboss directory the following files from the JBoss directory:
- <jboss>/lib/jboss-jmx.jar
- <jboss>/common/lib/jboss-management.jar
- <jboss>/client/jboss-client.jar
- <jboss>/client/jboss-common-core.jar
- <jboss>/client/jboss-integration.jar
- <jboss>/client/jboss-javaee.jar
- <jboss>/client/jboss-logging-spi.jar
- <jboss>/client/jboss-remoting.jar
- <jboss>/client/jboss-security-spi.jar
- <jboss>/client/jboss-serialization.jar
- <jboss>/client/jbosssx-as-client.jar
- <jboss>/client/jbosssx-client.jar
- <jboss>/client/jmx-invoker-adaptor-client.jar
- <jboss>/client/jnp-client.jar
After copying the files, it is unnecessary to restart NeoLoad. The files are automatically synchronized with the Monitoring Agent once the changes have been made.
JBoss 6.X and 7.0
Before creating a JBoss 6.X - 7.0 monitor, the JBoss server must be configured to accept JMX connections. In these versions, JBoss server uses a J2EE 6 -compatible connector. Using this configuration, no libraries need to be added to NeoLoad.
- JBoss 6.X
To configure a JBoss 6.X monitor, edit or create the <JBoss>/server/<instance>/deploy/jmx-jboss-beans.xml file. See the file in the default instance for a sample configuration.<!-- ... --><bean name="JMXConnector" class="org.jboss.system.server.jmx.JMXConnector"><!-- specify the NIC that will run the JMX connector --><property name="hostname"><value-factory bean="ServiceBindingManager" method="getStringBinding"parameter="jboss.remoting:service=JMXConnectorServer,protocol=rmi"/></property><!-- specify the port that the JMX connector is looked up through (used in JMXServiceURL) --><!-- commenting this out, will use 1090 as default --><property name="rmiRegistryPort" class="int"><!-- Get the port from the ServiceBindingManager --><value-factory bean="ServiceBindingManager" method="getIntBinding"parameter="jboss.remoting:service=JMXConnectorServer,protocol=rmi"/></property><!-- specify the port that the RMI server listens to --><!-- commenting this out, will use 1091 as default --><property name="rmiServerPort" class="int"><!-- Get the port from the ServiceBindingManager --><value-factory bean="ServiceBindingManager" method="getIntBinding"parameter="jboss.remoting:service=JMXConnectorServer,protocol=rmiServer"/></property><!-- ... --></bean><!-- ... -->- JBoss 7.0
To configure a JBoss 7.0 monitor, edit or create the <JBoss>/standalone/configuration/standalone.xml file. Note that the org.jboss.as.jmx extension must be activated.By default, and for security reasons, monitoring the JMX interface of JBoss servers version JBoss 7.0 is only available locally. To activate the remote monitoring of the server, the configuration file <JBoss7.0>/standalone/configuration/standalone.xml must be edited and the JMX socket-binding on the public interface must be defined:
<!-- ... --><interfaces><!-- ... --><interface name="public"><any-address/></interface></interfaces><socket-binding-group name="standard-sockets" default-interface="public"><!-- ... --><socket-binding name="jmx-connector-registry" interface="public" port="1090"/><socket-binding name="jmx-connector-server" interface="public" port="1091"/><!-- ... --></socket-binding-group><!-- ... -->
Supported versions
Several JBoss server versions are supported, such as JBoss 4.0.X, JBoss 4.2.X, JBoss 5.X, JBoss 6.X and JBoss 7.X. NeoLoad automatically hides any counters that are not supported by a particular JBoss version.
Connection settings
Defining a connection to a JBoss server requires the name or IP address of the machine to be monitored, as well as the connection port (the default port is 1099). The port is the JBoss server JNP connection port.
For JBoss 4.0.X and 4.2.X, connection port is the Port attribute in the Mbean referenced by org.jboss.naming.NamingService in the server\<your-jboss-instance>\conf\jboss-service.xml file.
<mbean code="org.jboss.naming.NamingService"name="jboss:service=Naming"xmbean-dd="resource:xmdesc/NamingService-xmbean.xml">...<!-- The listening port for the bootstrap JNP service. Set this to -1to run the NamingService without the JNP invoker listening port.--><attribute name="Port">1099</attribute>...For JBoss 5.0.X, connection port is the Port attribute of the service named jboss:service=Naming in the server\<your-jboss-instance>\conf\bindings.xml file.
<!-- Naming Service --><bean class="org.jboss.services.binding.ServiceBindingMetadata"><property name="serviceName">jboss:service=Naming</property><property name="bindingName">Port</property><property name="port">1099</property></bean>For JBoss 5.1.X, connection port is the Port attribute of the service named jboss:service=Naming in the server\<your-jboss-instance>\conf\bindingservice.beans\META-INF\bindings-jboss-beans.xml file.
<!-- Naming Service --><bean class="org.jboss.services.binding.ServiceBindingMetadata"><property name="serviceName">jboss:service=Naming</property><property name="bindingName">Port</property><property name="port">1099</property></bean>If the JBoss server has been configured for secured JNP, a valid user account must be provided with which to connect to the JBoss Administration Console.
If the JBoss server is being monitored from behind a firewall, the following ports must be opened:
- 1099 (configurable through the Port attribute in the jboss-service.xml file)
- 1098 (configurable through the RmiPort attribute in the jboss-service.xml file)
- 4444 (configurable through the RmiObjectPort attribute in the jboss-service.xml file)
Create a JBoss monitor
NeoLoad makes it possible to create a new monitor either using the monitored machine creation wizard, as described in Create and configure a monitored machine, or from an existing monitored machine, as described in Create and configure a monitor.
NeoLoad displays a list of the EARs (Enterprise Archive) and WARs (Web Application archive) deployed on the configured server. It then automatically selects the most appropriate counters for each of the selected applications.
Available counters
All JBoss counters are documented here. Depending on the JBoss version, some counters may be automatically hidden because they are not supported by this particular JBoss version.
- Cache. This section allows monitoring the cache for each application.
- cacheSize. Current cache size in KB.
- hitsCount. Number of cache hits since last call.
- accessCount. Number of accesses to the cache since last call.
- Session. This section allows monitoring the sessions for each application.
- activeSessions. Number of active sessions at this moment.
- sessionCounter. Number of sessions created by this manager since last call.
- maxActive. Maximum number of active sessions so far.
- sessionMaxAliveTime. Longest time an expired session had been alive.
- sessionAverageAliveTime. Average time an expired session had been alive.
- rejectedSessions. Number of sessions rejected since last call due to maxActive being reached.
- % rejectedSessions. Percentage of sessions rejected since last call due to maxActive being reached.
- expiredSessions. Number of sessions that expired (does not include explicit invalidations) since last call.
- RequestProcessor. Provides management information on the processed requests.
- requestCount. Number of requests processed by this processor since last call.
- errorCount. Number of errors since last call.
- % errorCount. Percentage of errors since last call.
- bytesSent. Number of bytes sent by this processor since last call.
- maxTime. Longest time a request processing take.
- processingTime. Request processor processing time since last call.
- DataSource. Provides data source connection pool information for each data source.
- InUseConnectionCount. Number of connections currently in use.
- % InUseConnectionCount. Percentage of connections currently in use.
- MaxConnectionsInUseCount. Maximum number of connections currently in use so far.
- ConnectionCount. Number of connections.
- MaxSize. Maximum of connections.
- ConnectionCreatedCount. Number of connections created since last call.
- ConnectionDestroyedCount. Number of connections physically destroyed since last call.
- Pool Configuration. Textual description of data source pool configuration.
- ThreadPool. Monitors thread pool information for each pool.
- currentThreadsBusy. Number of busy threads in the pool.
- % currentThreadsBusy. Percentage of busy threads in the pool.
- currentThreadCount. Number of threads in the pool.
- maxThreads. Maximum number of threads in the pool.
- threadsConfiguration. Textual description of connection pool configuration.
- Transactions. Monitors transactions for the whole server.
- TransactionCount. Number of active transactions.
- CommitCount. Number of committed transactions since last call.
- RollbackCount. Number of transactions that have been rolled back since last call.
- % RollbackCount. Percentage of transactions that have been rolled back since last call.
- JMS.
- Queue. The following counters are presented for each JMS queue.
- InProcessMessageCount. Number of in process messages in the queue.
- ScheduledMessageCount. Number of scheduled messages in the queue.
- QueueDepth. Depth of the queue.
- SubscribersCount. Number of active subscribers for the queue since last call.
- ReceiversCount. Number of receivers waiting for a message since last call.
- Topic. A JMS Topic allows management of the message flow from publisher to subscribers. The following counters are shown for each JMS topic.
- AllMessageCount. Number of all messages in the topic (DurableMessageCount + NonDurableMessageCount).
- AllSubscriptionsCount. Number of all subscribers in the topic (DurableSubscriptionsCount + NonDurableSubscriptionsCount).
- DurableMessageCount. Number of persistent messages in the topic. If the subscriber is not connected to the topic, these messages will be delivered the next time the subscriber connects.
- NonDurableMessageCount. Number of non-persistent messages in the topic. If the subscriber is not connected to the topic, these messages will be never delivered to the subscriber.
- DurableSubscriptionsCount. Number of subscribers for persistent messages in the topic.
- NonDurableSubscriptionsCount. Number of subscribers for non-persistent messages in the topic.
- EJB. Monitors invocation counts for each EJB.
- CreateCount. Number of create invocations since last call.
- RemoveCount. Number of remove invocations since last call.
- EJB3. Monitors invocation counts for each EJB compatible with EJB3.0. The counters available depend of the current selected EJB kind.
- CreateCount. Number of create invocations since last call.
- RemoveCount. Number of remove invocations since last call.
- AvailableCount. Number of instances currently available.
- MaxSize. Maximum number of instances.
- CurrentSize. Number of instances allocated and ready to be used (often equals to CacheSize).
- CacheSize. Number of instances in the cache.
- TotalSize. Total Number of instances (CacheSize + PassivatedCount).
- PassivatedCount. Number of instances that have been passivated (beans that have been serialized by the application server).
- MinPoolSize. Minimal size pool.
- MaxPoolSize. Maximum size pool.
- MaxMessages. Maximum number of messages managed.
- VM. Monitors the VM Heap.
- FreeMemory. Amount of memory available (in bytes).
- MaxMemory. Maximum amount of memory (in bytes) that can be used
- UsedMemory. Amount of memory currently used (in bytes).
- % UsedMemory. Percentage of memory currently used.
- Description. Textual description about the server.
- Specification.
- Host. Textual description about operating system and server hardware.
- JVM. Textual description for the Java Runtime running JBoss server.
- Version.
- Server. Textual description for JBoss server components version.
Home