Frage

Ich habe eine Web-Anwendung, in Coldfusion geschrieben, die in regelmäßigen Abständen beginnen unter Verwendung von 100% der CPU des Servers und zum Absturz des Coldfusion-Dienstes.

Da ich es nicht gelungen, das Problem selbst zu reproduzieren, ich möchte ein Dienstprogramm finden, die mich per E-Mail benachrichtigt werden, wenn die CPU-Auslastung zu steigen beginnt, so kann ich auf dem Server-Hop, schauen FusionReactor zu sehen, was los, und die fehlverhaltenden Code identifizieren.

Ich habe gegoogelt und habe es nicht gelungen, ein geeignetes Programm zu finden, so dachte ich, ich würde fragen, ob andere Programmierer ein Tool gefunden, das diese Art der Überwachung tun. In Anbetracht der Besonderheiten der meine Bedürfnisse, würde ich es vorziehen, nicht mein eigenes Monitoring-Tool zu schreiben.

Wenn Sie andere Vorschläge haben das Gesamtproblem für die Annäherung an, ich würde gerne auch solche hören.

Die Antworten auf Antworten:

Verwenden von Windows perfmon ein Kommandozeilen klingt vielversprechend auszulösen. Kann mich jemand auf ein Tutorial zeigen, wie das zu tun?

Wir haben keine Überwachungssystem, das SNMP-Traps zu empfangen eingerichtet ist.

Wir laufen Coldfusion 8 Standard Edition, die nicht die Coldfusion-Leistungsüberwachung enthält tools-- nur Unternehmen diejenigen einschließt.

Peter Boughton Antwort wird mich wahrscheinlich ermöglichen, das Problem zu lösen, aber es hilft mir nicht das Problem proaktiv ansprechen als CPU zu Spike beginnt, also bin ich noch auf der Suche nach einer Meldung Lösung.

War es hilfreich?

Lösung

Ich hatte ein ähnliches Problem vor ein paar Wochen und wurde in ein Programm namens AlwaysUp gerichtet.

http://www.coretechnologies.com/products/AlwaysUp/

Monitore jeden Prozess durch eine beliebige Kombination von:

  • Speicher useage
  • Cpu Verbrauch
  • Unresponsiveness
  • Führen Sie einen benutzerdefinierten Skript, um zu bestimmen, ob es zurückgesetzt werden sollte

Von hier aus können Sie entweder den Dienst neu zu starten, oder die Benachrichtigung von E-Mails senden, oder ein Skript ausführen, Dinge zu protokollieren, etc.

Sie haben eine 30-Tage-Demo, ich am 2. Tag verkauft wurde .. Eine gute schnelle Lösung, während Sie auf den Grund des Problems bekommen.

Andere Tipps

Unter Windows können Sie die Leistung verwenden und Monitoring-Tools (perfmon), die Standard-Windows kommen. Wenn die CPU einen bestimmten Punkt erreicht, kann es eine SNMP-Benachrichtigung auslösen, die von den meisten System-Monitoring-Tool aufgenommen werden kann und man auf diese Weise aufmerksam zu machen. Es kann auch einen Befehl ausführen oder eine Vielzahl von anderen nützlichen Dinge tun, die Sie, es könnte helfen, festnageln.

Eine weitere Alternative steht Ihnen zur Verfügung, wenn Sie Coldfusion ausgeführt werden 8 - den Performance-Monitor. Sie können Alarme einrichten Sie eine E-Mail zu versenden, rufen Sie einen anderen CFC usw. für verschiedene Kriterien.

Ich benutze den Server viele überwachen - es ist ein großartiges Werkzeug, obwohl ich nicht die Warnungen verwendet habe, zu mir selbst viel sie wohl wert sind ein Blick in, wie sie einfach zu installieren aussehen.

Wie für die allgemeinen Ansätze ...

In unserem Unternehmen setzen wir Windows-Perfmon von einem Server alle Server unsere CF alle 30 Sekunden abzufragen einige Kennzahlen wie Gesamt CPU und durchschnittliche Antwortzeit zu erhalten. Wir protokollieren diese in eine CSV-Datei. Alle paar Minuten eine geplante Task ausgeführt wird, die das Detail dieser Dateien liest und speichert sie in einer DB-Tabelle. Es kürzt dann die Dateien, damit sie nicht zu groß werden.

Schließlich dann, einmal am Tag, bekommen wir einen Bericht über alle Metriken Server an unsere Tech-Abteilung geschickt, der die CPU und durchschnittliche Antwortzeit für alle unsere Server Graphen.

Wir finden dies eine gute Möglichkeit ist die Serverleistung in den Entwickler conciousness und Spot-Trends (wie schlechte CPU-Auslastung) früh zu halten. Wir haben es sehr effektiv gefunden, weil Sie nicht wissen, wenn Sie schlecht durchführen, bis Sie beginnen Ihre Metriken zu messen.

Sie müssen nicht unbedingt diese Benachrichtigung, wie es geschieht - FusionReactor-Log-Dateien haben, so können Sie diese überprüfen, nachdem es geschehen ist, und die Skripte identifizieren zu der Zeit ausgeführt

.

Und wenn Sie sich nicht sicher sind, wenn es passiert, ich bin ziemlich sicher, dass eines des Protokolls enthält Speicher und CPU-Auslastung - obwohl ich mich nicht erinnern kann, was die Namen jetzt sind, haben aber einen Poke etwa in der Protokolle und Sie sollten die relevanten Informationen finden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top