La tasa de errores del servicio mide el porcentaje de sus servicios APM que experimentan errores del lado del servidor (respuestas HTTP 5xx), lo que puede impedir que el usuario complete tareas críticas como compras, registros o acceso a datos. Esta regla de cuadro de mando lo ayuda a identificar y priorizar la solución de problemas backend que impactan directamente en la experiencia de los clientes.
Acerca de esta regla del cuadro de mando
Esta regla de tasa de errores de servicio es parte del Nivel 1 (Reactivo) en el modelo de madurez de la experiencia digital. Evalúa si sus servicios de backend tienen errores de servidor sin resolver que podrían estar afectando la experiencia del usuario y las operaciones comerciales.
Por qué esto es importante: Los errores del servidor (respuestas 5xx) indican que su backend no puede cumplir con requests de los usuarios, lo que genera transacciones fallidas, flujos de usuarios interrumpidos y pérdida de oportunidades comerciales. Los usuarios que encuentran errores en el servidor a menudo abandonan sus tareas y pueden no regresar.
Cómo funciona esta regla
Esta regla evalúa el porcentaje de servicios APM que informan errores de código de estado HTTP 5xx en sus respuestas. Identifica servicios backend donde fallas del lado del servidor pueden estar impidiendo que el usuario complete exitosamente sus acciones previstas.
Entendiendo tu puntaje
- Aprobado (Verde): Un bajo porcentaje de servicios APM experimentan errores del lado del servidor
- Error (rojo): un alto porcentaje de servicios APM tienen errores 5xx sin resolver
- Objetivo: Minimizar los errores del servidor en todos los servicios, especialmente aquellos que respaldan recorridos críticos de los usuarios.
Qué significa esto:
- Puntaje de aprobación: Sus servicios backend cumplen de manera confiable requests de los usuarios y respaldan la finalización exitosa de las tareas.
- Puntaje reprobatoria: el usuario puede estar experimentando requests fallidas, flujo de trabajo interrumpido o incapacidad para completar acciones importantes.
Comprensión de los errores del servidor 5xx
Los errores del servidor indican problemas con la infraestructura de backend o el código de la aplicación:
Tipos de error 5xx comunes
- 500 Error interno del servidor: falla general del servidor, a menudo debido a errores de la aplicación o excepciones no controladas
- 502 Bad Gateway: el servidor ascendente devolvió una respuesta no válida, común en balanceadores de carga o servidores proxy
- 503 Servicio no disponible: Servidor sobrecargado temporalmente o en mantenimiento
- 504 Gateway Timeout: tiempo de espera de solicitud al comunicar con servidores ascendentes
Impacto en la experiencia del usuario
- Transacciones fallidas: el usuario no puede completar compras, registros o envíos de datos
- Flujo de trabajo roto: los procesos de varios pasos fallan a mitad de camino, lo que frustra al usuario
- Datos perdidos: los envíos de formularios o las entradas del usuario pueden perder durante errores
- Degradación de la confianza: los errores repetidos reducen la confianza del usuario en su aplicación
Cómo reducir la tasa de errores del servicio
Si su puntaje muestra una alta tasa de errores de servicio, siga estos pasos para identificar y resolver problemas backend :
1. Identificar y priorizar los servicios afectados
- Revisar la descripción general del servicio APM: Examinar qué servicios informan errores 5xx
- Evaluar el impacto en el negocio: priorizar los servicios que respaldan las experiencias críticas del usuario (pagos, autenticación, funciones principales)
- Analizar patrones de error: Busque tendencias en el momento del error, la frecuencia o los extremos afectados.
- Verificar el impacto en los usuarios: determinar cuántos usuarios se ven afectados por los errores de cada servicio
2. Investigar las causas fundamentales
Problemas a nivel de aplicación:
- Excepciones no controladas: errores de código que no se detectan ni gestionan correctamente
- Fallos de conexión de la base de datos: agotamiento del pool de conexiones o indisponibilidad de la base de datos
- Agotamiento de recursos: pérdidas de memoria, sobrecarga de CPU o problemas de espacio en disco
- Errores de configuración: configuraciones incorrectas que provocan fallos en la aplicación
Problemas a nivel de infraestructura:
- Problemas de capacidad del servidor: recursos insuficientes durante los picos de tráfico
- Problemas de conectividad de red: Fallos de comunicación entre servicios
- Configuración del balanceador de carga: Enrutamiento incorrecto o fallos en la comprobación del estado
- Fallos de dependencia: interrupciones de servicios de terceros que afectan a su aplicación
3. Implementar correcciones de objetivos
Resolución inmediata:
- Corregir errores críticos: abordar problemas en el código de la aplicación que causan errores 500
- Escalar recursos: agregar capacidad para servicios sobrecargados que experimentan errores 503
- Configurar reintentos: Implementar lógica de reintento para fallas transitorias
- Actualizar los controles de estado: garantizar que los balanceadores de carga dirijan el tráfico correctamente
Mejoras sistemáticas:
- Manejo de errores: agregue bloques try-catch completos y respuestas de error elegantes
- Interruptor: Implementar patrones para manejar fallas de dependencia con elegancia
- Mejoras de monitoreo: agregue logging detallado y métrica para un diagnóstico más rápido
- Planeación de la capacidad: infraestructura del tamaño adecuado para gestionar la carga prevista
4. Establecer rastreo de errores y resolución
Emplee la bandeja de entrada de errores New Relic :
- Rastreo centralizado de ERRORES: Visualiza todos los errores 5xx en todos los servicios en un solo lugar
- Agrupación de errores: Agrupa automáticamente errores similares para identificar patrones
- Atribución de errores: conectar errores a implementaciones o cambios específicos
- Seguimiento de la resolución: marque los errores como resueltos y haga un seguimiento del progreso de la remediación
Implementar el seguimiento de defectos:
- Crear tiquete: Registra errores en tu sistema de seguimiento de problemas (JIRA, GitHub Issues)
- Asignar propiedad: garantizar que cada error tenga un equipo o individuo responsable
- Resolución de seguimiento: monitorear el progreso en la corrección de errores hasta la implementación
- Medir la eficacia: verificar que las correcciones realmente reduzcan la tasa de errores
Medición de la mejora
Realice un seguimiento de estas métricas para verificar sus esfuerzos de reducción de errores de servicio:
- Reducción de la tasa de errores: disminución del porcentaje de servicios que experimentan errores 5xx
- Impacto métrico del usuario: Mejores tasas de finalización de transacciones, reducción de quejas de los usuarios.
- Tiempo de resolución de errores: identificación y solución más rápidas de problemas del lado del servidor
- Confiabilidad del servicio: mayor tiempo de actividad y tasas de solicitudes exitosas
Escenarios de errores de servicio comunes
Problemas de conexión a la base de datos:
- Problema: El agotamiento del grupo de conexiones o los tiempos de espera de la base de datos provocan errores 500
- Solución: optimizar la agrupación de conexiones, implementar la lógica de reintento de conexión y monitorear el rendimiento de la base de datos
Errores de dependencia de terceros:
- Problema: Las API o servicios externos fallan, lo que provoca que su aplicación devuelva errores 502/503
- Solución: Implementar interruptores, mecanismos de respaldo y un manejo adecuado del tiempo de espera.
Errores relacionados con el despliegue:
- Problema: Nuevas versiones que introducen errores que causan errores 5xx
- Solución: Mejorar los procedimientos de prueba, implementar la implementación canaria y agregar capacidades de reversión.
Problemas de capacidad y escalabilidad:
- Problema: Los picos Traffic saturan los servidores, lo que genera errores 503
- Solución: Implementar escalamiento automático, pruebas de carga y planeación de capacidad.
Estrategias avanzadas de gestión de errores
Prácticas de prevención de errores
- Pruebas integrales: pruebas unitarias, pruebas de integración y pruebas de carga para detectar problemas antes de la producción
- revisión de código: enfoque en patrones de manejo de errores y cobertura de casos extremos
- Entornos de prueba: Realice pruebas exhaustivas en entornos similares a los de producción.
- Implementaciones graduales: emplee indicadores de características e implementación canaria para minimizar el impacto de los errores
Respuesta automatizada a errores
- Escalado automático: agrega capacidad automáticamente cuando la tasa de errores indica sobrecarga
- Interruptor: aísla automáticamente la dependencia que falla para evitar fallas en cascada
- Comprobaciones de estado: eliminación automática de instancias no saludables de la rotación del balanceador de carga
- alerta integración: Notificación inmediata cuando la tasa de errores excede el umbral
seguimiento de cambios integrados
- Correlación de despliegue: conecta picos de error con cambios específicos de despliegue o configuración.
- Procedimientos de reversión: capacidades de reversión rápida cuando los cambios introducen errores
- Análisis del impacto del cambio: medir cómo los cambios de código afectan la tasa de errores a lo largo del tiempo
- Métrica de calidad de los lanzamientos: Seguimiento de la tasa de errores como indicador clave de calidad para los lanzamientos
Validación de condiciones de error
Cerciorar de que su rastreo de errores se centre en problemas genuinos que impacten al usuario:
Filtrar falsos positivos
- Comprobación de estado extremo: Excluir requests del sistema de monitoreo de los cálculos de errores
- Llamadas de servicio internas: concentrar en los errores que enfrentan los usuarios en lugar de en las comunicaciones internas del sistema.
- Error esperado: Algunas respuestas 5xx podrían ser intencionales (modo de mantenimiento, limitación de velocidad)
- Tráfico de bots: filtre los errores de los sistemas automatizados que no representan un impacto real en el usuario
Centrar en los errores que afectan al usuario
- Servicios de cara al cliente: Priorizar errores en servicios que atienden directamente al usuario final
- Flujos comerciales críticos: centrar en los errores que afectan las actividades generadoras de ingresos
- Extremo de alto tráfico: solucione errores en extremos de API o páginas muy empleadas
- Errores de conversión: Prioriza los errores que afectan el registro del usuario, las compras o las acciones clave.
Consideraciones importantes
- Priorización del impacto empresarial: centrar primero en los errores que afectan a los servicios críticos para los ingresos
- Contexto del recorrido del usuario: considere dónde ocurren los errores en el flujo del usuario y su impacto en la finalización de la tarea.
- Frecuencia vs. gravedad de los errores: equilibre la corrección de errores menores frecuentes con fallos poco frecuentes pero críticos.
- Asignación de recursos: garantizar que los esfuerzos de resolución de errores se alineen con la capacidad de desarrollo disponible
Próximos pasos
- Acción inmediata: identificar y resolver los errores 5xx de mayor impacto que afectan al usuario
- Mejora de procesos: establecer procedimientos de clasificación de errores, flujo de trabajo y seguimiento de defectos.
- Enfoque de prevención: Implementar mejores prácticas de prueba e implementación para reducir nuevos errores.
- Mejora del monitoreo: emplee el seguimiento de cambios para correlacionar los errores con el despliegue.
- Progresar al nivel 2: una vez que los errores de servicio estén bajo control, concentrar en la Core Web Vitals optimización
Para obtener orientación detallada sobre el monitoreo y resolución de errores de servicio, consulte nuestra documentación de rastreo de erroresAPM y la guía de la Bandeja de entrada de errores.