cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to export the list of all Custom Dashboards in the controller into a format like JSON or XML?

Amartya.Jha
New Member

 

Is there a way you can export Dashboards in any format like JSON or XML?

 

^ Edited by @Ryan.Paredez to include the location of the original comment.

 

Note: This comment was split off into its own post from this original post: How to export the list of all Custom Dashboards in the controller into a file?

11 REPLIES 11

Nawaz Ali.Mohammad
AppDynamics Team

Hello Amartya,

 

If you export the custom dashboards from "Dashboards & Reports", I see that the dashboard by default is being exported as .json file. I have attached a gif recording of the same.

Export.gif

Is there a way to export all the dashboards at once via command line ?

 

We would like to set up an automated way of exporting all custom dashboards at regular intervals.

 

Hi There

 

You can create a simple script to query all the dashboard ID's

https://<controller URL>/controller/restui/dashboards/getPermissionsForDashboards

 

Then just loop through the dashboard id's, example below GET Query

https://<controller URL>/controller/CustomDashboardImportExportServlet?dashboardId=1234

 

We used a Python script to do this task, for regular backups of teh dashboards into JSON backups format

 

Ciao



Found something helpful? Click the Accept as Solution button to help others find answers faster.
Liked something? Click the Thumbs Up button.

Learn more about me in the Community Member Spotlight Q & A

Thanks for the tip @Mario.Morelli .

 

I tried a simple curl test to the url https://<controller URL>/controller/restui/dashboards/getPermissionsForDashboards and I got an error.

 

curl --user xxxxxx@xxxxx:xxxx https://appdynamics_controller:8181/controller/restui/dashboards/getPermissionsForDashboards

 

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Unauthorized</title>
</head>
<body>
HTTP Error 401 Unauthorized
<p/>
This request requires HTTP authentication
</body>
</html>

 

Is this expected ? HTTP is blocked in our environment, so cant test that. Also, we are going through a LB.

Hi Vishwanath

 

My Apologies, I gave you the incorrect details, please find below method to query it:)

 

1) Get the JESSIONID and X-CSRF-TOKEN with user having permissions

curl -i --user <USERNAME>@<Account>:<PASSWORD> https://<Controller-URL>/controller/auth?action=login

 

2) Run the following CURL call with JESSIONID and X-CSRF-TOKEN from step 1?

curl -i -H "X-CSRF-TOKEN:<TOKEN FROM ABOVE>" -H "Cookie: JSESSIONID=<JSESSION ID FROM ABOVE>; X-CSRF-TOKEN=<TOKEN>;" -H "Content-Type: application/json" -H "Accept: application/json" https://<Controller URL>/controller/restui/dashboards/getAllDashboardsByType/false


Example below
curl -i -H "Cookie:JSESSIONID=9b81672143e228e4eb73fdea89a9;" -H "X-CSRF-TOKEN:6fece457az197155a8f68320cfa781eaeb88991b" -H "Content-Type: application/json" -H "Accept: application/json" https://<controller url>/controller/restui/dashboards/getAllDashboardsByType/false"

 

 

This will output all dashboards, with one of the attributes being the Dashboard ID, which you can then use in the last query

https://<controller url>/controller/CustomDashboardImportExportServlet?dashboardId=<dashboard ID>

 

Ciao

 

 



Found something helpful? Click the Accept as Solution button to help others find answers faster.
Liked something? Click the Thumbs Up button.

Learn more about me in the Community Member Spotlight Q & A

Thanks a lot! Much appreciated.

Hi! Now that global logon has been implemented, how can you take the value of the cookie needed? I only can get it manually, but need to programmatically obtain it; however, cannot do it requesting login with basic auth anymore.

Ryan.Paredez
Community Manager

Hi @Maximiliano.Salibe,

It looks like since this was an older thread, the other members did not chime in. Since it has been a few days, did you happen to find a solution or anything you can share?

If you still need help with this, you can contact Cisco AppDynamics Support. https://www.appdynamics.com/support

 


Thanks,

Ryan, Cisco AppDynamics Community Manager




Found something helpful? Click the Accept as Solution button to help others find answers faster.

Liked something? Click the Thumbs Up button.



Check out Observabiity in Action

new deep dive videos weekly in the Knowledge Base.

Hi Maximiliano

What issue are you having with basic auth? We are still able to use it without any issues.

But either way, bets practice is to rather create an API Key and use that to do what you need to do, that is the suggested and best practice way.

If you are not sure on how to use the API Key method, just DM me, I can share a sample python script for you to get started

 

Ciao



Found something helpful? Click the Accept as Solution button to help others find answers faster.
Liked something? Click the Thumbs Up button.

Learn more about me in the Community Member Spotlight Q & A
On-Demand Webinar
Discover new Splunk integrations and AI innovations for Cisco AppDynamics.


Register Now!

Observe and Explore
Dive into our Community Blog for the Latest Insights and Updates!


Read the blog here