¿Qué es una buena herramienta para monitorear una aplicación web?

Lo siento si esta pregunta es demasiado vaga, no estaba seguro de dónde/cómo más preguntar esto.

Estamos construyendo una aplicación de pedido de alimentos en línea que tiene 3 paneles separados.

  1. Panel de usuario
  2. Panel de control de la empresa del usuario
  3. Panel de administración.

Estamos usando la pila MERN y es una aplicación bastante sencilla.

Lo que me gustaría saber es si hay ALGUNA herramienta que podamos usar para monitorear el rendimiento y cualquier problema potencial que pueda presentar la aplicación.

Busqué y encontré servicios como Rollbar.com pero (y muchos otros) parecen estar orientados a aplicaciones grandes.

¡Cualquier recomendación sería muy apreciada!

Sugiero definir la pila MERN para mayor claridad.
Considere eso hecho, señor :-) Wikipedia muestra que parece una pila/marco React.

Respuestas (1)

Descargo de responsabilidad: soy un desarrollador activo del software que estoy a punto de recomendar, así que al menos soy un poco parcial.

Si bien puede ser un poco exagerado para su caso de uso particular, Netdata debería poder realizar la gran mayoría del monitoreo que podría interesarle. Está un poco más centrado en el lado del monitoreo del rendimiento, pero también puede generar alertas. cuando las cosas van mal. Las características incluyen:

  • Recopilación de datos casi en tiempo real. De manera predeterminada, la mayoría de las métricas que recopila Netdata se recopilan en intervalos de 1 segundo, lo que significa que es muy fácil ver el impacto que tienen los cambios que realiza casi de inmediato.
  • Sobrecarga mínima. A pesar de la alta frecuencia de recopilación, Netdata usa muy poco tiempo de CPU (generalmente menos del 5 % en los sistemas de servidores modernos, incluso cuando recopila miles de métricas) y muy poca RAM (seguimiento de métricas de 3k a una resolución de 1 segundo con 12 horas de historial y sin reducción). ocupa alrededor de 500 MB de RAM, incluida la propia Netdata).
  • Casi no hay E/S de disco. Con la configuración predeterminada, Netdata mantiene todo en la memoria y solo toca sus discos cuando lo inicia o lo detiene.
  • Configuración mínima. Netdata está diseñado para detectar automáticamente tanto como sea razonablemente posible sin necesidad de ninguna configuración manual. En la mayoría de los casos, si está utilizando configuraciones estándar para una pieza de software que Netdata puede monitorear, Netdata lo detectará automáticamente y monitoreará todo lo que pueda.
  • Monitorización integral de todo el sistema. Netdata realiza un seguimiento de todo, desde cosas básicas como el uso de CPU y memoria, hasta detalles súper detallados como tipos exactos de errores de red o tiempos de solicitud precisos para servidores web.
  • La interfaz para mostrar los datos está integrada. Netdata viene con su propio servidor web incorporado que proporciona una interfaz estrechamente integrada para mostrar gráficos de todos los datos que recopila.
  • Manejo nativo de alertas. Netdata proporciona un sistema integrado para enviar alertas automáticamente cuando las métricas que recopila superan los valores esperados. La configuración de estas alertas utiliza una sintaxis YAML fácil de aprender y puede enviar notificaciones a través de una amplia variedad de sistemas de mensajería populares, así como por correo electrónico o directamente al registro del sistema.

El gran inconveniente que veo es que no proporciona soporte nativo para monitorear directamente las aplicaciones de Node.js (aunque incluye un complemento incluido para monitorear MongoDB). Sin embargo, incluye un servidor statsd completamente integrado, por lo que podría hacer que la aplicación en sí misma informe las métricas directamente a Netdata y que las muestre junto con todos los demás datos que recopila, incluida la posibilidad de crear alertas para activar esas métricas y tener se envían automáticamente a cualquier TSDB que pueda usar para el almacenamiento a largo plazo.

Esto se ve bien y parece ser FOSS Gracias (y voto positivo)