Monitoreo-instalación de registro de errores de front-end de sentry
Directorio de artículos
Digresión
Como el extremo más cercano al usuario, el front-end tiene una responsabilidad muy importante. La respuesta debe ser rápida, la operación debe ser fluida, etc. Sin embargo, el diseño de un solo subproceso de JS y el diseño que dom no puede representar al mismo tiempo hará que su JS se atasque allí minutos después de que se informe de un error. simplemente pon:
体验贼差
¿Qué hacer si hay un error? Para la depuración, puede leer muchos artículos de depuración publicados antes:
El impulso principal es spy-debugger
. Lo que uso más a diario también esspy-debugger
-
Utilice weinre / spy-debugger para depurar la página móvil
- ventaja:
- Fácil de operar, inyección automática,
- Puede depurar JS y css, ver solicitudes, etc.
- Desventajas:
- Se requiere un proxy para la depuración
- Si es https, debe instalar un certificado.
- ventaja:
-
página web móvil de depuración de Chrome
-
Ventajas: consola nativa de Chrome. ¡Nativo! ! Esta consola es invencible y no me puedo quejar
-
Desventajas:
- Si hay una pared, es muy probable que no se conecte (el nuevo borde también admite la depuración, que parece estar conectada directamente, sin miedo a la pared).
- Se necesita un cable de datos y la conexión es inestable (el cable está suelto).
- También es necesario que sea compatible con Chrome para teléfonos móviles, no se pueden depurar otros navegadores
-
-
PC que depura el terminal móvil H5 vue-devtools + weinre + fiddler
- Las ventajas y desventajas de nada puramente en
vue-devtools
una exploración curiosa. El derechofiddler
de un
- Las ventajas y desventajas de nada puramente en
Las herramientas anteriores son muy prácticas, pero también tienen inconvenientes: el teléfono móvil que debe reproducir el error está a tu lado, tienes que conectar el cable de datos, o abrir agentes para diversas operaciones. Para los usuarios del mercado, esto es básicamente imposible y muchos escenarios no se pueden reproducir en absoluto.
Finalmente, solo puedo decir una cosa: no hay problema en mi computadora / teléfono móvil
Entonces necesitamos más monitoreo, el punto de enterramiento de front-end que a menudo se dice, aquí hay una introducción directa sentry
Las ventajas de senrry
- Código abierto (hay una versión paga, por supuesto, eliges construirla tú mismo)
- Herramientas completas
- Integración de múltiples terminales
- Support SourceMap (necesario para reproducir errores)
- Uso rápido (realmente no tengo tiempo para escribir un conjunto de puntos de enterramiento, tal vez no sea así)
Tema: instalación senrry
Metodo de instalacion
-
Instalación de Docker
接下来是介绍在centeos 用 docker 安装
Precauciones
- La memoria del servidor es al menos 2G, de lo contrario habrá problemas al ejecutar el comando de actualización centinela
- La versión de Docker debe estar en
17.05.0+
- La versión de redacción debe estar en
1.23.0+
Instalar ventana acoplable
Aquí hay un hoyo, si no quiere pisarlo, puede leer primero la siguiente captura de pantalla
# 安装docker
yum install docker -y
# pip安装docker-compose
pip install docker-compose
-
- pip no pudo instalar docker-compose
No se pueden desinstalar las "solicitudes". Es un proyecto instalado de distutils y, por lo tanto, no podemos determinar con precisión qué archivos pertenecen a él, lo que conduciría a una desinstalación solo parcial.
Análisis del problema:
La versión anterior tiene muchas dependencias y no se puede eliminar claramente. En este momento, se debe ignorar la actualización de la versión anterior, que es la siguiente
Solución:
sudo pip install docker-compose --ignore-installed requests
-
- No me di cuenta al principio, la versión de la ventana acoplable de yum source es demasiado baja. . .
Mi versión de Docker es solo 1.13.3
Solución: actualice la versión de Docker
# 删除旧的docker
yum remove docker docker-common docker-selinux docker-engine
# 安装需要的软件包
## yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置Docker yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 查看所有仓库中所有docker版本
yum list docker-ce --showduplicates | sort -r
# 安装docker。默认装最新的
sudo yum install docker-ce
# 如果需要指定版本安装(版本号上面的命令有的看)
sudo yum install docker-ce-18.06.1.ce
Ver versión de Docker
Una vez finalizada la instalación. La preparación de la ventana acoplable está casi completa, inicie la ventana acoplable.
systemctl start docker
Descarga el script de instalación
Es la dirección de Git de la ventana acoplable escrita arriba. Encuentra un lugar para bajar
git clone https://github.com/getsentry/onpremise.git
Verá una onpremise
carpeta. Las operaciones posteriores están en esta carpeta, por lo que
cd onpremise
# 执行安装
./install.sh
Si se encuentra 没有那个文件或目录
. Debido al problema de los CRLF
saltos de línea , el script sh desplegado por git usa saltos de línea, lo que da como resultado una gran cantidad de símbolos adicionales que afectan al script.
Solución:
- Editar
install.sh
. Modifique el carácter de nueva línea:
vim install.sh
# 然后点击 esc 。输入
:set ff=unix
# 然后保存退出
- El
install.sh
vscode introducido. Modificar saltos de línea directamente
Toque CRLF para cambiar a LF. Solo súbelo al servidor de nuevo
El carácter de nueva línea es fijo, luego continúe ejecutando el script
Modifica la imagen
Hay hoyos, primero mira las instrucciones:
¡Entonces encontrarás que la Fetching and updating Docker images
espera no respondió siglos! Es demasiado lento, por lo que debemos cambiar a la imagen de Alibaba Cloud y ejecutar el comando de instalación
Vaya a Alibaba Cloud para obtener la última dirección espejo (para obtener la dirección espejo, debe registrarse en Alibaba Cloud, simplemente regístrela a voluntad)
https://promotion.aliyun.com/ntms/act/kubernetes.html
Ventana acoplable de búsqueda
Verifique el acelerador del espejo. El documento del lateral también es muy claro:
sudo tee /etc/docker/daemon.json << - 'EOF'
{ “registro-espejos”: [“https://hkoa9dfz.mirror.aliyuncs.com”] } EOFEs un comando, solo cópialo en
O use el vi.vim de uso común. El
{ "Registry-Mirrors": ["https://hkoa9dfz.mirror.aliyuncs.com"] } pega el efecto es el mismo
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://hkoa9dfz.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
También se encuentra el espejo. Ejecute formalmente ./install.sh
la instalación, espere unos minutos. Viendo que esto es, la instalación está completa
Crear cuenta inicial
Pregunte si desea crear una cuenta, solo ingrese su dirección de correo electrónico, se le pedirá que ingrese una contraseña más tarde, confirme nuevamente
Hice clic accidentalmente en N. ¿Qué debo hacer?
Vuelva a ejecutar el siguiente comando, se le pedirá que ingrese una cuenta
docker-compose run --rm web upgrade
Corre centinela
docker-compose up -d
Luego, el navegador visita http://{ip}:9000
. Cambie la IP a la dirección IP de su propio servidor. El puerto predeterminado es 9000
Está a medio hacer ~
La contraseña de la cuenta es la contraseña de la cuenta que acaba de completar. Si no se genera, revise los pasos anteriores.
La instalación aquí ha llegado a su fin. El artículo es demasiado extenso. Todavía hay muchas cosas que recordar sobre el uso de centinela, ¡así que me extenderé en el próximo artículo!
Una ultima palabra
¡Docker es increíble! Sentry depende tanto de un espejo ... Aunque se cambia la tarjeta de origen del espejo, en general es mucho más fácil de instalar que antes de depender de uno por uno.