Microsoft Edge, APM JS - Failed sending transactions and Not send data by IE12

Hello,

We have the following problem with the Microsoft Edge browser, the following error appears when we try to send the information to the APM server:
elastic-apm-js-base.umd.min.js (1736.29)

[object Error]: {description: "http://serve01.com:8200/intake/v2/rum/events HTTP status: 0", message: "http://server01.com:8200/intake / v2 / rum / events HTTP status: 0 ", stack:" Error: http://server01.com:8200/intake/v2/rum/events HTTP status: 0 at i.onreadystatechange (http: // localhost: 85 /elastic-apm-js-base.umd.min.js:1436:33) ", xhr: XMLHttpRequest}

In addition, when we perform the tests from IE no error appears, apparently everything is executed well, but the data does not appear in ElasticSearch.

Kibana version: kibana-7.2.0

Elasticsearch version:elasticsearch-7.2.0

APM Server version:apm-server-7.2.0

APM Agent language and version:js-base 3.0.0

Browser version: Microsoft Edge 44.17763.1.0 - Microsoft EdgeHTML 18.17763 - IE12

Original install method (e.g. download page, yum, deb, from source, etc.) and version:download page

Fresh install or upgraded from other version?

Is there anything special in your setup? For example, are you using the Logstash or Kafka outputs? Are you using a load balancer in front of the APM Servers? Have you changed index pattern, generated custom templates, changed agent configuration etc.

Description of the problem including expected versus actual behavior. Please include screenshots (if relevant):

Steps to reproduce:
1.
2.
3.

Errors in browser console (if relevant):

Provide logs and/or server output (if relevant):

Hello and thank you for trying Elastic APM.

Have you verified that you have configured the APM Server to accept RUM transactions?

https://www.elastic.co/guide/en/apm/server/current/configuration-rum.html

The most important being

apm-server.rum.enabled: true

Hi, Thanks for answering.

I need to complement that the information of the Browsers: Chrome, Opera, Safari, FireFox arrives without problems to the apm-server.
Only the information of the Edge and IE browsers does not arrive.

What will it be?

Hi There.... interesting....

I have a very simple React App (with some backing services) that I am running in a slightly newer version of Edge and it is working. One difference is I am using the latest APM Agent language and version : js-base [4.1.2]

It also works in Chrome and FireFox as well.

31%20PM

Couple places to look perhaps...

Is it a Single Page App, there are some challenges with them at the moment.
See Here

Is it possible that you have some proxy settings or some other security settings in Edge?

Do you have the distributedTracingOrigins: configured correctly?

Have you verified that the machine that is running the Edge browser has connectivity to the APM server? Is it the same machine you are running Chrome and Firefox?

You can test connectivity from the machine using telnet
Should give you something like

$ telnet 192.168.2.205 8200
Trying 192.168.2.205...
Connected to 192.168.2.205.
Escape character is '^]'.

if it says Connected it should be OK...

If you want to try out the app I am using as a sample you can find it here it is React with 2 Java Services....

Dear,
I just updated the agent to the latest version 4.0.3 and now the IE browser data is coming (we are moving forward), but the error continues to appear with the Edge browser.
It is necessary to clarify that I am using the same computer for the sending tests, and in this reader there is no proxy, the Edge browser is by default, it has no extra configuration.
It is strange that from the same computer it works for Chrome, Firefox, Safari, Opera, and now IE, but it does not work for Edge.
I do not understand what I should do with this configuration "distributedTracingOrigins", if you think that this may be the problem, please could you give me a hand indicating what to do exactly.
I also made a telnet to the server and it responds well.

At the moment I have a little distrust about the effectiveness and certainty of the data that we can achieve with this mechanism. This is because we want to collect information about the use of a public website, but the agent's functionality depends a lot on the local security of your PC or network of each user, eg if you are in a network with a proxy or not, if the url and port 8200 is enabled or not, browser version, etc.

Please your comments

Couple thoughts.

RUM (Real User Monitoring) requires that the agent have access to the APM server API and that API needs to be available to the internet (if the site you want to monitor is a public site) either directly or proxied just like any other content that is your website needs access to content, images, authentication or search, product, shopping cart APIs etc ... it is really just an API.

End users can always block certain behavior in browsers but as long it is well constructed and not a security risk it should normally work. RUM is not new ... websites have been using agents like Google Analytics etc for collecting statistics for years, there is very little difference it is just a bit more sophisticated now.

This is probably not your issue but here is the document here and here and a Blog here

In short if your website is served from www.mywebsite.com and calls APIs at api.mywebsite.com in order to get distributed tracing to work you would need to include distributedTracingOrigins so that the api.mywebsite.com traces recognized that www.mywebsite.com is the origin of the trace

distributedTracingOrigins: ['www.mywebsite.com']

This is also related to CORS which is also mentioned in the blog

Finally

I think you mean version 4.3.0 and I am glad it is working in IE and the other browsers but why it is not working in Edge I am unclear.

Can you provide a few more lines of the error messages before and after not as an image but as text so we can take a closer look? You can anonymize the server URL.

Can you look at the Network Tab of the DevTools and show / provide what is there?

Have you cleared Edge Cache / History?

What kind of Web App is this, What Framework React, Angular ? It could just be a bug / miss-match with Edge your App and the RUM agent as it seems to be working with every other browser and I have tested that the RUM agent successfully works in a React App.