Java selbst ist ein sehr großes Programm, welches ein Betriebssystem in seiner ganzen Komplexität anspricht. Während es gewöhnlich sehr stabil ist, hat es wie jedes Programm gelegentlich Probleme wie Systemabstürze, Freeze-Stillstände etc. Wenn ein Java-Anwendungsprozess hängt, kann es schwierig sein, dies zu entdecken und den Originalzustand wiederherzustellen. Weil der Java-Prozess selbst im Hintergrund fortbesteht, kann die Überwachungssoftware annehmen, dass der Prozess weiterhin besteht, obwohl dieser aufgehört hat, zu antworten.
Wenn die JVM hängt, bemerken dies gewöhnlich Nutzer und andere Systeme, denen es nicht gelingt mit anderen in Interaktion zu treten. Sobald man über das Problem in Kenntnis gesetzt wird, was oft durch die Reklamation eines Nutzers geschieht, muss ein Systemadministrator sich dann mit dem Server verbinden, um die aufgehängte JVM zwangsweise zu beenden und die Anwendung neuzustarten. Dies alles kann wahrscheinlich ein paar Stunden Zeit in Anspruch nehmen, wenn die Person, die die Arbeit normalerweise erledigt, sich beim Abendessen befindet.
Lösung |
||
Die Lösung dieses Problems ist es, eine Überwachungssoftware zu haben, die ein tiefergehendes Wissen darüber hat, wie Java funktioniert und der vertraut werden kann, dass diese Java-Anwendung 24 Stunden am Tag, 365 Tage in einem Jahr überwachen und sich automatisch um Probleme kümmern kann, wenn sie auftreten. Der Java Service Wrapper enthält verschiedene Überwachung-Features. Eines dieser ist die Fähigkeit, festzustellen, wann eine JVM aufgehängt ist. Der Wrapper überwacht permanent eine JVM, und beinhaltet fortgeschrittene Logik, um zu entscheiden, ob eine JVM aufgehängt ist oder nicht. Wenn eine aufgehängte JVM festgestellt wurde, ist der Wrapper imstande, die JVM automatisch neu zu starten, um das System wieder mit einem Minimum an Verzögerung zum Laufen zu bringen. Der Wrapper kann dann eine Email-Benachrichtigung an die Systemadministratoren versenden - für den Fall, dass diese wünschen, sicherzustellen, dass alles wieder normal läuft. Der Java Service Wrapper pingt regelmässig den JVM-Prozess (Standardmässig alle 5 Sekunden) und wartet auf eine Antwort. Wenn die Antwort nicht innerhalb einer konfigurierten Zeitdauer (Standardmässig 30 Sekunden) erhalten wird, dann stellt der Wrapper fest, dass diese aufgehängt ist. Der Wrapper berücksichtigt auch Dinge, wie die gesamte Systemlast, um sicherzustellen, dass falsche positive Aussagen auf ein Minimum reduziert gehalten werden können. Wenn eine Freeze-Erkennung erfolgreich war, wird der Wrapper etwas wie folgt in der Log-Datei loggen:
Der Wrapper hilft Ihnen, kritische Probleme inklusive Folgenden zu entdecken: |
Technische Übersicht |
||||||||||||||||||||||||||||||||||||||||||||
Die Freeze-Erkennung ist standardmäßig aktiviert.
Es wird versuchen, die JVM alle 5 Sekunden anzupingen
und dann nach 30 Sekunden ohne Antwort einen Timeout haben.
Beide dieser Zeitintervalle sind einstellbar.
Wenn Sie die wrapper.
|
Verweis: Absturz der Anwendung |
Der Java Service Wrapper bietet einen kompletten Satz an Konfigurationseigenschaften an, die es Ihnen ermöglichen, dass der Wrapper genau Ihre Bedürfnisse abdeckt. Sehen Sie bitte in die Dokumentation bezüglich der einzelnen Eigenschaften, um alle Möglichkeiten über die obengenannten Beispiele hinaus zu sehen.
|