Der Service control monitor scmon dient zur Überwachung eines Servers im laufenden Betrieb. Dazu wird für jede installierte Komponente eine Beschreibungsdatei erstellt. Hier wird festgelegt, wie scmon erkennen kann, ob es dem betreffenden Dienst gut geht - welche Prozesse laufen müssen, welche Dienste im Naming Server des RPC-Dienstes eingetragen sein müssen, welche kritischen Meldungen nicht in log files auftreten dürfen und vieles mehr.
Beim Booten des Systems untersucht scmon, welche Komponenten
tatsächlich auf dem Server installiert sind und daher
überwacht werden müssen. Durch das Zusammenbauen der
einzelnen Beschreibungsdateien entsteht ein Baum, der
den Umfang der Überwachung beschreibt.
Diesen Baum kann
scmon während der Überwachung je nach der
Störungslage dynamisch rekonfigurieren und sich so der
momentanen Lage anpassen. So kann ein bestimmtes Problem für
eine begrenzte Zeit hingenommen werden, beim Fortbestehen aber doch
Maßnahmen oder Alarme auslösen.
In diesem Baum wird auch festgelegt, welche Maßnahmen zu ergreifen sind, wenn es dem einem Dienst nicht gut geht. Das kann etwa das Absetzen von Kommandos sein mit der anschließenden Erfolgsprüfung. Hilft das nicht, so kann scmon zu rabiateren Maßnahmen greifen, etwa das vollständige Stoppen und erneutes Starten des Dienstes, möglicherweise auch noch verbunden mit dem Neustart von weiteren Diensten. In der richtigen Reihenfolge, versteht sich.
Eine ganze Reihe von grundlegenden Prüfungen sind direkt in scmon integriert. Diese laufen besonders effektiv, einerseits weil sie effizient implementiert sind und andererseits, weil Caching-Mechanismen zum Einsatz kommen. So muss die Prozesstabelle nur einmal gelesen werden um eine Reihe von Prozessen zu überprüfen.
Exotische Prüfungen werden von außen zugesteuert und von scmon dann aufgerufen. Durch diese Erweiterbarkeit ist scmon vielseitig einsetzbar. scmon besitzt Meldekanäle, um wenigstens Alarm schlagen zu können, falls er eine Störung nicht selber beheben kann.
Die log files von scmon stellen besonders bei sporadischen Störungen eine erstklassige Diagnosemöglichkeit dar.
Der Ansatz, einem Dienst "von außen" auf die Finger zu schauen ermöglicht es auch, Dienste zu überwachen, die von externen Lieferanten zugesteuert werden. Der Quelltext ist dazu nicht erforderlich, weil nicht in zu Kontrollzwecken in die innere Struktur der Dienste eingegriffen werden muss.
zurück nach oben