TEC1750412: How do I monitor Adobe Experience Manager using APM Introscope Java Agent ?

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

Author: KulbirNijjer

Document ID:  TEC1750412

Last Modified Date:  11/10/2014

  • Products
    • CA Application Performance Management
  • Releases
    • CA Application Performance Management:Release:CA APM 9.6
    • CA Application Performance Management:Release:9.6
    • CA Application Performance Management:Release:9.5
    • CA Application Performance Management:Release:9.1.0
    • CA Application Performance Management:Release:9.1.1
    • CA Application Performance Management:Release:CA APM 9.5
  • Components
    • APM AGENTS
    • INTROSCOPE AGENT
    • APPLICATION PERFORMANCE MANAGEMENT

 

 

 

Environment:

Application Server: Adobe Experience Manager (based on Adobe CQ Server)

Version: 5.6.0

JVM version: 1.6

 

Solution:

Adobe Experience Manager(AEM) is an Publishing Application built on top of Adobe CQ platform.

To monitor AEM with Introscope Java Agent, make the following changes to the Agent\Application Server configuration.

 

Step 1:

Locate sling.properties file in Application Server installation directory and add the line below so Sling OSGI classes can properly locate Agent code

sling.bootdelegation.simple=com.wily.*

 

Step 2:

Create a new pbd, name it aem.pbd, and add the following directives:

SkipClassForFlag: org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase JSPTracing

IdentifyInheritedAs: org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase JSPTracing

SkipClassForFlag: org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase HTTPServletTracing

 

Step 3:

Add the aem.pbd to the agent directive list property in IntroscopeAgent profile:

introscope.autoprobe.directivesFile=default-typical.pbl,hotdeploy,aem.pbd

 

Important: Step 2 and 3 are critical. Otherwise there will be lot of ClassNotFound Exceptions similar to the one shown below in the Appserver error logs due to agent instrumenting HttpJspBase class, potentially preventing the application from working properly

java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:247)

at com.wily.introscope.agent.trace.servlet.ServletHelperFactory.getServletHelper(ServletHelperFactory.java:39)

at com.wily.introscope.appmap.agent.trace.hc2.AppMapApplicationNameFormatter.quickGetComponentName(AppMapApplicationNameFormatter.java:62)

        ....................................................

       at org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

and also Agent logs will have the following error:

[ERROR] [IntroscopeAgent.hc2.AppMapApplicationNameFormatter] An error occurred getting the application name: java.lang.NullPointerException

 

Note:  Without custom pbd directives, most of the JSP code in Adobe EM will not be instrumented\reported by the Wily Agent.

 

search-kb.jpg

Search the Entire CA APM Knowledge Base

Attachments

    Outcomes