TEC1042397: JMX in Jboss 7.x / jboss eap 6.x

Document created by SergioMorales Employee on May 26, 2016Last modified by SamCreek on May 26, 2016
Version 2Show Document
  • View in full screen mode

Document ID:  TEC1042397
Last Modified Date:  2/1/2015

Author: SergioMorales

 

  • Products
    • CA Application Performance Management
  • Releases
    • CA Application Performance Management:Release:CA APM 9.6
    • CA Application Performance Management:Release:CA APM 9.7
    • CA Application Performance Management:Release:9.5
    • CA Application Performance Management:Release:9.6
  • Components
    • INTROSCOPE AGENT
    • APM AGENTS

You notice that the agent is unable to identify newly added MBeans to the MbeanServer. This issue is related to bug in JBOSS Appserver, CA technologies has already reported the issue to Redhat. In the meantime, we have made a code change in the CA Agent side to be able to handle this scenario : Enhancement#274850

Now, instead of relying on Notification Listeners to identify new Mbeans, we poll for all Mbeans in all Mbean Servers (just like how JConsole does), by enabling a new property: com.wily.introcope.agent.jmx.syncWithAllMbeanServersForcibly=true

This enhancement is available in 9.6 and onward versions.

Below a test scenario illustrating the problem and the result after enabling the enhancement

 

Step 1: Enable JMX collection in the Agent side:

In the IntroscopeAgent.profile enabled jmx : introscope.agent.jmx.enable=true

In this example, all other jmx properties remain the same, using the default values.

#introscope.agent.jmx.maxpollingduration.enable=true

#introscope.agent.jmx.ratecounter.enable=true

#introscope.agent.jmx.ratecounter.reset.enable=true

#introscope.agent.jmx.compositedata.enable=true

#introscope.agent.jmx.name.primarykeys=

  1. introscope.agent.jmx.name.filter=

#introscope.agent.jmx.name.filter=jboss*service=invoker*type=pooled,jboss*service=TransactionManager,jboss.j2ee*plugin=pool,jboss*plugin=cache,jboss.jca*service=ManagedConnectionPool,jboss.jca*service=WorkManagerThreadPool,jboss.mq*service=DestinationManager,jboss.mq*service=MessageCache,jboss.mq*service=PersistenceManager,jboss.mq.destination*service=Queue,jboss.mq*service=Topic,jboss.system*service=ThreadPool,jboss.system*type=ServerInfo,jboss.web*type=Cache,jboss.web*type=Manager,jboss.web*type=GlobalRequestProcessor,jboss.web*type=ThreadPool

#introscope.agent.jmx.name.filter=jboss.ws*service=ServerConfig,jboss.modules*type=ModuleLoader,jboss.as*subsystem=jca

#introscope.agent.jmx.ignore.attributes=server

  1. introscope.agent.jmx.excludeStringMetrics=true

 

Copy AGENT_HOME/common/WebAppSupport.jar to AGENT_HOME/core/ext

 

Step 2: Restart the server, wait for 10 or 15 minutes.

 

Step 3: Verify JMX/MBean reporting.

Find out the server instance PID

 

step13a.png

Launch jconsole using  /jdk1.6.0_45/bin/jconsole

Select the same process

Click “Connect” button

step13b.png

Click “MBeans”

 

Expand  Jboss.as > datasources > ExampleDS > pool > attributes

step13c.png

AvailableCount = 20

The same integer counter should display in investigator.

  1. Result in the Investigator. ExampleDS information is missing. à INCORRECT

 

step13d.png

Step 4: Enable Mbean enhancement.

Stop Appserver

Add the below NEW property to the Agent profile

  1. com.wily.introcope.agent.jmx.syncWithAllMbeanServersForcibly=true

Restart the Appserver

Wait for 20 minutes approx.

  1. Result in Investigator: ExampleDS information is now reporting à CORRECT

step14a.png

Next Page:

step14b.png

 

 

Search the Entire CA APM Knowledge Base

 

search-kb.jpg

 

Attachments

    Outcomes