Knowledge Base

Showing results for 
Search instead for 
Did you mean: 

Uploading Dashboards Automatically with AppDynamics Extensions

Table of Contents

Use Case




Post Configuration


Use Case

AppDynamics Extensions will now support automatically uploading a pre-built dashboard with every extension. This feature will help customers use an extension to extract all the listed metrics and provide an overview of how the product is doing in terms of certain key metrics. All dashboards can be updated and more data can be added to increase the visibility of the metrics provided by the extension.



In order to upload a dashboard to the Controller, you need to provide some information about the Controller that will help the extension log in and upload the dashboard to the Controller.


Each new extension is going to be equipped with two dashboard files: one for the Standalone Machine Agent model and one for the Server and Infrastructure Monitoring (SIM) model. While configuring the extension, you will need to configure the following sections: controllerInfo and customDashboard.



This section requires you to fill out information about the Controller, which in turn is used to make sure that the extension can establish a connection to the Controller and upload the dashboard.

The extension pulls the information in the following order from the following resources:

  1. controller-info.xml
  2. System Properties
  3. Config.yml


You need to update the following section in the config.yml:

    controllerHost: ""
    controllerPort: ""
    account: ""
    username: ""
    password: ""
    encryptedPassword: ""
    encryptionKey: ""
    controllerSslEnabled: ""
    enableOrchestration: ""
    uniqueHostId: ""
    accountAccessKey: ""
    machinePath: ""
    simEnabled: ""
    applicationName: ""
    tierName: ""
    nodeName: ""


As you start your agent, a number of the fields will get auto-populated but there are a few fields that need to be manually populated. These are: 

   username: ""
   password: ""


These fields are required for the Machine Agent to be able to log in and upload the dashboard. Once all of this information is provided, populated and validated, the extension will upload the dashboard to the Controller.


After filling it out, this section should look like this: 





Similar to ControllerInfo, another section called customDashboard needs to be updated in order to make sure that a dashboard can be uploaded to the Controller from the extension.

   enabled: true
   dashboardName: "Custom Dashboard"
   pathToSIMDashboard: "monitors/<ExtensionName>/simDashboard.json"
   pathToNormalDashboard: "monitors/<ExtensionName>/maDashboard.json"
   periodicDashboardCheckInSeconds: 300



  1. If enabled is false, the dashboard will not upload.
  2. If dashboardName is not present, the extension Monitor Name will be used as the dashboard name.
  3. The two fields that you should verify are the pathToSIMDashboard and pathToNormalDashboard. Both of these fields need to point to two files that are provided with the extension. If there are any changes made to these files, you must make sure that the changes are saved to these files, and in the case they are replaced with new files, their path should be updated in the config.yml.
  4. As the extension sits in the Machine Agent, the path after the base directory of the Machine Agent is needed.
  5. Make sure you have the correct file separator: (\) for Windows and (/) for Linux-based operating systems.
  6. Dashboards cannot be overwritten on the Controller. Therefore, if a dashboard is already present on the Controller, you will not be able to upload another dashboard with the same name.
  7. If you make any changes to the dashboard file to suit your needs, you should save the dashboard.json file and delete the current dashboard on the Controller.
  8. By default, the extension will check if a dashboard is present on the Controller every 5 minutes (300 seconds), and if it is not present, it will attempt to upload it. You have the option to increase this limit to however long or short you would like it to be using the periodicDashboardCheckInSeconds parameter.


Post Configuration

  1. After filling in both these sections and configuring the rest of the extension to its specific needs, you can start the Machine Agent to gather metrics and check if the dashboard has been uploaded and is being populated with the correct data.
  2. Every extension that comes with a dashboard has some preconfigured metrics set up to show up in the dashboard. If any changes are made to the dashboard file, please delete the existing dashboard present on the Controller so that the extension can upload a new copy of the dashboard with the your changes.
  3. If you would like to compare the differences after making changes to the dashboard file, the name of the dashboard can be changed in the config.yml under the customDashboard section. This name should be a different name from the last dashboard and a dashboard with this name should not be present on the Controller. Once the extension hits the periodic dashboard check limit, it will again check if the dashboard with the new name is present. If not, it will upload this new dashboard which may then be used for further comparisons.
  4. Each extension will have specific metrics that may have been chosen to be displayed on the dashboard. If you would like to see more metrics, they can be manually added to the same dashboard on the Controller.
  5. If any changes are made to the metric names/aliases in the config.yml, those changes need to be replicated in the dashboard.json files since they are preconfigured to look for metrics with the default metric names/aliases that are provided with a new copy of the extension. If these changes are not replicated, there is a good chance that the dashboard widgets that are associated with the corresponding metrics may not work. dashboardkb3.png


Version history
Revision #:
9 of 9
Last update:
‎03-01-2019 01:44 PM
Updated by:
Labels (1)

Found this article helpful? Click the Thumbs Up button.
Have an additional comment? Post it below.
0 Kudos