Nuestro incluye estrictas medidas de seguridad para proporcionar un producto sólido e independiente con monitoreo de características del navegador. Antes de instalar el agente del navegador, asegúrese de que su sistema cumpla con estos requisitos.
Requerimientos básicos
Para reportar datos a New Relic, su aplicación debe cumplir dos requisitos básicos:
- El tráfico a la aplicación debe provenir de clientes capaces de cargar y ejecutar código JavaScript browser .
- Los clientes que accedan a la aplicación deben poder enviar datos a New Relic a través de solicitudes HTTP. Se requiere HTTPS para el monitoreo más avanzado de características del navegador.
Importante
Es posible que los navegadores que se suscriban a una lista de desconexión o que utilicen extensiones de filtrado de contenido como AdBlock no puedan informar datos a New Relic. Por ejemplo, si está utilizando la lista de desconexión de Prevención de seguimiento mejorada para Mozilla Firefox 69.0 o superior, deberá cambiar la configuración predeterminada.
La mayoría de las aplicaciones browser típicas cumplen con estos requisitos, pero algunas aplicaciones browser en entornos restringidos pueden tener dificultades para informar datos a New Relic. Por ejemplo:
- Aplicación móvil híbrida
- Aplicación instalada en hardware inusual, como terminales de punto de venta o electrodomésticos de consumo.
Para obtener más información, revise la documentación de instrumentación para el monitoreo del navegador y luego verifique el acceso a la red del usuario final.
Navegador compatible
El agente del navegador soporta oficialmente las siguientes versiones browser :
- Chrome (10 versiones anteriores)
- Safari (10 versiones anteriores)
- Firefox (10 versiones anteriores)
- Edge (10 versiones anteriores)
La instrumentación y características específicas pueden ser compatibles con otros navegadores o versiones.
Exceptions | Comments |
---|---|
Tiempos de pintura | Los atributos
|
AJAX | La característica de temporización AJAX no está disponible con:
|
|
|
Rastreo de sesión | El rastreo de sesión se informa únicamente desde navegadores que admiten la especificación de sincronización de recursos. |
SHA-256 | New Relic solo puede monitor navegadores que sean compatibles con SHA-256. |
Importante
Cuando utiliza el monitoreo del navegador con cookies, las cookies de New Relic son cookies de terceros en su sitio y pueden no almacenarse ni funcionar en ciertos navegadores web utilizados por sus visitantes. Consulte los sitios web del browser correspondiente para obtener detalles sobre su compatibilidad con cookies de terceros.
Agente APM
Una forma de implementar el monitoreo del navegador de una aplicación es utilizando uno de nuestros agentes APM.
Si está implementando browser para una aplicación que APM ya está monitoreando, asegúrese de que la versión de su agente APM admita el monitoreo del navegador:
- Go: Versión 2.5.0 o superior
- Java: Versión 3.4.0 o mas alto
- .NET: Versión 2.20.25.0 o superior
- Node.js: Versión 1.4.0 o superior
- PHP: Versión 4.4.5.35 o superior
- Python: Versión 2.10.1.9 o mas alto
- Ruby: Versión 3.7.0.177 o superior
Marco soportado y biblioteca
El agente del navegador recopila datos en sitios que utilizan muchos marcos de interfaz y bibliotecas populares. El agente del navegador monitorea objetos y métodos JavaScript de bajo nivel, que pueden ser empaquetados o modificados por otra biblioteca y marco. Como resultado, el nivel de detalle recopilado puede variar de un framework a otro y pueden ocurrir conflictos con cualquier biblioteca que modifique la mecánica nativa de JavaScript.
Excepciones de compatibilidad | Comentarios |
---|---|
Zone.js | Si está utilizando AngularJS y desea utilizar nuestra característica de monitoreo SPA, tenga en cuenta que las versiones de Zone.js 0.6.18 a 0.6.24 no son compatibles con el navegador. En todos los casos, el agente del navegador must se cargará antes que Zone.js para evitar errores. |
Cypress.io | Browser no puede instrumentar correctamente los métodos
Esto solo afectará a los clientes que ejecuten pruebas con el agente del navegador presente en su código. La aplicación de producción no debería verse afectada. |
html2pdf.js | Esta biblioteca no es compatible con nuestro agente Pro+SPA debido a la forma en que esta biblioteca envuelve las promesas. Si está utilizando esta biblioteca, le recomendamos seleccionar el tipo de agente Pro. |
MooHerramientas | El agente del navegador no es compatible con versiones de MooTools anteriores a |
Monitoreo de aplicación de página única (SPA)
Para utilizar la característica relacionada con el monitoreo de aplicaciones de página única (SPA), su aplicación debe cumplir con estos requisitos.
SPA: versión del agente del navegador
El monitoreo de SPA requiere una versión específica de SPA del fragmento del navegador, disponible para la versión 885 o superior del agente del navegador. Esta versión del agente está habilitada de forma predeterminada.
SPA: tipos browser
El monitoreo de SPA requiere la API del navegadoraddEventListener
y la API de sincronización de navegación. Ambas API están disponibles en todos los navegadores modernos, incluidos Google Chrome, Mozilla Firefox, Apple Safari y Microsoft Internet Explorer (IE) versiones 9 o superiores.
SPA: requisitos framework
Debido a que la instrumentación SPA funciona envolviendo API browser de bajo nivel, es independiente framework . La instrumentación SPA es compatible con la mayoría de los marcos SPA, como Angular, Backbone, Ember y React. También puede instrumentar solicitudes realizadas mediante JSONP.
A continuación se detallan problemas de compatibilidad conocidos:
- Si su aplicación usa AngularJS y desea utilizar las capacidades de monitoreo de SPA del navegador, las versiones de Zone.js 0.6.18-0.6.24 no son compatibles con el agente SPA.
- La biblioteca html2pdf.js no es compatible con el agente SPA.
- Las versiones angulares 12 a 14 contienen una limitación en cuanto al tamaño de los elementos de script individuales contenidos en la fuente HTML del índice. Consulte esta página de resolución de problemas para obtener más información.
- Next.JS tiene una incompatibilidad conocida desde la versión 13.3.2-canary.2 donde el uso del enrutador de la aplicación puede provocar que los enlaces de la página no funcionen. Consulte esta página de resolución de problemas para obtener más información.
SPA: Seguridad para fragmentos de hash
Recopilamos y guardamos fragmentos de hash de las URL de cambio de ruta. Si utiliza hash para pasar datos privados o confidenciales, esos datos pueden ser visibles para el usuario de su cuenta New Relic. Siga las pautas de seguridad del navegador con la recopilación y generación de informes de datos.
Consideraciones sobre la política de seguridad de contenido (CSP)
Para obtener un rendimiento métrico preciso del navegador, nuestro monitoreo de navegador requiere el uso de un pequeño fragmento de JavaScript en línea. New Relic revisa cuidadosamente el JavaScript en línea para evitar secuencias de comandos entre sitios (XSS) y otras vulnerabilidades potenciales.
El nivel 2 de la política de seguridad de contenido agrega restricciones a los tipos de JavaScript permitidos, como el script en línea. También limita qué dominio puede cargar scripts durante la carga de la página.
Importante
Si su sitio web no permite la ejecución de ningún JavaScript alojado por terceros, debe solicitar una excepción de CSP a través de los procedimientos estándar de su organización para poder instalar el agente de monitoreo de navegador.
Al solicitar una excepción de CSP, siga los procedimientos estándar de su organización para comunicarse con su equipo web o de seguridad. Las excepciones de CSP para su caso de uso dependen de la versión del agente del navegador que esté ejecutando actualmente. Siempre recomendamos actualizar a la última versión del agente del navegador.
Puede agregar todas estas excepciones a la directiva alternativa default-src
(en lugar de script-src
y connect-src
). El agente del navegador requiere las siguientes excepciones de CSP:
Excepción CSP | Comentarios |
---|---|
| Agréguelo a la directiva |
| Agréguelo a la directiva |
| El agente intenta enviar carga a subdominios de
|
nonce
apoyo
A partir de agente del browser 1.247.0, el agente respetará un atributo nonce
adjunto al script en línea al cargar fragmentos de código adicionales. Si su sitio o infraestructura es capaz de inyectar un atributo nonce
en el script del agente del navegador en línea, solo necesitará solicitar una excepción CSP para connect-src
.
Importante
Nuestro soporte integrado nonce
no se aplica al uso del paquete npm agente del navegador. Con el paquete npm, el agente pasa a formar parte del código de su sitio o aplicación. Cualquier fragmento adicional cargado se realizará a través del código de su aplicación y usted tiene control total sobre cuándo y si se usa un atributo nonce
.
Algunos agentes APM capaces de inyectar el agente del navegador también admiten agregar un atributo nonce
al script inyectado.
Agente APM | Versión mínima | Nota de soporte |
---|---|---|
Go | Admite la inyección del fragmento de JavaScript a través de la API | |
Java | Admite agregar | |
.NET | Admite agregar | |
Node.js | Admite agregar | |
Ruby | Admite agregar |
Soporte de proxy
Importante
Esta característica está actualmente disponible para aquellos que utilizan los métodos de instalación browser copiar/pegar o npm. Actualmente no hay opciones de configuración de UI o NerdGraph disponibles. Seguimos trabajando para mejorar el acceso a estas y otras opciones de configuración.
A partir del agente del navegador 1.240.0, el agente se puede configurar para enviar solicitudes de red a través de otra combinación de dominio y ruta que usted controle. Dependiendo de su configuración de proxy y de CSP, es posible que no necesite solicitar excepciones para agregar el dominio New Relic a script-src
y connect-src
. Consulte nuestros documentos de proxy para obtener más información, incluida una guía sobre cómo configurar el agente.
Integridad de los subrecursos (SRI)
El agente del navegador utiliza la división de código para hacer que el fragmento de código en línea sea lo más pequeño posible. El código adicional necesario para que el agente funcione se carga en tiempo de ejecución desde nuestra red de entrega de contenido (CDN). Como capa adicional de seguridad, comenzando con agente del browser 1.247.0, el fragmento del agente contiene hash de todos los fragmentos de código adicionales que podrían cargarse durante el tiempo de ejecución. El browser utiliza estos hash para verificar que el código cargado desde la CDN no se haya modificado involuntariamente, ya sea en la CDN o durante el tránsito mediante un ataque de intermediario.
Importante
El hash SRI no se aplica al uso del paquete npm agente del navegador. Con el paquete npm, el agente se convierte en parte del código de su sitio o aplicación, lo que invalida nuestro hash generado.
Para obtener más información sobre cómo funciona la seguridad SRI, consulte este artículo de MDN.