Überwachung von Diensten möglich?

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Lacknone

Benutzer
Registriert
13. Okt. 2008
Beiträge
35
Reaktionspunkte
0
Punkte
0
Hy Zusammen,
ich habe wieder mal eine spezielle Frage, zu der ich über die Suche keine Antwort fand oder mir nur den falschen Suchstring ausgewählt habe.

Es geht um Überwachung von Diensten / Prozessen ála Watchdog. Leider war mir auch der "Suchriese" dabei nicht sehr behilflich.

Gibt es auf der Synology etwas ähnliches oder gleiches und heisst nur anders, mit dem ich Prozesse bzw. Dienste überwachen kann, im Fehlerfall / Crash-Fall diesen automatisch neustarten lassen kann und im Anschluss per Mail darüber informiert werde?

Auf der Fritzbox bzw. Freetz gibt es das bereits und wird dort unter Watchdog geführt.

Falls nicht, was wären Alternativ-Vorschläge für dieses Vorhaben?

Vielen Dank schon vorab für eure Hilfe

Greetinx Lacknone
 
Gibt es auf der Synology etwas ähnliches oder gleiches und heisst nur anders, mit dem ich Prozesse bzw. Dienste überwachen kann, im Fehlerfall / Crash-Fall diesen automatisch neustarten lassen kann und im Anschluss per Mail darüber informiert werde?

Die Überwachung geht recht einfach auf der Linux-Kommandozeile per 'ps'. Die meisten Dienste protokollieren in die Datei /var/log/messages. Eine Dienste werden automatisch durch Master-Daemons (z.B. inetd) wieder gestartet, wenn mal Probleme aufgetreten sind. Ansonsten halte ich das automatische Neustarten von Diensten nur eingeschränkt für sinnvoll. Wenn die z.B. ein Datenbank-Server abkackt, weil die Datenbank korrupt ist, dann bringt das Neustarten erstmal gar nicht, weil du erstmal einen Restore deiner Datenbank-Tabellen machen müsstest.

Einen zugänglichen Watchdog-Server gibt es auf der DS nicht.

Itari
 
Hy Itari,

danke für deine Antwort.

Also es handelt sich nicht um eine Datenbank die dahingehend überwacht werden soll. Es wäre also schon ein Dienst, der beruhigt neu gestartet werden könnte, sobald dieser nicht mehr läuft.

Wie müsste das dann ausschauen? Bin auf diesem Gebiet leider ein Nebwie.

Vielleicht könntest du mir hier ein Beispiel aufzeigen? Wäre dir sehr dankbar.

Wenn ich dich soweit richtig verstehe, ein Shell-Script was den Dienst startet, dann mit ps z.b. minütlich prüfen, ob dieser noch läuft und falls nicht, dass Shell-Script erneut starten, richtig?

Danke vorab schon für deine Hilfe.

Gruß Lacknone
 
Ist das ein vorhandener Dienst oder etwas, was du zusätzlich installiert hast. Beschreib das einfach mal ... und schildere auch, wann dieser Dienst abstürzen könnte ...

Itari
 
Also es handelt sich um einen neuen Dienst, welcher zusätzlich nachinstalliert wurde (ähnlich eines webservers). Beim manuellen Start funktioniert dieser auch. Da es ab und an vorkommen kann, dass dieser aus unerfindlichen Gründen abstürzen kann, sollte dieser automatisch wieder gestartet werden.
Wenn ich noch einen Schritt weitergehe, sollte nach einem Absturz und anschließendem automatischen Neustart ein Emailversand angestoßen werden, das wäre natürlich ein "Sahnehäubchen" wenn das noch funktionieren würde.

Wenn das mal alles soweit läuft, möchte ich auch noch mit deiner Anleitung von deiner Site ein SPK-Paket erstellen, damit ich dieses im Paketmanagement auffinde und ggf. auch komplett stoppen kann. Aber das ist die Zukunft meines Versuchs :)
 
Dienste werden üblicherweise per Start-Skript aus dem Verzeichnis /usr/syno/etc/rc.d gestartet; also z.B. S99my_server.sh.

Wie so ein Start-Skript aussieht, kann man sich an den anderen Beispielen in diesem Verzeichnis anschauen - auch das Handling mit den Optionen 'start' und 'stop'.

Wenn man einen Dienst normalerweise startet, schaut mal immer erst einmal nach, ob er nicht bereits gestartet wurde ... das geschieht per pidof.

Wenn man also ein Skript schreiben würde, welches im 'start'-Fall eine unendliche 'Schleife' durchläuft und innerhalb der Schleife prüfen würde, ob der Dienst (per pidof) noch nicht existiert und ihn dann startet und sich dann für eine Weile 'schlafen' legt (z.B. per 'sleep 300' = 5 Minuten), dann hätte man eine Art Überwachung z.B. alle 5 Minuten ... und könnte, falls der Dienst halt nicht mehr da wäre, ihn (neu) starten. Ich glaube, dass es solche Skript-Beispiele auch hier im Forum schon reichlich gibt ... (Stichwort: 'while sleep')

Sind das schon genug Hinweise? Natürlich könnte man die Zeitspanne auch kleiner oder größer wählen ... es ist ja nur ein gedankliches Beispiel. Und selbstverständlich könnte man auch Mails (per IPKG installiertem 'nail' - siehe auch unser Wiki) absetzen oder Fehlermeldungen ins Logbuch (echo "hoppla" >>/var/log/messages) schreiben oder oder oder ...

Itari
 
Ok, ich denke das reicht mir erstmal. Hast mir schon mal ein paar seehr gute Stichworte genannt, mit denen ich mich jetzt hier durch das Forum "wühlen" werde und mir auch mal deinen Link genauer anschauen. Falls ich dennoch nicht weiterkommen sollte, würde ich mich hier im Forum nochmals bemerkbar machen ;)

Die Synology-eigene Benachrichtigung kann damit nicht verknüpft werden? Denn da muss ja auch schon irgendwas vorhanden sein, wäre einfach praktisch, wenn das klappen könnte. Hast du da evtl. schon Erfahrung damit?
 
Die Synology-eigene Benachrichtigung kann damit nicht verknüpft werden? Denn da muss ja auch schon irgendwas vorhanden sein, wäre einfach praktisch, wenn das klappen könnte. Hast du da evtl. schon Erfahrung damit?

Ja, das geht auch ... ist aber relativ umständlich, weil die Benachrichtigungs-Texte in einer Datei liegen und du dir einen Textschlüssel ausdenken musst, den es noch nicht gibt usw. usw.

Wenn du dir mein AdminTool installiert hast, findest unter Firmware den Unterpunkt Texte .... Das auslösende Kommando müsste unter /usr/syno/bin irgendwo stehen (ich bin grad zu faul ...)

Itari
 
Ok, dann schaue ich mir das mal an, mal sehn ob ich damit klar komme :) Ansonsten versuche ich deinen 1.ten Vorschlag. Danke erstmal.

Gruß Lacknone
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat