ProHoster > Blog > administración > Monitoreo de errores con Sentry en aplicaciones front-end escritas en JavaScript: Parte 1
Monitoreo de errores con Sentry en aplicaciones front-end escritas en JavaScript: Parte 1
Servicio Sentry le permite monitorear de forma remota errores en aplicaciones front-end escritas en JavaScript.
Intentando solucionar problemas en las aplicaciones front-end en JavaScript Puede ser complicado porque se originan en el navegador del usuario, al que a menudo no se tiene acceso. Sin embargo, Sentry hace posible monitorear errores de forma remota.
es Puede descargar las soluciones analizadas en este artículo.
Lo que se necesita
Si desea utilizar estos ejemplos, necesitará:
Node.js: una herramienta de desarrollo rica en funciones que no forma parte de la aplicación. Descargamos la última versión LTS (8.12.0)
Sentry: Ya sea una cuenta en el servicio Sentry (puede registrar hasta 10 mil errores por mes de forma gratuita) o un Sentry local instalado - https://github.com/getsentry/onpremise
Instalación en su servidor
Para instalar Sentry On-Premise en su servidor, puede hacerlo de 2 maneras
Установить на сервер docker и docker-compose
git clone https://github.com/getsentry/onpremise.git
./install.sh
Uso estándar
Para comenzar, agregue uno nuevo desde el sitio web del servicio. Sentry-proyecto para la aplicación. Tras seleccionar el idioma deseado, recibirás la documentación correspondiente. En nuestro caso elegimos JavaScript.
El primer ejemplo es estándar. JavaScript. Hay dos botones aquí: "Hola" (Hola y "Error" (Error).
Después de hacer clic en el botón "Hola", la pantalla se reiniciará y el bloque try detectará y atrapará el error. Una vez que se "detecta" el error, el informe de error se envía manualmente al servicio Sentry.
El botón "Error" le permite detectar fácilmente un error.
Sentry se instala desde una CDN y se expone como una variable global
Un poco antes lanzamos Sentry en nuestro JavaScript.
Para probar este ejemplo, podemos utilizar una plataforma de servidor web estático. Node.js: servidor http. Vaya a la carpeta donde está almacenado el archivo. index.htmle ingrese (opción con deshabilita el almacenamiento en caché) la siguiente línea para abrir la dirección en el navegador http://localhost:8080.
Cómo se muestran los errores detectados
Primero haga clic en el botón "Hola".
Detectamos un error, por lo que no aparecerá en la pila de llamadas y, por lo tanto, no se monitorea en la consola. Sin embargo, dado que enviamos a Sentry Si informa un error manualmente, veremos un mensaje al respecto en su cuenta.
Notas:
Podemos rastrear qué línea (24) contiene el error.
Además, la ruta de navegación muestra las acciones del navegador que provocaron el error.
Cómo se muestran los errores no detectados
Haciendo clic en el botón "Error".
El error aparece en la pila de llamadas y, por lo tanto, se muestra un mensaje de error en la consola. Después de esto, Sentry monitorea automáticamente el error, sin ninguna acción adicional.
Notas:
Podemos ver en que linea (30) se pierde el bug
No hay rastro de ruta de navegación (no entiendo muy bien por qué)
Cómo garantizar la seguridad del proyecto
Es posible que hayas notado la forma en que controlamos qué páginas pueden reportar errores a nuestro proyecto. Sentry; Con ayuda DSN registros. El problema es que cualquier persona que vea el código fuente de su página puede ver la entrada.
Para evitar esto, debemos limitar la cantidad de dominios que pueden enviar informes de errores a nuestro proyecto. En este ejemplo utilizamos localhost (anfitrión local). Esta opción se configura en la pestaña de configuración. Sentry-proyecto, Configuración del proyecto Sentry.
Lanzamientos
Si piensas en cómo utilizar Sentry en diferentes variaciones de nuestra aplicación, entonces necesitamos algún tipo de mecanismo que marque los errores con un número de versión.
Después de todo, no queremos que el error que solucionamos vuelva a aparecer y creemos que lo que solucionamos no funcionó. También puede ser que el usuario haya iniciado una versión anterior almacenada en caché de la aplicación.
Para resolver el problema, debe ingresar el identificador. liberar (versiones) al inicio Sentry.
Después de esto, todos los errores nuevos se marcarán como liberación (0.1.0), es decir, estarán vinculados a la versión correcta del código.
Notas:
Hemos descubierto una forma sencilla de utilizar los lanzamientos.
Sentry te permite usar más complejo su utilizar, que está estrechamente relacionado con GitHub. Esta función permite rastrear errores antes de realizar determinadas operaciones.
PD: La segunda parte es más larga, por lo que estará en una publicación aparte.