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

Passing multiple Apps in via REST API to retreive metric data

Hello,

 

Need to know the best way to retrieve metric data for multiple applications using a single rest call

 

http://sample:8090/controller/rest/applications/Monitor/metric-data?metric-path=Application%20Infras...

 

Above is a sample REST URL that we are using to pull the metric data, however is there a way to pass multiple App names to pull the same metric details in the same rest call?

 

Using a wild card works, but we specifically need to know if URI: /controller/rest/applications/<application-name|application-id>/problems/healthrule-violations can be used to

retrieve all health rule violations in a particular business application as mentioned in this doc. When tried it doesn't seem to be working

 

https://docs.appdynamics.com/display/PRO41/Use+the+AppDynamics+REST+API

 

Below is the query that i used

curl -X GET --user user@customer1:xxxx 'http://sample/controller/rest/applications/Monitor/problems/healthrule-violations&time-range-type=BEFORE_TIME&duration-in-mins=6'   (Monitor is the App name, i also tried with app id)

 

Kindly advise

 

Thanks,

Sundar

 

4 REPLIES 4

Brian.Wheeldon
AppDynamics Team (Retired)

All metric data in AppDynamics is segregated by application, with role based access control applied per application.

 

That means there is no way to retrieve metric data for multiple applications using a single REST call.

It's necessary to use a separate REST call for each application that you want to pull metrics from.

 

Regards,

Brian Wheeldon

Brian Wheeldon, Solution Engineer, NYC




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

Hi Brian,

 

Thanks for your response

 

We are trying to pull some custom metric data uisng a machin agent extension. As mentioned, it does pull the metrics for multiple apps if a wild card used.

 

eq: http://sample/controller/rest/applications/Monitor/metric-data?metric-path=Application%20Infrastructure%20Performance%7Cappdctrl02%7CCustom%20Metrics%7CAppStatus%7C*%7CStatus&time-range-type=BEFORE_NOW&duration-in-mins=2

 

Also, the below query uses only a single App (Monitor is the App name) & it still doesnt work . Not sure if i miss something here

 

http://sample/controller/rest/applications/Monitor/problems/healthrule-violations&time-range-type=BEFORE_TIME&duration-in-mins=6

 

Thanks,

Sundar

My comment about AppDynamics applications is true. You need separate REST requests to pull metrics from different AppDynamics applications.

 

You have a machine agent extension that collects "Status" for a number of your applications. The machine agent extension plugs those metrics into a single AppDynamics application called "Monitor". You can use a wild card to pull multiple custom metrics from that AppDynamics application in one REST call as you demonstrated.

 

Your healthrule-violations REST URL has two problems:

1. First "&" should be a "?"

2. BEFORE_TIME should be BEFORE_NOW, or you need to specify "end-time" if you specify BEFORE_TIME.

 

Regards,

Brian Wheeldon

 

Brian Wheeldon, Solution Engineer, NYC




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

Thanks. I made the corrections and it worked.