Die DSDL vereinfacht das Implementieren eines Fehler-Monitors erheblich, indem sie ein vordefiniertes Modell bereitstellt. Eine Monitor_start-Methode startet den Fehler-Monitor unter PMF-Steuerung, wenn die Ressource auf einem Knoten gestartet wird. Der Fehler-Monitor läuft in einer Schleife, solange die Ressource auf dem Knoten ausgeführt wird. Die Logik auf hoher Ebene eines DSDL-Fehler-Monitors ist Folgende:
Die scds_fm_sleep-Funktion verwendet die Eigenschaft Thorough_probe_interval, um den Zeitabstand zwischen den Testsignalen zu bestimmen. Alle Anwendungsprozessfehler, die PMF während dieses Intervalls feststellt, führen zu einem Neustart der Ressource.
Das Testsignal selbst gibt einen Wert zurück, der die Schwere der Fehler angibt. Die Werte reichen von 0 (kein Fehler) bis 100 (Totalfehlschlag).
Der Rückgabewert des Testsignals wird an die scds_action-Funktion gesendet, die eine kumulative Fehlerhistorie innerhalb des Intervalls der Retry_interval-Eigenschaft unterhält.
Die scds_action-Funktion bestimmt folgendermaßen, wie im Fall eines Fehlers verfahren wird.
Wenn der kumulative Fehler unter 100 liegt, geschieht nichts.
Wenn der kumulative Fehler 100 (Totalfehlschlag) erreicht, wird der Datendienst neu gestartet. Wenn Retry_interval überschritten ist, wird die Historie zurückgesetzt.
Wenn die Anzahl der Neustarts den in der Retry_count-Eigenschaft angegebenen Wert innerhalb der in Retry_interval angegebenen Zeit überschreitet, wird für den Datendienst ein Failover ausgeführt.