cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Chitra.Lal
AppDynamics Team

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    |   Quick Fixes   |   Disclaimers

 

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.

Back to top

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"

Step1Step1

 

2. Click on option 3. Save config and generate HTML snippet.

Step2Step2 

3. Search for "scr" variable in the generated snippet. That will be the URL of your version specific adrum.js file.

step3step3

 

4. Get adrum.js file: Open the URL copied at step 3 in a browser and save/download the resultant file as adrum.js.

Step4Step4

 

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.

step5step5

 

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.js
step6step6

Back to top

 

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.
Comments
Gunnar.Svanberg
Architect

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.

Hi Everyone,

 

I have 1 question:

can i using method auto injection for Controller onprimise ( no have internet).

thanks,

Chitra.Lal
AppDynamics Team

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

Version history
Last update:
‎03-10-2023 09:35 AM
Updated by:
Join Us On December 10
Learn how Splunk and AppDynamics are redefining observability


Register Now!

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


Read the blog here