Dynatrace AppMon 2017 May is available for everyone along the continuous delivery pipeline that wants to push better performing and scaling code into production. Whether you want to develop, test, architect or run your application in production – just sign up for the Dynatrace AppMon Personal License, learn how to best use it through my YouTube Tutorials or get started by following the steps in this blog post!
In case you are not familiar with Dynatrace AppMon I suggest you watch the “What is Dynatrace AppMon” video (or on YouTube).
What Dynatrace AppMon Delivers!
After installing Dynatrace AppMon and instrumenting your application tiers you obtain full end-to-end visibility of every transaction initiated by an end user (through the browser or mobile app), a REST/Web Service call, a batch job, or even a rich client application through the newly-innovated web interface. The underlying technology that captures all data is called PurePath. PurePath enables Dynatrace AppMon to capture end-to-end transaction traces – from Browser/Mobile all the way to your database. PurePath is extended with underlying infrastructure monitoring data (process, host, container, cloud) through our PureStack technology. Here are some examples on how this data is presented to you in the Dynatrace AppMon Web Interface:
What do you actually install?
This is a very common question. If you decide to go with Dynatrace AppMon you most likely installed all Dynatrace AppMon components (server, collector, agents) in your environment. For evaluation or when using AppMon during development you can install everything on a single box. Thanks to the AppMon architecture we can monitor large-scale distributed environments. Here is an overview of the most critical components which are installled:
If you have any further questions – please reach out to us via the Dynatrace Online Forum, register for one of our Live Q&A Sessions as part of our Performance Clinic Series, or send me an email. Now let’s get started with several easy steps.
Step #1: Register, Download, Install
After you register for your Dynatrace AppMon Personal License you will receive an email with a link you need to follow. This will create an account on our Dynatrace Community as well as sending you another email with a license file (this is needed in case the machine you want to test drive Dynatrace AppMon doesn’t have access to the internet). You will eventually end up in your My Dynatrace AppMon Trial space that guides you through all steps.
Step #2: Connect your Application
After successfully installing Dynatrace AppMon and activating your license you will see the following screen in your Dynatrace AppMon Client:
Option #1: Connecting through the Application Configuration Wizard
If you click on “Configure” you will be guided through a Wizard that allows you to specify which application component you want to instrument. You can first decide on the type of the app. For most evaluation use cases you should select “Web / Java / .NET”. This wizard also allows you to configure PHP and Node.js components.
Next, the wizard will guide you through the selection for the specific technology (Java, .NET, PHP), application server type (Tomcat, JBoss, WebSphere, IIS, Node.js, Glassfish) as well as where the component is deployed (locally or on a remote machine). The wizard also allows you to enable end-user monitoring and database instance monitoring:
Option #2: Inject the agent into your application
The wizard is basically telling you how to download and install the agent for your technology, how to name the agent, and then it validates that the agent is connected correctly. The wizard also makes changes to the System Profile to confirm Dynatrace AppMon is expecting these agents.
Another option I favor when quickly setting up monitoring for an application is to bypass the agent, and simply add the Dynatrace AppMon agent to my application with default settings and default names. This can be done “manually” as described in the documentation/video tutorials:
- Java: Java Agent Configuration Doc or Java YouTube Tutorial
- .NET: .NET Agent Configuration Doc or .NET YouTube Tutorial
- PHP: PHP Agent Configuration Doc or PHP YouTube Tutorial
- Web Server: Web Server Agent Configuration Doc or Java YouTube Tutorial (includes Web Server configuration)
- js: Node.js Agent Configuration Doc or Node.js YouTube Tutorial
Let’s take a look at an example of what i just described. After I install Dynatrace AppMon on my local machine all I need to do to connect my local Tomcat to Dynatrace is add this line to the catalina.bat or cataline.sh file:
set CATALINA_OPTS=%CATALINA_OPTS% -agentpath:”C:\Program Files\Dynatrace\Dynatrace 7.0\agent\lib64\dtagent.dll”=name=MyTomcat,server=LOCALHOST
This will instruct the launch scripts for my Tomcat to add the -agentpath command line argument, which loads our Dynatrace AppMon Java Agent for the 64bit JVM. If you use a 32bit JVM then simply load the library from /lib/dtagent.dll. I specified “MyTomcat” for the name parameter which will later appear in Dynatrace. This is an easy way to give logical names to every one of my logical tiers. The server parameter in the end tells the agent which Dynatrace AppMon Collector to connect with. If you have a remote installation, simply specify the host name or IP. That’s it. The agents will now automatically map to the default System Profile which is called “Monitoring”. At a later stage you can return to that System Profile and change configuration if necessary!
Step #3: Generate some load
Once your application components are all instrumented and connected to your Dynatrace AppMon Collectors and Server, it is time to execute transactions against your app. If you have a load testing script I suggest you run some load. If you are instrumenting a production system, wait until your end users are hitting the app. In any case, you can also just open your browser and navigate through the main use cases of your application. Everything you do on the app will be captured by Dynatrace AppMon. PurePaths and PureStack information will be traced, stored and automatically analyzed for you!
Tip: If you use any type of load-generating tool to generate traffic take a look at our Load Testing Integration Use Cases.
Step #4: Lets Analyze your Data
Prior to Dynatrace AppMon 2017 May I recommended remaining in the Dynatrace AppMon Client because of its very rich diagnostics and dashboarding capabilities. However, with Dynatrace AppMon 2017 May, I recommend to open your browser and navigate to https://yourdtserver:9911 – in my case that is https://localhost:9911.
If you run locally you will probably get an SSL certificate warning. Simply bypass it but remember that, at a later point, you might want to set up your certificates correctly. Always keep security top of mind!
Now there is plenty of data collected by Dynatrace AppMon that will be presented to different stake holders in the best most actionable way. Some of the long-term trending dashboards or business analytics data might only be valuable if you are analyzing a production environment (with real users on the application), or you run an extensive load test simulating end users.
Each time I install Dynatrace AppMon on an application that is either in development or where I do not significant load on the system, I typically first navigate through the application myself with my local browser. Then I check out the following areas:
#1: Optimize End User Performance from from Browser to PurePath
If I am dealing with a web application and Dynatrace AppMon captures end-user data, I click on “Visits” and then locate my visitor. My visitor typically shows up about 15-30 seconds after I hit the first page of the app. If there are several users on the system I can easily detect mine by searching for my user on IP address or my browser type. From there I can see all my user actions and how long each took. I will see the full waterfall and can drill into server-side PurePaths in case we have a performance issue:
#2: Analyze my Application Hotspots
When I need to analyze application performance issues or failures based on coding, architectural or scalability issues, I typically look at the Response Time Hotspot (which layer of my code shows the biggest issues), and the Transaction Flow (which tiers in my end-to-end transaction are having issues). From here I can drill deeper into specific PurePaths that show which methods are slow or which calls to the database or web services are impacting performance. I also love the Automatic Architectural Problem Detection feature we introduced with Dynatrace AppMon 6.5 that has been enhanced in Dynatrace AppMon 2017 May. This feature makes everyone a performance, scalability and architectural expert.
#3: Analyze Load or Deployment Impact
If I have a production environment or a load environment then I typically change my analysis approach toward understanding how different load or a new deployment changes the performance and scalability behavior of the application and how it eventually impacts and user experience.
With Dynatrace AppMon 2017 May we introduced a new Application Overview that shows how frontend and backend performance is correlating with load. It also shows me any alerts (infrastructure or baseline violations). This view is also the starting point to analyze architectural and infrastructure related problems that impact performance, scalability and our end users under special load conditions or after a new deployment:
Step #5: Collaborate – Share Your PurePath
When we launched our Free Trial and Personal License program we also launched “Share Your PurePath”, which is your chance to share and discuss data captured by Dynatrace AppMon. While we now detect most of the problem patterns automatically, and highlight them in the PurePath and PurePath Analysis view, there might still be cases where you want to have a second opinion. Dynatrace AppMon 2017 May makes it even easier to share PurePaths with us or your peers. In the PurePath view, click on the “…” link in the top right corner. Then select “Export Session”. The browser will download your session file. Now send it off as explained in “Share Your PurePath”
Now its your turn!
I hope this blog gave you some useful insights into what Dynatrace AppMon does, how it works, how to install it, and how it can help improve application and end-user performance. To get started, sign up for the Dynatrace AppMon Personal License. And keep us posted if you have questions @ https://answers.dynatrace.com.