Skip to content
Daniel Odievich edited this page May 1, 2020 · 247 revisions

Introduction

AppDynamics provides a rich source of information about your monitored applications, including the performance of individual business activities, dependency flow between application components, and details on every business transaction in an instrumented environment. We provide a rich toolkit for turning the vast corpus of data captured by AppDynamics into valuable insights.

AppDynamics DEXTER (Data Extraction and Enhanced Reporting) can make this process even faster and simpler. DEXTER provides new ways to unlock the data stored in the AppDynamics platform. You can analyze this information in a number of data warehousing and visualization applications, and combine it with your own data to generate customized reports.

Articles

Sample Reports

You can see the reports from our demo environments here.

Provide Feedback

If you use DEXTER and want to provide feedback, please complete this questionnaire.

Table of Contents

Link More Links
Schema Data Warehouse Schema
Walkthrough Concepts behind this tool
Get Started Install Application
Credentials
Job File
Run Application (Windows, Mac, Linux)
Proxy
Advanced
Output Folder Structure Understand where the results are
Excel Reports Full List
PowerBI Reports Apply Templates
Adjust Locale
Full List
Tableau Reports Apply Templates
Adjust Locale
Full List
Browser Reports Flame Graph and Entity Dashboards Reports

Schema

AppDynamics DEXTER produces this schema:

Full Size

The schema picture is also available as Visio from Releases.

Walkthrough

This 3 part walkthrough provides introduction into features and capabilities of AppDynamics DEXTER.

Report Image Purpose
Entities, Metrics and Snapshots Visualizations In Walkthrough Part 1, we discover how Metrics, Events and Snapshots extracted from the AppDynamics Platform become available for offline data mining and archival use
Data Mining Snapshots In Walkthrough Part 2, we dig deep into application performance analysis with Snapshot data using data mining and visual data analysis tools.
Advanced Snapshot and Exit Call Exploration In Walkthrough Part 3, we look at the more advanced reports that allow you to focus on your application performance and application configuration utilizing Flame Graphs, Sankey flow diagrams and visual data analysis tools

Get Started

Install Application

Download latest release from Releases section, (AppDynamics.DEXTER.#.#.#.#.zip)

Unzip to some location, for example, C:\AppDynamics\DEXTER or /home/yourusername/DEXTER.

Credentials

You will need AppDynamics Internal account to use with DEXTER.

Only AppDynamics authentication is supported. LDAP or SAML credentials can not be used.

The account must have at least READ-level access to the APM Applications and other components that you need.

For Configuration, Controller Settings and User RBAC inventory reports, you will need Account Owner higher-level permissions to retrieve that data.

If the user you choose does not have required rights, AppDynamics DEXTER will simply not render those reports but should continue to run.

Job File

Specify data to operate on with Job File. Review some of the Job File Examples.

The template job file is called DefaultJob.json. Make a copy of it and modify according to your needs using your favorite text editor.

Alternatively, create the Job File using DEXTER-UI visual tool.

You can also watch this training video:

AppDynamics DEXTER - How to Create Job File

Run Application

DEXTER can run on Windows, Mac or Linux.

It uses .NET Framework and can run using either .NET Full Framework 4.7.2 or .NET Core Framework 3.1.

Run on Windows

When running on Windows, you can choose to run version built using either .NET Full or .NET Core frameworks.

For .NET Full framework version (full-win) or .NET Core portable version (core-win-portable), make sure those frameworks are installed on your OS.

For .NET Core self-contained version (core-win), no additional installations are necessary because .NET Core runtime is included with application.

Framework Folder Command
.NET Full 4.7.2
Install
full-win full-win\AppDynamics.Dexter.exe --job-file MyJob.json
.NET Core 3.1
Install, Prerequisites
core dotnet core-win-portable\AppDynamics.Dexter.dll --job-file MyJob.json
.NET Core 3.1 self-contained core-win core-win\AppDynamics.Dexter.exe --job-file MyJob.json

Run on Mac OS

When running on Mac, you can choose between version using already installed .NET Core framework or the self-contained option.

For .NET Core portable version (core-osx-portable), make sure .NET Core Framework is installed on your OS.

For .NET Core self-contained version (core-osx), no additional installations are necessary because .NET Core runtime is included with application.

Framework Folder Command
.NET Core 3.1
Install, Prerequisites
core dotnet core-osx-portable/AppDynamics.Dexter.dll --job-file MyJob.json
.NET Core 3.1 self-contained core-osx core-osx/AppDynamics.Dexter --job-file MyJob.json

Remove quarantine attribute

NOTE: If you are running on Mac Catalina, the Gatekeeper application will complain that DEXTER DLLs come from untrusted source while executing the application.

To counteract it, remove "com.apple.quarantine" attribute from the downloaded ZIP file before extracting it by running the following command:

xattr -d com.apple.quarantine AppDynamics.DEXTER.*.zip

Set Execute Permissions on Mac

After extracting the binaries, you must mark AppDynamics.Dexter as executable by running the following command:

chmod 755 AppDynamics.Dexter

Run on Linux

When running on Linux, you can choose between version using already installed .NET Core framework or the self-contained option.

For .NET Core portable version (core-linux-portable), make sure .NET Core Framework is installed on your OS.

For .NET Core self-contained version (core-linux), no additional installations are necessary because .NET Core runtime is included with application.

Framework Folder Command
.NET Core 3.1
Install, Prerequisites
core dotnet core-linux-portable/AppDynamics.Dexter.dll --job-file MyJob.json
.NET Core 3.1 self-contained core-linux core-linux/AppDynamics.Dexter --job-file MyJob.json

Set Execute Permissions on Linux

After extracting the binaries, you must mark AppDynamics.Dexter as executable:

chmod 755 AppDynamics.Dexter

Proxy

If you are behind corporate proxy, configure Proxy Settings.

Advanced Configuration

Understand which metrics are extracted by default and add your own Metric Sets to extract more.

Review all available Command Line Parameters.

Understand execution sequence in Phases and Job Steps.

Stop and restart the job at any time and at any step using Restart Job From Specific Step.

Understand Durations of Job Steps.

Review Controller Impact.

Output Folder Structure

AppDynamics DEXTER outputs data into Output folder specified in -o/--outputfolder command-line parameter. By default, output folder is:

  • "C:\AppD.Dexter.Out" is assumed on Windows
  • "%HOME%\AppD.Dexter.Out" is assumed on Mac and Linux

For example, if you specified myextract.json, the Output folder is C:\AppD.Dexter.Out\myextract on Windows or /user/home/AppD.Dexter.Out/myextract on Mac/Linux.

Data from Controller that is extracted during Extract phase is saved to [Output Folder]\Data folder.

Converted data that is produced during Index phase is saved to [Output Folder]\Index folder.

Final CSV files and Excel reports that are produced during Report are saved to [Output Folder]\Report folder

Report Folder Contents Full Size

There is a lot of file I/O happening in the Output folder. Remove the Output folder from any Antivirus monitoring, otherwise Extraction and Indexing is going to take a lot longer.

Excel Reports

AppDynamics DEXTER builds Excel documents from the CSV files.

Opening Excel Reports

All Microsoft Office products (2013/2016/2019/365/Office Online) can handle these Excel reports. Occasionally, older versions (2013, 2016) may complain about workbooks being corrupt, but it is mostly due to harmless conditional formatting forumulas.

Google Sheets can handle these Excel Reports although some displays in Pivots is a bit off.

Libre Office struggles with rendering of some tables but it gets full grades for trying. You can easily load CSV files instead.

Excel Report Descriptions

Report Image Purpose
Detected APM Entities
Click to View Video
AppDynamics DEXTER - Detected APM Entities
Detected APM Entities report shows information about each and every detected Entity (Application, Tier, Node, Business Transaction, Backend, Service Endpoint, Errors and Information Point) in APM Applications
Detected SIM Entities Detected SIM Entities report shows information about each and every detected Entity (Tier, Node, Machine, Network Adapter, CPU, Disk, Container and Process) in SIM Applications
Detected DB Entities Detected DB Entities report shows information about each and every detected Entity (Collector Definitions, Collectors, Queries, Users, Sessions, Blocking Sessions, Clients, Databases, Modules, Programs, Wait States and Related Business Transactions) in DB Collectors
Detected WEB Entities Detected WEB Entities report shows information about each and every detected Entity (Pages, AJAX Requests, Virtual Pages, Resources and Geolocations) in WEB Applications
Detected MOBILE Entities Detected WEB Entities report shows information about each and every detected Entity (Network Requests, Correlated Business Transactions) in MOBILE Applications
Detected BIQ Entities Detected WEB Entities report shows information about each and every detected Entity (Searches, Widgets, Saved Metrics, Business Journeys, Experience Levels, Schemas and Fields) in BIQ Applications
Entity Metrics
Click to View Video
AppDynamics DEXTER - Entity Metrics
Entity Metrics report shows summary and graphs for all Metrics for each and every detected Entity (Application, Tier, Node, Business Transaction, Backend, Service Endpoint, Errors and Information Point)in APM Applications
Entity Metric Graphs
Click to View Video
AppDynamics DEXTER - Entity Metrics
Entity Metric Graphs report combines information about detected Entities with their Metric data to show all entities with activity in the requested time ranges, and provides visual graphs of all of the metrics that were requested
Events and Health Rule Violations Events report provides information about Events and Health Rule Violations in the requested time range in all Applications, as well as Controller Notifications and Audit Log events
Entity Details
Click to View Video
AppDynamics DEXTER - Entity Details
Entity Details report provides summary view into all activity that affected this Entity, including Timeline view
Snapshots
Click to View Video
AppDynamics DEXTER - Snapshots
Snapshots report provides information about Snapshots, Segments, Exit Calls, traversed Service Endpoints and Business Data for all Snapshots
Snapshot Method Calls
Click to View Video
AppDynamics DEXTER - Snapshot Method Calls
Snapshot Method Calls report provides information about Snapshot Call Graphs for all Snapshots
Configuration
Click to View Video
AppDynamics DEXTER - Configuration
Configuration report provides information about Controller Settings and Application configuration, as well as comparison between each of the rules in all Applications
Users and Permissions Users, Groups, Roles and Permissions report shows information about each and every security entity (User, Group, Role and Permission) and their relationship in Controller
Dashboards Dashboards report provides information about Dashboard, their Widgets and Time Series in Controller
Health Check The Health Check report provides a health grade of key application configurations

Power BI Reports

AppDynamics DEXTER includes templates for Microsoft PowerBI, which is a great visual analytics tool that is free for local desktop use on Windows workstations.

Using Power BI Templates to Create Reports

PowerBI report templates are provided with AppDynamics DEXTER in PowerBITemplates folder.

Available PowerBI Templates Full Size

To create a PowerBI report with the data, open PowerBI report template (*.pbit file) and provide path to the [Output]\Report folder when prompted.

Specify Path to Report Data Full Size

You can then save the results as *.pbix report file. These can be uploaded into PowerBI Server or PowerBI Online for displaying in the browser.

Adjust Power BI Reports to Your Locale

PowerBI templates are built with en-US locale and templates do not automatically adjust to your machine’s locale. This can cause errors during load of data as the date parsing gets confused.

Perform these steps to correct these load errors:

  • Accept the errors encountered during the load process
  • Click File\Options menu
  • Navigate to Settings\Options\Current File\Regional Settings
  • Set the Locale drop-down to locale of the system on which the report was produced
  • Re-run all the queries using Refresh all data sources command

Power BI Report Descriptions

Report Image Purpose
Detected APM Entities Detected Entities report offers interactive visual exploration of detected entity data
Detected DB Entities Detected DB Entities report offers interactive visual exploration of all Collectors and Queries
Entity Metrics Entity Metrics report offers interactive visual exploration of CPM, ART and EPM metrics
Entity Flowmaps Entity Flowmaps report shows interactive visuals for Flow Maps of Applications, Tiers, Nodes, Business Transactions and Backends using flow diagrams
Events and Health Rule Violations Events report offers interactive visual exploration of Event and Health Rule Violation data
Snapshots Snapshots report offers interactive visual exploration of all Snapshot data
Snapshot Method Calls Snapshot Method Calls report offers interactive visual exploration of all Snapshot Call Graphs

Tableau Reports

AppDynamics DEXTER includes templates for Tableau, which is a really powerful visual analytics tool.

Using Tableau Templates to Create Reports

Tableau report templates are provided with AppDynamics DEXTER in TableauTemplates folder.

Available Tableau Templates Full Size

To create a Tableau report with the data, copy report template (*.twb file) to the [Output]\Report folder and open it from that location. When prompted to, choose the Regenerate the extract option, click OK, and locate the folder where to store Snapshots.hyper Hyper database file. We recommend you store it in the [Output]\Report folder.

Regenerate Extract Full Size

After report renders, save it. The resulting file can be uploaded into Tableau Server or Tableau Online for displaying in the browser.

Adjust Tableau Reports to Your Locale

Tableau templates are built with en-US locale and templates do not automatically adjust to your machine’s locale. This can cause errors during load of data as the date parsing gets confused.

Perform these steps to correct these load errors:

  • Accept the errors encountered during the load process
  • Click Data Source tab or click Data\<datasource>.csv\Edit Data Source menu
  • Data Source tab will open
  • Click on drop-down menu of the the <datasource>.csv in the Data Source pane
  • Click Text File Properties
  • Set the Locale drop-down to locale of the system on which the report was produced
  • Click Data\Refresh Data Source command
  • Switch to any of the sheets
  • Click Data\Refresh All Extracts command

Tableau Report Descriptions

Report Image Purpose
Snapshots Snapshots report offers interactive visual exploration of all Snapshot data
Snapshot Method Calls Snapshot Method Calls report offers interactive visual exploration of all Snapshot Call Graphs

Browser Reports

Report Image Purpose
Flame Graph and Chart
Click to View Video
AppDynamics DEXTER - Flame Graphs
Flame Graph and Flame Chart report provides single-pane visualization of all Call Graphs in all Snapshots
Entity Dashboards Entity Dashboards report shows screenshots of the Flowmaps of the APM Entities

Getting Support

You can create a new support issue by:

  • Create a new Issue in Issues area
  • File support issue at Help@AppDynamics
  • Contact me at "daniel[dot]odievich[at]appdynamics.com" (replace [dot] with . and [at] with @)

Please provide your job file and the Log Files when requesting support.

Future Roadmap

Here are the things I am planning on adding to future versions of AppDynamics DEXTER:

  • Node JVM properties extract (4.4 only because before that it was all in Flash) Completed in 1.0.0.27
  • Configuration comparison report of the selected dataset (like https://github.com/Appdynamics/ConfigurationComparer only better) Completed in 1.0.0.29
  • Extraction and reports on Server Visibility metadata and maybe metrics - Completed in 1.0.0.32
  • Better storage and faster speed of processing of Snapshots during Extraction and Indexing phase - Completed in 1.0.0.33
  • Extraction and Reports on Database Monitoring - completed in 1.0.0.35
  • Controller Audit log and correlation with other events - completed in 1.0.0.36
  • List of agents enabled for Dev Mode - completed in 1.0.0.36
  • Report on RBAC (User, Group and Role) configuration - completed in 1.0.0.36
  • Extraction and reports on Web and Mobile End User Monitoring metadata and metrics - completed in 1.2.37.0
  • Extraction and reports on Analytics metadata and metrics - completed in 1.2.37.0
  • Reports on Dashboards - completed in 1.2.37.0
  • All application type report on Policies, Alerts and Health Rules - completed in 1.2.37.0
  • HTTP and Email templates configuration Report - completed in 1.2.37.0
  • Reports on Deployed Licenses and License Keys - completed in 1.2.39.0, removed in 1.2.41.x
  • Agent availability report - completed in 1.2.39.0
  • Health check details report including assessment of entities metrics and configuration in single document - completed in 1.2.47.0
  • Tableau visual analytics reports, similar to those already available for PowerBI - working on that right now
  • Compare states report - comparing two exports of data and showing differences in Configuration and Performance
Clone this wiki locally