Was ist ein gutes Tool zur Überwachung einer Webanwendung?

Tut mir leid, wenn diese Frage zu vage ist, war mir nicht sicher, wo/wie ich sie sonst stellen sollte.

Wir bauen eine Anwendung zur Online-Bestellung von Lebensmitteln, die über 3 separate Dashboards verfügt.

  1. Benutzer-Dashboard
  2. Unternehmens-Dashboard des Benutzers
  3. Admin-Dashboard.

Wir verwenden den MERN-Stack und es ist eine ziemlich einfache Anwendung.

Ich würde gerne wissen, ob es EIN Tool gibt, mit dem wir die Leistung und mögliche Probleme der Anwendung überwachen können.

Ich habe mich umgesehen und Dienste wie Rollbar.com gefunden, aber es (und viele andere) scheinen auf große Apps ausgerichtet zu sein.

Irgendwelche Empfehlungen würden sehr geschätzt!

Ich schlage vor, den MERN-Stack der Klarheit halber zu definieren.
Betrachten Sie das als erledigt, Sir :-) Wikipedia zeigt , dass es wie ein React-Stack/Framework aussieht.

Antworten (1)

Haftungsausschluss: Ich bin ein aktiver Entwickler für die Software, die ich gleich empfehlen werde, also bin ich zumindest ein bisschen voreingenommen.

Auch wenn es für Ihren speziellen Anwendungsfall etwas übertrieben sein mag, sollte Netdata in der Lage sein, einen Großteil der Überwachung durchzuführen, an der Sie potenziell interessiert wären. Es konzentriert sich etwas mehr auf die Seite der Leistungsüberwachung, kann aber auch Warnungen ausführen wenn Dinge schief laufen. Features sind:

  • Datenerfassung nahezu in Echtzeit. Standardmäßig werden die meisten Metriken, die Netdata erfasst, in 1-Sekunden-Intervallen erfasst, was bedeutet, dass es sehr einfach ist, zu sehen, welche Auswirkungen Änderungen, die Sie vornehmen, fast sofort haben.
  • Minimaler Mehraufwand. Trotz der hohen Erfassungshäufigkeit verbraucht Netdata sehr wenig CPU-Zeit (normalerweise weniger als 5 % auf modernen Serversystemen, selbst wenn Tausende von Metriken erfasst werden) und sehr wenig RAM (Verfolgung von 3.000 Metriken bei einer Auflösung von 1 Sekunde mit 12 Stunden Verlauf und ohne Ausdünnung). benötigt etwa 500 MB RAM, einschließlich Netdata selbst).
  • Fast keine Festplatten-I/O. Mit der Standardkonfiguration behält Netdata alles im Speicher und berührt Ihre Festplatten nur, wenn Sie es starten oder stoppen.
  • Minimale Konfiguration. Netdata wurde entwickelt, um so viel wie vernünftigerweise möglich automatisch zu erkennen, ohne dass eine manuelle Konfiguration erforderlich ist. Wenn Sie Standardkonfigurationen für eine Software verwenden, die Netdata überwachen kann, wird Netdata sie in den meisten Fällen automatisch erkennen und alles überwachen, was sie kann.
  • Umfassende Überwachung des gesamten Systems. Netdata verfolgt alles, von grundlegenden Dingen wie CPU- und Speicherauslastung bis hin zu superdetaillierten Details wie genauen Arten von Netzwerkfehlern oder präzisen Anforderungszeiten für Webserver.
  • Das Frontend zur Anzeige der Daten ist integriert. Netdata verfügt über einen eigenen integrierten Webserver, der ein eng integriertes Frontend für die Anzeige von Diagrammen aller gesammelten Daten bietet.
  • Native Handhabung von Warnungen. Netdata bietet ein integriertes System zum automatischen Senden von Warnmeldungen, wenn die erfassten Metriken die erwarteten Werte überschreiten. Die Konfiguration dieser Warnungen verwendet eine leicht zu erlernende YAML-Syntax und kann Benachrichtigungen über eine Vielzahl gängiger Messaging-Systeme sowie per E-Mail oder direkt an das Systemprotokoll senden.

Der einzige große Nachteil, den ich sehe, ist, dass es keine native Unterstützung für die direkte Überwachung von Node.js-Anwendungen bietet (obwohl es ein gebündeltes Plugin zur Überwachung von MongoDB enthält). Es enthält jedoch einen vollständig integrierten statsd-Server, sodass Sie die Anwendung selbst problemlos Metriken direkt an Netdata melden und sie zusammen mit allen anderen gesammelten Daten anzeigen lassen können, einschließlich der Möglichkeit, Warnungen zu erstellen, die auf diesen Metriken ausgelöst werden, und zu haben sie werden automatisch an die TSDB gesendet, die Sie für die Langzeitspeicherung verwenden.

Das sieht gut aus und scheint FOSS zu sein. Danke (und positive Bewertung)