Con el agente Python, puede agregar monitoreo de navegador a sus páginas web de forma automática o manual. Para habilitar en la interfaz de usuario, siga los procedimientos para instalar el agente del navegador. Luego siga los procedimientos de esta sección para configurar el agente Python.
Para utilizar el agente del navegador con su agente Python, asegúrese de tener la última versión. Para obtener más información, consulte las instrucciones de instalación del agente.
Soporte para instrumentación automática.
El agente Python solo admite instrumentación automática para aplicaciones WSGI que están alojadas directamente en un servidor WSGI dedicado con una interfaz WSGI nativa, y donde la aplicación WSGI devuelve la respuesta de la página HTML a través de un iterable/generador.
La instrumentación automática requiere un servidor WSGI dedicado.
- Se admiten servidores WSGI como Apache/mod_wsgi, gunicorn y uWSGI.
- No se admite el uso de adaptadores WSGI sobre el marco Tornado o Twisted.
El agente Python no admite la inserción de instrumentación cuando se utiliza la devolución de llamada write()
devuelta por la función WSGI start_response()
para escribir la respuesta de la página HTML. Para obtener más información sobre los requisitos para la instrumentación automática, consulte resolución de problemas de instrumentación browser en Python.
Utilice instrumentación automática.
El agente Python puede agregar automáticamente el agente JavaScript browser a cualquier respuesta de página HTML. Para la aplicación WSGI, el agente utiliza un middleware WSGI instalado en la canalización de solicitudes. Dado que el middleware está en el nivel WSGI, la instrumentación automática debería funcionar para cualquier aplicación WSGI independientemente del framework web que esté utilizando, incluido el marco web Python popular como Django, Flask y Pyramid.
Deshabilitar instrumentación para páginas específicas
Si desea utilizar instrumentación automática, pero tiene una respuesta de página HTML que no desea instrumentar, puede desactivar la instrumentación para esa solicitud. Agregue esta llamada API del agente Python al código de ese controlador de solicitudes:
newrelic.agent.disable_browser_autorum()
Si está utilizando un servidor WSGI que permite la configuración por solicitud, como Apache/mod_wsgi, también puede deshabilitar la instrumentación automática configurando la clave newrelic.disable_browser_autorum
para esa solicitud en el diccionario de entorno WSGI pasado a su aplicación de monitor.
Por ejemplo, si usa Apache/mod_wsgi, puede desactivar la instrumentación automática filtrando por la URL:
<Location /login>SetEnv newrelic.disable_browser_autorum true</Location>
Habilitar manualmente el monitoreo del navegador para páginas específicas
Puede agregar manualmente instrumentación browser a páginas específicas. Esto es útil, por ejemplo, si la instrumentación automática no es posible para su aplicación, si utiliza una política de seguridad de contenido no especificada o si desea recopilar datos del navegador solo para páginas específicas.
Las llamadas en este procedimiento deben realizarse en every solicitud que desea monitor. Usted cannot llama a estas funciones una vez en el ámbito global y almacena en caché el resultado para su uso posterior.
Importante
A partir de la versión 9.4.0+ de Python agente, la API get_browser_timing_footer está obsoleta y siempre devuelve una cadena vacía. La funcionalidad anterior de get_browser_timing_footer()
ahora está incluida en get_browser_timing_header()
.
En versiones anteriores del agente, se requiere el pie de página para cargar el agente del navegador.
Deshabilitar la instrumentación automática: en el archivo newrelic.ini , establezca
browser_monitoring.auto_instrument
enfalse
.Reinicie su aplicación.
Realice estas llamadas en el controlador de solicitudes de every página que desea monitor:
import newrelic.agent header = newrelic.agent.get_browser_timing_header() # The footer is required on Python Agent versions 9.3.0 and below. footer = newrelic.agent.get_browser_timing_footer()
Pase las variables
header
y posiblementefooter
a la respuesta HTML.En la página correspondiente, inserte la variable
header
en el elemento<head>
. Coloque la variableheader
después de cualquier propiedadcharset
o cualquier metaetiqueta parahttp-equiv
con un valor deX-UA-Compatible
.Si es necesario, inserte la variable
footer
antes del final del elemento<body>
.
Espere unos minutos y luego verifique los datos de monitoreo de su navegador. Si no aparecen datos después de esperar unos minutos, consulte la instrumentación browser de resolución de problemas en Python.
Soporte de CSP Nonce
El uso de CSP Nonce en la instrumentación de nuestro browser es compatible con la versión 9.4.0+ del agente Python. Para utilizar un nonce con la instrumentación browser , debe desactivar el monitoreo de instrumentación automática del navegador y utilizar la instrumentación manual a través de la API del agente.
Ahora puede pasar un nonce como argumento al método API para permitir que el agente inserte el nonce en la instrumentación del browser .
Deshabilitar la instrumentación automática: en el archivo newrelic.ini , establezca
browser_monitoring.auto_instrument
enfalse
.Reinicie su aplicación.
Realice estas llamadas en el controlador de solicitudes de every página que desea monitor, reemplazando "NONCE" con su CSP nonce:
import newrelic.agent header = newrelic.agent.get_browser_timing_header("NONCE")
Pase la variable
header
a la respuesta HTML.En la página correspondiente, inserte la variable
header
en el elemento<head>
. Coloque la variableheader
después de cualquier propiedadcharset
o cualquier metaetiqueta parahttp-equiv
con un valor deX-UA-Compatible
.