About the Author

Andreas Grabner has been helping companies improve their application performance for 15+ years. He is a regular contributor within Web Performance and DevOps communities and a prolific speaker at user groups and conferences around the world. Reach him at @grabnerandi

Proof of Concept: dynaTrace provides Cloud Service Monitoring and Root Cause Analysis for GigaSpaces

In this blog – Challenges of Monitoring, Tracing and Profiling your Applications runing in “The Cloud” -I discussed the challenges of monitoring, tracing and profiling applications running in the Cloud. This blog describes an approach of how to solve those challenges with dynaTrace in a GigaSpaces Cloud Environment.

The GigaSpaces Cloud Environment

The application, acting as the IMDG (In Memory Data Grid) and other services client, uses a single proxy to access the IMDG and the deployed services within the GigaSpaces Service Container (GSC). These are handling the incoming requests and scale automatically if needed

Application hosted in the GigaSpace Environment

Application hosted in the GigaSpace Environment

With dynaTrace we can define Sensor Packs for the server and client interfaces to instrument those calls on both sides (Application and Service). In addition to monitoring the interface methods, dynaTrace provides out-of-the box configurations for the major Java & .NET Application Frameworks like Java Servlets, JMS , JDBC, ASP.NET, etc. Capturing diagnostics information for every single transaction – starting at the Applications End User Interface end point (e.g.: Servlets) throughout the Cloud infrastructure (including the Cloud Service API and its IMDG) – enables root cause analysis in a distributed and highly dynamic environment like GigaSpaces

Adding dynaTrace to trace every single transaction in the Cloud

Adding dynaTrace to trace every single transaction in the Cloud

How to deploy dynaTrace on the cloud with GigaSpaces

Deploying dynaTrace on the cloud with GigaSpaces does not require any installation on the local machine or local deployment. The dynaTrace Server can be deployed as an additional virtual machine in your GigaSpaces Environment. The GigaSpaces dynaTrace deployment comes with a pre-configured dynaTrace System Profile for the GSC and GSM (GigaSpace Server Manager). The System Profile is configured to capture Java Servlets, Web Services, Exceptions, JMS and the GigaSpace IMDG Service Interface calls.
When deploying dynaTrace as an additional component the deployed client application and the GSC will automatically be configured to load the dynaTrace Agent and connect to the dynaTrace Server running in the same cloud environment. Once all components are deployed, dynaTrace automatically traces every single transaction executed in the application including all service interactions between the application and the GigaSpaces IMDG Services.

GigaSpaces deployment configuration for the dynaTrace Server

The following cloud application configuration deploys dynaTrace 3.0 Server as a raw machine with an elastic-ip address:

GigaSpaces Raw Machine configuration for the dynaTrace Server

GigaSpaces Raw Machine configuration for the dynaTrace Server

The deployScript downloads the dynaTrace Software from the cloud repository (S3) and extracts the zipped dynaTrace Software , installs it and starts the dynaTrace server. On the GSM and GSC machines we additionally deploy the dynaTrace Agent library and configure the necessary JAVA_OPTIONS via a pre-startup init script:

Deployment configuration for dynaTrace Agents

Deployment configuration for dynaTrace Agents

The init script configures the dynaTrace Agent and maps to the dynaTrace Server via the elastic-IP:
EXPORT EXT_JAVA_OPTIONS='-agentpath:/export/home/gsadmin/dynatrace/dynatrace-3.0/agent/lib/libdtagent.so=name=GSC,server=xxx.xxx.xxx.xxx'

Deploying the Configuration with GigaSpaces

Via the GigaSpaces Cloud Console Web Frontend we can now deploy a new application using the cloud application deployment configuration that includes dynaTrace settings.

GigaSpace Cloud Console

GigaSpace Cloud Console

Automatically adjust to Cloud Dynamics

With dynaTrace’s ability to dynamically monitor additional machines, new virtual instances of Grid Containers are automatically detected as they get deployed.

Monitoring Results with dynaTrace for GigaSpaces

GigaSpaces offers its own UI to monitor the activity in the different IMDG instances and the services deployed into the GSC. The following illustration shows the statistics tab that gives us an overview about how many calls there were to the individual IMDG Service instance

Monitoring activity of deployed services

Monitoring activity of deployed services

With dynaTrace we can now extend this by not only looking at the count statistics on the IMDG instance but actually looking at each individual call that was made by the client application, how long the execution took and where time was spent. In addition to these metrics we can define a Dashboard that gives us a good overview of the GigaSpaces infrastructure including transaction times, CPU, Memory, GC Activities and the extended view into the Service Layer

dynaTrace Dashboard for GigaSpaces

dynaTrace Dashboard for GigaSpaces

With dynaTrace’s PurePath technology it is now possible to not only see the activity on the service layer but also identify the originating end-user request and the activity inside the service implementation.
A deployed Web Application uses the IMDG running within the GSC to store and retrieve the data for the application. With dynaTrace we can see the IMDG interactions for every single web request:

Single transaction showing all service interactions

Single transaction showing all service interactions

Additionally, we get the PurePath’s on the Server Side that implements these service calls like write and readMultiple:

Drill down into the service implementation

Drill down into the service implementation

Conclusions
Monitoring, tracing and profiling for Applications running in Cloud Environments – like GigaSpaces – is no longer a missing feature in this new evolving virtual world. They key to success is that a solution like dynaTrace in an environment like GigaSpaces fulfils the following criteria

  • Easy Deployment
  • Easy Configuration
  • Easy Analysis

With the dynaTrace and GigaSpaces integration all these requirements are met:

  • Deployment can be done as an additional raw-machine and with an additional setup script step on the application servers
  • The basic configuration is already provided by dynaTrace and GigaSpaces. All Sensor Packs are in place and ready to use to capture the necessary information
  • Analysis has been made easy with the dynaTrace Dashboard feature that offers automatic analysis of the captured data providing the ability to drill down into individual problematic transactions

Questions?

If you have any questions about dynaTrace or GigaSpaces – please contact sales@dynatrace.com or cloud@gigaspaces.com

Comments

  1. Hi,

    Where Can I get the license and the deployment scripts that you referenced in this post?

    Thanks,
    Kobi

  2. Please contact sales@dynatrace.com – they can help you to talk about how to get a license for dynaTrace.
    Cheers
    Andi

  3. Dennis says:

    It would be interesting if you applied this approach to open source projects like Elastic Grid (http://www.elastic-grid.com). Elastic Grid provides a cloud computing approach built on top of Rio. Whats Rio? Its an open source technology that the GigaSpaces GSCs and GSMs are wholly based on. GSCs are Rio Cybernodes and GSMs are Rio Provision Monitors. That being the case most of your work is directly applicable here.

    If you were to offer Dynatrace capabilities to open source technologies that provide the dynamic cloud computing capabilities espoused here, you may find greater adoption and visibiliy.

    Regards

    Dennis

  4. Hi Dennis

    You are right. This Proof of Concept will also work for RIO. Lets get in touch and try it out – lets then publish our findings to the community.

    Cheers
    Andi

  5. hamid reza khaleghzadeh says:

    hi
    i have GigaSpaces Enterprise 5.1. can i use dynatrace for monitoring and how can i get dynatrace

  6. Hamid – I respond to you via email. For everybody else who is interested – simply contact your local dynaTrace Sales rep from the list on http://www.dynatrace.com/en/contact.aspx

  7. Discounted designer cosmetic , branded designer makeup. Cheapwholesalemall provided [url=http://www.cheapwholesalemall.com/MAC-Cosmetics/] MAC Cosmetics [/url], mac makeup brushes, mac brushes set and bobbi brushiest. http://www.cheapwholesalemall.com/MAC-Cosmetics/
    Discounted designer cosmetic , branded designer makeup. Cheapwholesalemall provided MAC Cosmetics , mac makeup brushes, mac brushes set and bobbi brushiest.
    Discounted designer cosmetic , branded designer makeup. Cheapwholesalemall provided MAC Cosmetics, mac makeup brushes, mac brushes set and bobbi brushiest. http://www.cheapwholesalemall.com/MAC-Cosmetics/

Trackbacks

  1. [...] Instead of answering this question I want you to read the following blog article: Proof of Concept: dynaTrace provides Cloud Service Monitoring and Root Cause Analysis for GigaSpaces [...]

  2. [...] Performance, Scalability and Architecture – Java and .NET … [...]

  3. [...] This post was Twitted by GigaSpaces – Real-url.org [...]

  4. Proof of Concept: dynaTrace provides Cloud Service Monitoring and Root Cause Analysis for GigaSpaces…

    Thank you for submitting this cool story – Trackback from DotNetShoutout…

  5. [...] integration project took 2 days and I must say that the result is amazing: You can now monitor, trace and profile your application on the cloud without any special install or [...]

  6. Architecture Blogs…

    [...] With dynaTrace we can define Sensor Packs for the server and client interfaces to instrument those calls on both sides (Application and Service). In addition to monitoring the interface methods, dynaTrace provides out-of-the box … [...]…

  7. [...] they’re looking at how to run in the cloud, which is important to [...]

Comments

*


nine + = 12