Cómo construir un sistema de validación y alerta de datos

Code as Craft tiene TONELADAS de excelentes publicaciones sobre esto. Después de haber desarrollado varios de estos sistemas, puedo decirle que la descripción general de alto nivel se parece a esto, independientemente de su sistema:

  • La aplicación es responsable de proporcionar puntos finales o escribir registros que identifiquen el estado de la aplicación
    • La aplicación sabe si puede conectarse a la base de datos y a otros servicios externos.
    • La aplicación sabe si se está violando la lógica de negocios
  • Si su aplicación está escribiendo registros, un agente es responsable de quitar estos registros del sistema a un repositorio ubicado centralmente, por ejemplo, SumoLogic, Logstash, Splunk, etc.
  • El software de monitoreo hace sonar los puntos finales de la aplicación, escanea registros, verifica la integridad a nivel del sistema:
    • Espacio del disco
    • Uso de memoria / intercambio
    • uso de CPU
    • Disponibilidad del servicio básico (como en el caso de un equilibrador de carga)
  • Si el software de monitoreo tiene algún número de fallas (promedio o suma, por lo general) durante un período de tiempo, alerta a los consumidores con un mensaje detallado para informarles exactamente qué está sucediendo mal y cómo resolver este problema usando run-books
    • Run-books puede o no resolver el problema, pero si vas a despertar a alguien a las 3 a.m. de un sueño profundo, es mejor que tengas algún tipo de pauta clara y paso a paso a seguir