Wilson Mar bio photo

Wilson Mar

Hello!

Email me Calendar Skype call

LinkedIn Twitter Gitter Instagram Youtube

Github Stackoverflow Pinterest

He sees you when you’re sleeping. He knows when you’re awake …

US (English)   Español (Spanish)   Français (French)   Deutsch (German)   Italiano   Português   Cyrillic Russian   中文 (简体) Chinese (Simplified)   日本語 Japanese   한국어 Korean

Overview

This describes a) automation script installed from GitHub that installs b) Docker images c) within AWS EC2, Azure, and Google Cloud d) a sample app e) put under stress by JMeter/Gatling while being analyzed by f) Dynatrace.

STATUS: IN PROGRESS

What’s different with this introduction to Dynatrace is I provide a step-by-logical-step hands-on approach to dive deep into the technology and its vendor. This is so you’re not stumbling around wasting time on high-level sales pitches. Commentaries here are given “just-in-time” after you do each step.

Acronyms used here

ADK = Application Development Kit

APM = Application Performance Monitoring (the market Dynatrace is in)

AppMon = Application Performance

SLA = Service Level Agreements

Visit = a group of transactions performed by the same user over a defined time period.

UEM = User Experience Management (product offering)

PureModel = PurePath + PureStack

  • PurePath traces requests horizontally across processes end-to-end tracing at the code-level
  • PureStack dives into the vertical infrastructure tiers

Mind Map

Dyntrace offers this “MindMap” PDF of the subject matter tested by their Professional-level certification (there is also a less comprehensive one for the Associate level exam).

dynatrace-mindmap-pro-1057x714.jpg

The major “arteries” are the types of monitoring:

  • Real User Monitoring (RUM)
  • Application Monitoring
    • Availability Monitoring
  • Infrastructure Monitoring
  • Network Monitoring
  • Additional components

  • Dynatrace Managed (server & monitoring setup)
  • System Settings (Global, Entity, Account)
  • Integration and API
  • Problems

Product Offerings

Dynatrace AppMon Personal & UEM ???

Two Dynatrace products have downloads:

  • Application Monitoring rich client AppMon
  • Data Center RUM (Real User Monitor) captures traffic and analyzes it

SaaS = Software as a Service:

  • Application Monitoring Appmon web
  • Synthetic Monitoring has fake users logging in, etc.
  • Dynatrace adds HTTP header
  • Keynote monitors what end-users experience through the public network
  • Dynatrace Load
  • Business Service Management

Product Editions

There are different editions of Dynatrace for the Development Team, Test Center, and Production:

dynatrace across lifecycle 898x527.jpg(Click to pop up larger image)

The product that enables “Shift-Left” is one that enables identification of performance issues during development.

Competitors

  • Splunk has been around the longest to process logs
  • AppDynamics, built on top of the open-source Lucene engine for search
  • ElasticSearch (Elastic stack)
  • DataDog
  • Logz.io
  • etc.

Notes:

  • http://blog.takipi.com/splunk-vs-elk-the-log-management-tools-decision-making-guide/
  • Dynatrace does not directly compete with OverOps, which analyzes Java and .NET source code.

Dashboards

The bottom line with APM is its dashboards, which display data collected in clever ways. The Dynatrace dashboard for User Experience and Satisfaction presents a lot of data, but in a clean and clear way:

dynatrace-user-sat-944x388.jpg

Circles around around face icons represent relative percentages. Green is good. Red is bad.

Competitors’ dashboards would present a world map in one pane, response time in another, etc.

Metrics displayed can focus on specific periods of time:

dynatrace-time-periods

Visualizations of metrics on response time, failures rate, HTTP errors, CPU, Throughput, Network traffic, Retransmissions, Connectivity, etc. are automatically baselined as the basis for detecting anomalies.

  • memory leaks
  • CPU hotspots
  • n+1 problem - when client makes many more API calls to server.
  • SQL statements - Too many, slow.

Dynatrace is following the industry trend of moving to the cloud: dynatrace-cloud-aws-653x397

See https://github.com/Dynatrace/AWSMonitoringTutorials

OneAgent for whole stack

dynatrace tech analyzed 1454x510

Dynatrace collects data from servers through an installed agent program, called “OneAgent” because one program collects data for all aspects in the stack:

  • Applications
  • Services
  • Processes
  • Hosts
  • Containers
  • Data centers

A map of all entitities are shown together in the “Smartscape” view.

All this enables Dynatrace to recognize when changes have occured, and take appropriate action.

Full-stack discovery

Tracing is in the “Dynatrace” name and Dynatrace has continued innovation in providing end-to-end tracing of transactions through the technical stack. When a token is added in the HTTP header at the client, Dynatrace tracks it through the web server and database.

So Dynatrace is able to display where response time contribution within application transactions: dynatrace-time-contrib-826x296

The transaction names above are from Dynatrace’s own sample “Easy Travel” (monolithic app) instantiated within AWS using Beanstalk, ECS container services and Sprint Boot app*

In recent years, Dynatace added AI-powered Analytics to discover root cause and full stack resource discovery has led to self-healing at scale. See:

  • https://help.dynatrace.com/intelligent-problem-detection/
  • https://help.dynatrace.com/intelligent-problem-detection/prediction/prediction/

Traditionally, products such as Splunk analyzed logs emitted from servers. Dynatrace does that too.

Provisioning

Docker, VMWare, EC2, Azure, CloudFoundry

Scripts: Chef, Puppet, Ansible, PowerShell

Overprovisioned?

Free lifetime local license

During the 30-day free trial period, install up to 5 distributed servers (in the cloud).

After the 30-day trial period, install only on local machines.

The following focusing on analysis of server applications running locally on your laptop.

QUESTION: Is there a package to Homebrew for Mac and Chocolatey for Windows?

  1. Register for download at:

    https://bit.ly/dtpersonal (https://www.dynatrace.com/en/products/dynatrace-personal-license.html)

    PROTIP: My Gmail address was accepted in the “Business email” field.

  2. Confirm email subject “Please confirm your Dynatrace Trial account”.

    NOTE: The public face of Dynatrace is Andreas Grabner (@grabnerandi, agrabner@dynatrace.com, https://github.com/grabnerandi

    The US address of Dynatrace is 404 Wyman Street, Suite 500, Waltham, MA 02451

    Dynatrace also has offices in Detroit, Michigan, Linz, Austria, and Gdańsk, Poland.

  3. Click Register and Start Trial.

    WARNING: You can’t get back to this page again?

  4. Get the license from email “Your Dynatrace trial license” file such as this, created on 2017 March 16:

    dynaTrace_license_201703161023.key

    PROTIP: Each agent installer is pre-configured to where the agent sends its information.

    NOTE: The video mentioned in the email (https://www.youtube.com/watch?v=2ycuNlYUl9E) What is Dynatrace AppMon and How to Get Started – January 2016

  5. PROTIP: Run a Dockerized image in a server (in a cloud) because that’s how production will work. And it won’t muck up your local machine’s settings and disk space.

    http://dynatrace.github.io/Dynatrace-Docker

    https://github.com/Dynatrace/Dynatrace-Docker

    NOTE: The Github home for Dynatrace is:

    https://github.com/dynaTrace

  6. If you want to do it the hard way and install locally, click the operating system icon to download installer.

    OS File Ver. Size
    Mac dynatrace-full-darwin-x86.jar 6.5 995.8 MB
    Windows dynatrace- 6.5 995.8 MB

    PROTIP: If you want to keep installers, find out the version and add it to the file name. You would need to keep installers for vetting by corporate Security.

    Security-conscious enterprises have their people download from a vetted repository such as an internal Artifactory or Nexus rather than direct download because changes by the vendor (or someone pretending to be them) can have security problems.

  7. Use Mac Archiver utility to extract the jar file to file dynatrace-full-darwin-x86.jar.cpgz.
  8. dynatrace-full-darwin-x86.jar.cpgz.

Get Certified

https://university.dynatrace.com/certificate/industry
Dynatrace Certification website lists a learning path.

The “Industry Associate” level validates understanding of APM was retired April 1, 2018.

The exam is done on your desktop computer, not at a testing center.

  1. Enter your profile info (time zone, phone, picture ID, etc.) at https://prod.examity.com/Dynatrace/Student/MyProfile.aspx
  2. Write down your answers to security questions.
  3. Do a computer check at https://prod.examity.com/systemcheck/ComputerReadinessCheck.aspx
  4. Get a promotion code if that is part of your organization’s deal with Dynatrace. Or get a code by paying $200 at ?
  5. Schedule exam at https://prod.examity.com/dynatrace/Student/ScheduleAnExam.aspx Sechedule can be next day.

    The DOWNLOAD: Associate Exam Blueprint.pdf Answer 80% correct 70 multiple choice items in 2 hours. It’s free.

    The Pro written exam is $200 plus $250 for the practical exam.

    AppMon

    DC RUM

    Synthetic

    Master-level.


API “FireAndIce”

See http://anapioficeandfire.com/Documentation#library-graphql

https://www.youtube.com/watch?v=O0SQL8DJxaI Online Perf Clinic – Shift-Left Performance with Spring Boot Microservices, Jenkins and Dynatrace

For infrastructure monitoring:

Use the “Add Tier” wizard.

On Apache, IIS: -agentpath:PATH/dtagent.dll=name=MyAppTier,server=collector1

Desktop

  1. Use within IntelliJ IDE

    Without changing a line of code get 100% end-to-end code-level performance visibility: Browser, Web-, App- and (No)SQL Activity

    See every SQL Statement, Exception, Log message and HTTP Request detail


Crash Dump Analysis

https://github.com/Dynatrace/superdump (Not A replacement for in-depth analysis tools such as WinDbg.)

can be triggered via web-frontend (HTTP-upload) or via REST-API.

ADK

To send dynatrace tags

Data management

To view data in ES within Splunk:

  • https://github.com/hvandenb/splunk-elasticsearch
  • https://answers.splunk.com/answers/372999/is-there-anyway-to-push-data-from-elasticsearch-or.html

Videos

YouTube playlists:

  • Classic AppMon: http://bit.ly/dttutorials

  • Dynatrace Fullstack: http://bit.ly/oneagenttutorials

Dynatrace University Self-Learning portal at http://university.dynatrace.com

https://www.youtube.com/watch?v=wExU-AQ0ydk&index=1&list=PLqt2rd0eew1bmDn54E2_M2uvbhm_WxY_6

  • https://www.youtube.com/watch?v=O0SQL8DJxaI

http://bit.ly/dttutorials (https://www.youtube.com/playlist?list=PLqt2rd0eew1bmDn54E2_M2uvbhm_WxY_6)

Mainly high-level stuff with a few technical points:


In AWS

You can use Dynatrace in place of or in addition to Amazon CloudWatch logging. Here are the steps:

  1. Download the installer from Dynatrace.com.

    BLAH: I wish Dynatrace have its own on S3.

    This can be either/both a Windows or Linux instance.

  2. Put the Dynatrace installer in an S3 instance so that Ansible scripts to build up a server have a stable reference.

  3. Create a new AWS instance.

    Again, this can be either a Windows or Linux instance.

  4. Install the Dynatrace agent on the server.

  5. Connect the agents to the Dynatrace controller so you see metrics being recorded.

  6. Impose some artificial load on the machine to see metrics in their full glory.

  7. Repeat the above in an automated script:

    1. Jankins invoked when a commit occurs to a branch on GitHub
    2. The Jenkins v2 Pipeline Groovy script downloads build script from GitHub
    3. The build downloads installers to assemble
    4. The build script creates image in DockerHub
    5. Instantiate AWS with Docker image
    6. Sends an email when the image is ready for use
    7. Start a performance testing run
    8. Sends SMS texts with the results of test run
    9. If all is well, commits into the next branch in GitHub

Internals

Protocol is protobuf

https://community.dynatrace.com/community/display/DOCDT65/Test+Automation+Explained

https://www.infoq.com/articles/Diagnose-Microservice-Performance-Anti-Patterns

https://www.infoq.com/articles/Diagnosing-Common-Java-Database-Performance-Hotspots

Interact with people

  1. Forums:

    https://community.dynatrace.com/community/display/DL/Downloads

  2. Listen to podcasts:

    https://www.spreaker.com/show/pureformance

  3. Ask a question of pre-sales:

    https://answers.dynatrace.com

  4. Register and attend live webinars at:

    https://bit.ly/onlineperfclinic (https://community.dynatrace.com/community/pages/viewpage.action?pageId=178101202) also on YouTube.

  5. View past webinars

    On YouTube

  6. Ways to meet other users:

    https://community.dynatrace.com/community/display/DL/Downloads

  7. Join and attend Meetups:

    https://www.meetup.com/pro/dynatrace

  8. Subscribe, then meet people at the annual conference each Feburary in Vegas:

    https://www.dynatrace.com/perform

  9. Have Dynatrace salespeople look at your Purepath file:

    https://bit.ly/sharepurepath (https://community.dynatrace.com/community/display/EVAL/Share+your+PurePath)

    CAUTION: Many enterprises are fearful of releasing data outside the corporate firewall. Check with your Security people before sending the file out.

  10. LinkedIn Groups

    https://www.linkedin.com/groups/1868499/profile
    Dynatrace APM User Group

  11. Twitter

  12. GitHub source repositories:

    https://github.com/dynatrace-innovationlab

    https://github.com/Dynatrace/Dynatrace-Docker

    https://github.com/grabnerandi

More on cloud

This is one of a series on cloud computing: