DX Application Performance Management

Expand all | Collapse all

JMX merics not captured in weblogic Application server

  • 1.  JMX merics not captured in weblogic Application server

    Posted Oct 26, 2017 05:59 AM

    Ver Details :
    APM Ver--------10.5
    Agent Ver------10.1
    weblogic ver---10.3.6

     

    Agent has been configured in weblogic application server through weblogic console ( jvm arguments ) with following arguments :

     

    <-javaagent:/*/product/oracle/11.1.1/*/wlserver_10.3/*/wily/Agent.jar>
    <-Dcom.wily.introscope.agentProfile=/ora/product/oracle/11.1.1/*/*_10.3/*/wily/core/config/IntroscopeAgent_*_*.profile>

     

    JMX properties enabled in agent profile file :

     

    introscope.agent.jmx.enable=true
    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.jsr77.disable=true

     

    Adding JMX filter with following lines :
    introscope.agent.jmx.name.filter=JMSServerRuntime=LOGOBAMJMSServer_auto_1,JMSServerRuntime=LOGOJMSServer_auto_1

     

    introscope.agent.jmx.excludeStringMetrics=true

     


    ISSUE : agent is reporing but JMX metrics not capturing .

     

    NOTE : Same setup is running fine in test envionment with same agent/application version.

     

    Please assit if someone ha faced such issue...



  • 2.  Re: JMX merics not captured in weblogic Application server

    Broadcom Employee
    Posted Oct 26, 2017 08:45 AM

    Dear Team:

     

    If you are an APM Admin/Customer or CA partner, can you please first to provide any suggestions to help Dip with the JMX metrics?

     

    Thanks,

    Matt



  • 3.  Re: JMX merics not captured in weblogic Application server
    Best Answer

    Broadcom Employee
    Posted Oct 26, 2017 11:36 AM

    Where is your configuration for the Startup Class?

     

    Create a Startup Class 

    Creating a WebLogic startup class for an application server or cluster enables the Java agent to collect additional information from the application server. If you configure a startup class, the Java agent can automatically determine its name. The startup class also enables the Java agent to report JMX metrics that are used to determine application health.

    Creating a startup class also enables Automatic Agent Naming. Agent names on supported application servers are composed of several pieces of information. For Oracle WebLogic, the agent name is composed of: Domain (data center) + cluster + instance of WLS.

    Follow these steps:

    1. Open the WebLogic Administrative console and select the Environments folder.
    2. Click the Startup & Shutdown folder, then click Configure a New Startup Class.
    3. In the Name field, enter:

      Introscope Startup Class

    4. In the ClassName field, enter:

      com.wily.introscope.api.weblogic.IntroscopeStartupClass

    5. Click Create
      The Target and Deploy tab displays.
    6. Select the servers where this startup class is available. 
    7. Click Apply and select the Run above the Application Deployments option.
    8. Add the location of the WebAppSupport.jar to the <server or application server> startup classpath.
    9. Restart the application server.


  • 4.  Re: JMX merics not captured in weblogic Application server

    Posted Oct 30, 2017 04:16 AM

    Hi Haruhiko

    Thanks for your Replay but my problem is JMX metrics not captured by agent after enabling the JMX Parameter and applying the filter, Below find the change made in IntroscopeAgent.profile file.

     

    JMX properties enabled in agent profile file:

     introscope.agent.jmx.enable=true
    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.jsr77.disable=true

     

    Adding JMX filter with following lines:
    introscope.agent.jmx.name.filter=JMSServerRuntime=LOGOBAMJMSServer_auto_1,JMSServerRuntime=LOGOJMSServer_auto_1

     introscope.agent.jmx.excludeStringMetrics=true

     

    Note: Same configuration are working fine in test Environment.

     

    Thanks,

    Dip Narayan



  • 5.  Re: JMX merics not captured in weblogic Application server

    Broadcom Employee
    Posted Oct 30, 2017 04:20 AM

    You cannot capture JMX metrics from WLS unless you setup the startup class. Please confirm with your WLS admins that this has been configured correctly has I've outlined previously.



  • 6.  Re: JMX merics not captured in weblogic Application server

    Posted Nov 13, 2017 03:00 AM

    HI Haruhiko,

    i have setup the startup class and now able to see JMX metrics under agent node but agent name is changed.

    There is a scenario where single weblogic startup file is running in two app server (cluster environment , shared one startup file)  for 6 different domains ( e.g DT1 , DT2, DT3, …..) . How to modify the agent name parameter in single weblogic startup file.

    i have also turnoff the agent Auto Naming

    introscope.agent.agentAutoNamingEnabled=false

    Please suggest.

    Thanks,

    Dip

     



  • 7.  Re: JMX merics not captured in weblogic Application server

    Broadcom Employee
    Posted Nov 13, 2017 03:12 AM

    If you disable autonaming, then you have two options: use the agentName property in agent profile or provide the name as a JVM argument.

    Because of what you describe is your environment, the only option is to use the JVM argument:

    -Dcom.wily.introscope.agent.agentName=<myAgentName>

    So you will need to work with your WLS admins to add this additional property to your XML file.



  • 8.  Re: JMX merics not captured in weblogic Application server

    Posted Nov 13, 2017 03:24 AM

    HI Haruhiko,

    Thanks for your suggestion, Please suggest which XML file is require for modification in this situation and how to hard-code multiple agents name in this XML file.

    please share an Example.

     

    Thanks,

    Dip



  • 9.  Re: JMX merics not captured in weblogic Application server

    Broadcom Employee
    Posted Nov 13, 2017 03:27 AM

    You will need to edit the configuration file that has the application server JVM arguments. Your WLS admins will know which file and location.



  • 10.  Re: JMX merics not captured in weblogic Application server

    Posted Nov 13, 2017 03:46 AM

    Hi Haruhiko,

    Thanks,

    can you share any example, where to add multiple agents name in config.xml file and what rule i will follow like

    (-Dcom.wily.introscope.agent.agentName=<myAgentName1,myAgentName2,myAgentName2,....>).

    Or

    -Dcom.wily.introscope.agent.agentName=<myAgentName1>
    -Dcom.wily.introscope.agent.agentName=<myAgentName2>
    -Dcom.wily.introscope.agent.agentName=<myAgentName3>
    .
    .
    .
    .

    Thanks,
    Dip



  • 11.  Re: JMX merics not captured in weblogic Application server

    Broadcom Employee
    Posted Nov 13, 2017 03:50 AM

    Each agent name will need to go into a section of config.xml where you have your application server JVM arguments.

     

    weblogic11g - Custom arguments to set in Weblogic JVM - Stack Overflow 



  • 12.  Re: JMX merics not captured in weblogic Application server

    Broadcom Employee
    Posted Nov 13, 2017 12:44 PM

    I did want to mention one other option:

    If your application name is already defined as a Java system property, you can use that to name your agent. Just add that property to your agent profile at this property:

    introscope.agent.agentNameSystemPropertyKey=


  • 13.  Re: JMX merics not captured in weblogic Application server

    Broadcom Employee
    Posted Oct 30, 2017 08:03 PM

    Is it possible that you might have a syntax problem in the filter property? i.e. you have

    introscope.agent.jmx.name.filter=JMSServerRuntime=LOGOBAMJMSServer_auto_1,JMSServerRuntime=LOGOJMSServer_auto_1

    However the Type/attribute separator should be : and not =  i.e.

    introscope.agent.jmx.name.filter=JMSServerRuntime:LOGOBAMJMSServer_auto_1,JMSServerRuntime:LOGOJMSServer_auto_1

     

    Also here is a relevant KB to compare with JMX visible via jconsole

    How to configure Agent 9.5 with Weblogic 11g and Enable Remote JMX collection 



  • 14.  Re: JMX merics not captured in weblogic Application server

    Broadcom Employee
    Posted Oct 26, 2017 12:53 PM