Not a customer? Click the 'Start a free trial' link to begin a 30-day SaaS trial of our product and to join our community.
Existing Cisco AppDynamics customers should click the 'Sign In' button to authenticate to access the community
06-02-2017 02:25 PM
Hi everyone,
Regarding the 500 limit for each EUM Pages and Ajax Requests, I'm wondering whether it's possible to have some kind of email alert or something to indicate it's nearing the limit. I'm aware there's a message at the bottom of the page that indicates if you're over the limit, but I don't want to be constantly watching for this every day.
Since our single-page browser app may have dynamic segments in the URLs (where at any time which devs could introduce new pages with dynamic segments) which would generate unique pages/ajax that count toward the limit, if this happens to slip past our custom naming rules filter the limit could be hit very quickly.
Or if there are other suggestions to work around this issue, I'd be happy to hear it.
Thanks!
Solved! Go to Solution.
06-03-2017 12:08 AM
Hi Jlee,
This is a known limitation and an enhancement request is in place to track this. With this said, there is no documented way available to achieve this. A workaround would be to use the APIs which the Controller UI uses to query all the pages and AJAX. However the shortcoming is that these APIs are undocumented and used for UI service only, hence they might change without prior notice. But it will solve the purpose for now.
You can run the following sequence using curl (or equivalent in any other programming language):
# this works for controller version 4.2 version of Controllers # generate token using <username>%40<account>:<password> token=`echo -n "mayuresh%40mvk:AppD" |base64 -b 0`
# this works for controller version 4.3 version of Controllers
# generate token using <username>@<account>:<password>
token=`echo -n "mayuresh@mvk:AppD" |base64 -b 0`
curl -v --cookie-jar cookie2.txt -H"Authorization:Basic ${token}" "http://172.16.87.133:8090/controller/auth?action=login" curl -XPOST -H"Content-Type:application/json;charset=UTF-8" -H"Acceding:gzip, deflate" -H"Accept:application/json, text/plain, */*" --cookie cookie2.txt -v --data '{"applicationId":50,"addId":null,"timeRangeString":"last_15_minutes|BEFORE_NOW|-1|-1|15","fetchSyntheticData":false}' "http://172.16.87.133:8090/controller/restui/pageList/getEumPageList" 2>/dev/null|python -m json.tool
Here the call is:
/controller/restui/pageList/getEumPageList
And in the document takes in the application id as input in the document
--data '{"applicationId":1196,"addId":null,"timeRangeString":"last_15_minutes|BEFORE_NOW|-1|-1|15","fetchSyntheticData":false}'
Here the "applicationId" field provides the application id. You can get the application id form the URL in the browser when you are in the required EUM app in the controller UI.
Output:
{ "ajaxLimit": 2000, "numOfAdds": 0, "pageIFrameLimit": 2000, "pageList": [ { "addId": 997943, "ajaxCallBackExecutionTime": -1, "ajaxRequestErrorPerMinute": -1, "ajaxResponseDownloadTime": -1, "domBuildingTime": -1, "domReadyTime": -1, "endUserResponseTime": -1, "firstByteTime": -1, "frontEndTime": -1, "htmlDownloadAndDomBuildingTime": -1, "htmlDownloadTime": -1, "internalName": "www1.nn.com.au/online_customers/static", "name": "www1.nn.com.au/online_customers/static", "outlierRequests": -1, "pageViewWithJavaScriptErrorPerMinute": -1, "requestPerMinute": -1, "resourceFetchTime": -1, "responseAvailableTime": -1, "serverConnectionTime": -1, "synthetic": false, "totalNumberOfEndUserRequests": -1, "totalOutlierRequests": -1, "totalPageViewWithJavaScriptError": -1, "type": "BASE_PAGE" }, .....
This output can now be parsed to get the number of items per "type".
Once you have these output parsed, you can create your custom metrics from these values as defined at https://docs.appdynamics.com/display/PRO43/Extensions+and+Custom+Metrics for 4.3 and https://docs.appdynamics.com/display/PRO42/Extensions+and+Custom+Metrics for 4.2.
Once you have the custom metrics in place, you can use them in your Alerting and Dashboards.
Let us know if this helps.
Regards,
Mayuresh
(Please click the Accept solution button if you find this solution useful)
06-06-2017 11:18 AM - edited 06-06-2017 11:18 AM
Hi Mayuresh,
I see. That's unfortunate there's nothing out of the box at the moment. Thanks for the detailed API approach to doing it! We'll just monitor the numbers manually while we're still in the setup phase and logging in often.
Thanks!
James
11-14-2017 11:44 AM
Mayuresh,
We actually implemented this and were using it to monitor the page counts.
However, we suddenly started getting "HTTP Status 403 - Forbidden" errors when we try to fetch the data using:
curl -XPOST '-HContent-Type:application/json;charset=UTF-8' '-HAcceding:gzip, deflate' '-HAccept:application/json, text/plain, */*' --cookie cookie2.txt -v --data '{"applicationId":30553,"addId":null,"timeRangeString":"last_15_minutes|BEFORE_NOW|-1|-1|15","fetchSyntheticData":false}' https://ourname.saas.appdynamics.com/controller/restui/pageList/getEumPageList
I'm assuming the rest url/endpoint has changed.
I also tried https://ourname.saas.appdynamics.com/controller/rest/pageList/getEumPageList, but it did not work.
Can you tell us how we might access that now?
Or, can you tell us id the notification feature has been enabled for this so that we don't have to script it?
Thanks!
-- Matt
11-14-2017 03:27 PM
Hi Matt,
What version are you on now?
Regards,
Mayuresh
11-14-2017 03:49 PM
Thank you! Your submission has been received!
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form