Configuring AppDynamics with APIM WSO2

The AppDynamics is a monitoring tool which enables you to monitor and manage your entire application-delivery ecosystem, from the mobile app or browser client request through your network, backend databases and application servers and more[1].

It gives you a single view across your application landscape, letting you quickly navigate from the global view of your distributed application right down to the call graphs or exception reports generated on individual hosts[1].

This is describing how to configure AppDynamics with WSO2 APIM product.

  1. First of all, you need to set the AppDynamics in order to configure with the APIM. This video[2] is describing how to register and get the application which required to configure with the APIM.
  2. After completing the above step you will get an AppDynamics Agent and as a second step, you need to configure that with your application. Forthat, you need to configure the application anme in the controller-info.xml file(<AppServerAgent-4.5.7>/conf/controller-info.xml) as follows.

<application-name>APPLICATIONNAME</application-name>

Eg: <application-name>ecomm-prod</application-name>

But this step is not mandatory, because we can pass the application name through the startup script(wso2server.sh file)of the APIM as the below.

-Dappdyamics.agent.applicationName=<APPLICATIONNAME> \

eg:

-Dappdyamics.agent.applicationName=myapp \

Then you do not need to modify that "controller-info.xml"(<AppServerAgent-4.5.7>/conf/controller-info.xml) as we mentioned in the above.

3. Other than the above parameter, we need to pass the below parameters as well by setting them on the startup script(wso2server.sh file).

-javaagent:<Path of javaagent.jar located> \
-Dappdynamics.agent.tierName=<TIERNAME> \
-Dappdynamics.agent.nodeName=<NODENAME> \

Eg:

-Dorg.wso2.ignoreHostnameVerification=true \
-javaagent:/home/nadee/Documents/ticketes/javaagent.jar \
-Dappdynamics.agent.tierName=wso2.apim \
-Dappdynamics.agent.nodeName=org.wso2.carbon \
-DworkerNode=false \

6. With those changes, you can start the server and you will able to see the following logs when starting the server as the below if configured the Appdynamics with the server successfully.

Full Agent Registration Info Resolver found system property [appdynamics.agent.tierName] for tier name [wso2.apim]
Full Agent Registration Info Resolver found system property [appdynamics.agent.nodeName] for node name [org.wso2.carbon]
Full Agent Registration Info Resolver using selfService [true]
Full Agent Registration Info Resolver using selfService [true]
Full Agent Registration Info Resolver using application name [ecomm-prod]
Full Agent Registration Info Resolver using tier name [wso2.apim]
Full Agent Registration Info Resolver using node name [org.wso2.carbon]
Install Directory resolved to[/home/nadee/Documents/ticketes]
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
[Thread-0] Thu Feb 14 11:48:31 IST 2019[DEBUG]: AgentInstallManager - Full Agent Registration Info Resolver is running
[Thread-0] Thu Feb 14 11:48:31 IST 2019[INFO]: AgentInstallManager - Full Agent Registration Info Resolver found system property [appdynamics.agent.tierName] for tier name [wso2.apim]
[Thread-0] Thu Feb 14 11:48:31 IST 2019[INFO]: AgentInstallManager - Full Agent Registration Info Resolver found system property [appdynamics.agent.nodeName] for node name [org.wso2.carbon]
[Thread-0] Thu Feb 14 11:48:31 IST 2019[INFO]: AgentInstallManager - Full Agent Registration Info Resolver using selfService [true]
[Thread-0] Thu Feb 14 11:48:31 IST 2019[INFO]: AgentInstallManager - Full Agent Registration Info Resolver using selfService [true]
[Thread-0] Thu Feb 14 11:48:31 IST 2019[INFO]: AgentInstallManager - Full Agent Registration Info Resolver using application name [ecomm-prod]
[Thread-0] Thu Feb 14 11:48:31 IST 2019[INFO]: AgentInstallManager - Full Agent Registration Info Resolver using tier name [wso2.apim]
[Thread-0] Thu Feb 14 11:48:31 IST 2019[INFO]: AgentInstallManager - Full Agent Registration Info Resolver using node name [org.wso2.carbon]
[Thread-0] Thu Feb 14 11:48:31 IST 2019[DEBUG]: AgentInstallManager - Full Agent Registration Info Resolver finished running
[Thread-0] Thu Feb 14 11:48:31 IST 2019[INFO]: AgentInstallManager - Agent runtime directory set to [/home/nadee/Documents/ticketes/ver4.5.7.24863]
[Thread-0] Thu Feb 14 11:48:31 IST 2019[INFO]: AgentInstallManager - Agent node directory set to [org.wso2.carbon]
[Thread-0] Thu Feb 14 11:48:31 IST 2019[INFO]: JavaAgent - Using Java Agent Version [Server Agent #4.5.7.24863 v4.5.7 GA compatible with 4.4.1.0 radaa5f09cafb67679c435337aa86ecda35877078 master]
[Thread-0] Thu Feb 14 11:48:31 IST 2019[INFO]: JavaAgent - Running IBM Java Agent [No]
[Thread-0] Thu Feb 14 11:48:31 IST 2019[INFO]: JavaAgent - Java Agent Directory [/home/nadee/Documents/ticketes/ver4.5.7.24863]
[Thread-0] Thu Feb 14 11:48:31 IST 2019[INFO]: JavaAgent - Java Agent AppAgent directory [/home/nadee/Documents/ticketes/ver4.5.7.24863]
2019-02-14 11:48:32,070 INFO Log4j appears to be running in a Servlet environment, but there's no log4j-web module available. If you want better web container support, please add the log4j-web JAR to your web archive or server lib directory.
Running obfuscated agent
Registered app server agent with Node ID[32990240] Component ID[144678] Application ID [91254]
Started AppDynamics Java Agent Successfully.

[1]. https://medium.com/@wso2tech/monitor-wso2-products-using-appdynamics-8faf72e83a7

[2]. https://www.youtube.com/watch?list=PLsEKDW_bVMwt34IDojYbQRg1kOP2IuLtd&time_continue=160&v=CoSwbpJTh_c

--

--

--

Senior Software Engineer at WSO2

Recommended from Medium

How to Create an Azure Function App

Construct Bollinger Band Trend with Elasticsearch

Laravel Error handling using Larax

Introduction to Matrix.farm

Implementing OrderedMap in Go 2.0 by Using Generics with Delete Operation in O(1) Time Complexity

A Brief History of Existential Threats to Open Source

A novel approach to handling remote code

Challenges implementing DDD

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Nadee Poornima

Nadee Poornima

Senior Software Engineer at WSO2

More from Medium

EXCEPTION HANDLING

Maven — Welcome to Apache Maven “Hello World”

Regular Functions and Arrow Functions in this keyword

Performance /Load Testing Phases