Why can't I download JavaScript Agent files for EUM?
Problem | Customers are unable to download adrum js files from CDN location(cdn.appdynamics.com). The error message for each customer may differ.
For example, some common errors seen are:
- When you try to click the download option, it says No jsagent file can be downloaded from cdn.appdynamics.com.
- When you click on the download option, it just navigates and throws HTTP 400 or Error 404
- When you click on the "Download" button, the page keeps on "waiting" for the server for a very long time, then redirects you to the Controller restAPI download token. It will look something like this:
http://controllerhost:8090/controller/restui/browserRUMConfig/downloadJSAgentZip?X-CSRF-TOKEN=4af3c6...*
It then immediately closes the connection with an "unexpectedly closed the connection" message.
Environment (AppD Version, Other Products Installed) affected: This issue is seen on 4.3.x and 4.4 Controllers.
In this article
Troubleshooting/Resolution
There can be multiple factors behind this download issue, so debug them step-by-step and apply the respective solutions as needed:
NOTE | See the Disclaimers, below, to help inform your workaround choice
Case 1: Is there an internet connection?
Check whether there is an internet connection on the Controller machine. Many times the Controller machine does not have internet so it can't connect to cdn.appdynamics.com for downloading files.
Solution Case 1: If you can not get internet on the Controller machine, you can use one of the workarounds given in the Quick Fix of this article, below.
Case 2: Is the firewall blocking connection on port 443?
The firewall is blocking the connection to cdn.appdynamics.com on port 443.
Solution Case 2: You need to open the firewall to connect to the CDN site in order to download the JSAgent files
Case 3: Is there a proxy between the Controller and internet?
There is a proxy in between.
Solution Case 3: If the Controller server is connected to the internet via http/https proxy, verify the controller proxy settings are set up correctly. If not, your network team needs to set the proxy parameters to allow outgoing traffic to be bypassed.
Quick Fixes
While case-wise solutions are already provided in section above, here are some quick workarounds for immediate relief:
Workaround 1: Get the latest JS Agent files
All the latest js agent files can be downloaded from the following cdn locations:
1. adrum-latest.js - here
2. adrum-ext.js - here
3. adrum-xd.html - here
Workaround 2: Download the adrum folder onto a different machine
Download the adrum files zip folder from the Controller on a different machine/laptop that has internet connection and use that.
Workaround 3: Use the "...hosts all JavaScript Agent files..." option
Download the files from your Controller using the "AppDynamics hosts all JavaScript Agent files from cdn.appdynamics.com" option. Steps 1-6 are below with screenshots attached for clarity:
1. Choose "AppDynamics hosts all JavaScript Agent files from cdn.appdynamics.com"
Step1
2. Click on option 3. Save config and generate HTML snippet.
Step2
3. Search for "scr" variable in the generated snippet. That will be the URL of your version specific adrum.js file.
step3
4. Get adrum.js file: Open the URL copied at step 3 in a browser and save/download the resultant file as adrum.js.
Step4
5. Get adrum-ext.js file: In your adrum.js file downloaded at step 4, search for "ext" and pick up the cdn URL for adrum-ext file. Open the URL copied above in a browser and save/download the resultant file as adrum-ext.js.
step5
6. Get adrum-xd.html: In your adrum.js file downloaded at step 4, search for "html" and pick up the cdn URL for adrum-xd file. Open the URL copied above in a browser and save/download the resultant file as adrum.jsstep6
Disclaimers
- If you are using a SaaS Controller, you can download the latest version of files as mostly it will be on same major version.
- If you have an On-Prem Controller or your version is not on the same major version as EUM SaaS, you need to download the files specific to your version, which can be done via the browser following workaround #3 given in the Quick Fix section.
- Mark as Read
- Mark as New
- Bookmark Message
- Permalink
- Report Inappropriate Content
Comment on Stage 3 above. Configuring a proxyserver on controller in domain.xml means that your controller will try and access your eum server through the proxy. Which in turn means that if you run eum on prem you must either whitelist the eum server in the proxy or not configure a proxy. If you configure it it will break your EUM installation. Be careful.
I wish that the link in the RUM controller configuration GUI that download the adrum scripts where done in my browser and not by the controller.
- Mark as Read
- Mark as New
- Bookmark Message
- Permalink
- Report Inappropriate Content
Hi Everyone,
I have 1 question:
can i using method auto injection for Controller onprimise ( no have internet).
thanks,
- Mark as Read
- Mark as New
- Bookmark Message
- Permalink
- Report Inappropriate Content
Hi Phuc.Duong Quang,
If your question is about using Using auto injection or not, that depends on whether your application framework is eligible to use auto injection of code or not?Please refer to this Auto injection guide in order to evaluate that.
Just to clarify, using auto injection does not depend on having internet or not because internet part is only needed to download adrum js files from cdn, so if you can download and host those files locally, you don't need internet.
However if your question is about using the js agent files hosting option from cdn, that will need internet connection on the browser where this web page is accessed to download the adrum js files, so having internet on the controller host is not required unless you are accessing your application also on the same host as your controller.
Thanks,
Chitra