IPSWatchDog

Hallo Andreas.

Nur zum Verständnis - die Applikation die sich bei mir quer stellt hängt nicht im Sinne von einem toten Prozess. Sie lässt sich nur nicht einfach so beenden. Folgende Szenarien:

  • Runterfahren über Startmenü geht nicht weil die Tray-Applikation sich nicht beendet (da frisst sich IWD fest).

  • Runterfahren mit Betriebssystemmitteln über z.b. shutdown.exe geht, Applikation schliesst sich.

  • Applikation mit z.b. Taskkill abschiessen und dann runterfahren geht.

  • Applikation über deren Menü beenden und runterfahren geht.

Ich würde den Task ja auch notfalls abschiessen wollen aber dazu fehlt die auslösende Instanz bzw. das müsste dann ja IWD sein…

Grüsse.

PS: Wenn Du Dir das antun willst kann ich Dir gerne die fragliche .exe schicken. Ist nur ein paar KB gross un bedarf keiner Installation.

Hallo Kronos,

wie gesagt, eigentlich (zumindest laut Beschreibung in diversen Foren) sollte die Routine, die ich in IWD nutze, fähig sein, Prozesse, die nicht innerhalb einer bestimmten Wartezeit (kann man irgendwo in Windows festlegen) beendet werden, abzuschiessen.
Ich habe aber deinen Vorschlag aufgenommen und die Möglichkeit eingebaut, ein externes Skript aufzurufen (reboot.cmd). Dort kann man dann, wie du schon vorgeschlagen hast, z.B. die Windowseigene shutdown.exe aufrufen.
Ich hab IWD 1.6.0 gerade im Test und werde es in den nächsten Tagen veröffentlichen.
Vielleicht könntest du mir tatsächlich mal das von dir angesprochene Programm schicken. Dann kann ich den Reboot mal damit testen.

Viele Grüße aus dem nassen Bremen,

Andreas

So, nun ist die neue Version raus und ich habe ein paar Wünsche von euch mit umsetzen können.
Ich habe mich allerdings dagegen entschieden, die Logeinträge veränderbar zu machen. Der Aufwand war mir zunächst mal zu groß.
Ich denke allerdings noch darüber nach, die Nachrichten, die an Prowl gesandt werden, etwas knapper zu gestalten. Mal sehen, wann ich dazu komme.

Viel Spaß mit der neuen Version!

Grüße

Andreas

Hallo Andreas.

Das flutscht ja sagenhaft hier. Vielen Dank für die Zeit die Du immer so kurzfristig investierst.

Habe die 1.6.0 installiert und gebe Rückmeldung sobald ich die neuen Features ausprobiert habe.

Grüsse.

Hallo Andreas,

die v1.6 läuft gut. Die Änderungen in Prowl sind völlig ausreichend. Umlaute gehen auch - super!!
Schön wäre noch, wenn man auswählen könnte, mit welchen Infos man be-prowlt werden möchte.
Mich persönlich interessiert z.B. das Log-Rotate nicht so. Wenn alles aus dem Log geprowlt wird, stumpft man etwas ab und ist dann nicht mehr so sensibel bei den wirklich wichtigen Events (IPS-Ausfall).

Dazu fällt mir noch ein:
Man kann doch in Windows die Dienste auch Remote (von einem anderen PC aus) starten und stoppen.
Wäre das nicht auch was für IWD?

Evtl. könntest Du zusätzlich auch noch andere Dienste überwachen lassen.
Ich denke da z.B. an den BidCos-Service der Homematic-User o.ä.
Schick wäre es, den Service auswählen zu können und die zugehörigen Parameter konfigurierbar zu machen.
Dann wär IWD so eine richtige eierlegende Wollmilchsau…

Aber wie sagte einst schon der große B.G. von M$:
„Nur nicht alle Features auf einmal implementieren - wir müssen auch noch etwas für die nächsten Programm-Versionen in der Schublade haben…“
:wink:

Gruß,
kpiep

Hm, wenn ich mich nicht ganz vertue, dann habe ich das ganze so programmiert, dass wirklich nur die wichtigen Logeinträge (Ausfälle, Start, Stop) ge-prowlt werden. Log-Rotate oder auch das erweiterte Logging bleiben aussen vor.
Zumindest ist das so in der letzen Version (1.6); Kann sein, dass ich verher mal mit etwas umfangreicheren Prowling experimentiert habe.

Diese Möglichkeit habe ich tatsächlich intern schon vorbereitet, wenn auch ohne die Absicht, IWD für andere Dienste läuffähig zu machen. Also warum nicht? :slight_smile:
Ich müsste halt nur den Namen und die EXE-Datei des Dienstes parametrierbar machen und die Möglichkeit schaffen, die alive.ips Dateiüberwachung abzuschalten. Sollte kein allzu großes Ding sein.
Gegebenenfalls könnte man darüber nachdenken, ob IWD auch mehrere Dienste gleichzeitig überwachen kann.
Au weia! Die Sache nimmt ungeahnte Diemensionen an :rolleyes:

Aber eines nach dem anderen. :cool:

Bis denne,

Andreas

So, nun gibt es endlich mal wieder eine neue Version von IPSWatchDog!
Hier sind ein paar eurer Anregungen, sowie ein paar meiner eigenen Ideen eingeflossen.

Theoretisch kann man nun auch andere Service, bzw. Service auf anderen Computern im selben Netzwerk überwachen. Diese Funktion ist allerdings nur experimentell und funktioniert eventuell nicht korrekt. Bitte hierzu auch die Gebrauchsanleitung unter „Serviceparameter“ unter „Einstellungen“ beachten!
Eine Anmerkung hierzu noch von mir: ich werde diese Funktion mit großer Wahrscheinlickeit nicht weiterentwickeln.
Wer mag, kann ja so etwas unter Delphi (ich nutze 2010) schreiben und mir zukommen lassen.

Viel Spaß

Andreas

Hallo Andreas,

danke für die neue Version!
Mir ist aufgefallen, das die Prowl-Funktion wieder das Logrotate prowlt.

Die experimentelle Service-Auswahl-Funktion funktioniert bis jetzt gut.
Ich habe gelesen, das du diese nicht weiter ausbauen möchtest.
Das ist sehr schade, da die zusätzliche Überwachung von Diensten neben IPS.exe in einer IWD-Instanz eine klasse Funktion wäre.

Oder kann ich mehrere IWD Instanzen mit unterschiedlichen zu überwachenden Diensten starten?

Gruß,
kpiep

Ja, ich bin ständig am basteln am Logging.

Mit fehlen neben der Zeit, auch noch die Programmierkenntnisse, um hier deutlich weiter zu kommen. Und um mir die Programmierkenntnisse anzueignen, da fehlt mir mal wieder die Zeit :wink:

Aber ja, man kann mehrere Instanzen von IWD starten. Das einzige Problem, dass ich noch ausmerzen muss: IWD schaut beim Starten nach, ob der IPSServer Dienst installiert ist. Wenn nicht, dann mag es nicht arbeiten. Und dann kann man auch keine Einstellungen vornehmen.

Du kannst nun IWD mit dem Parameter -s starten, damit die IPSServer-Prüfung übergangen wird. Danach kannst du auch in den Einstellungen unter „Serviceparameter“ die Überprüfung auf installierten IPSServer-Service abschalten.

Dies wird in der Version 1.7.5 möglich sein, an der ich gerade bastle und die im Laufe des Tages fertig wird.

Grüße

Andreas

Hi,

erstmal: Super Sache… hatte ja genau danach gesucht :wink:

Eine Frage stellt sich mir jedoch. Warum wird mittels Skripten über das Filesystem gegangen? Der IPS Server stellt doch sowohl SOAP also auch HTTP Dienste (Webfront) zur Verfügung. Kann man hier nicht einfach mittels „Ping“ feststellen, das der Server nicht antwortet?

Ich könnte mir dieses zumindest als „Simpel“ Lösung vorstellen. Mein IPS läuft eigentlich immer (24/7). Wenn ich den Server mal wirklich manuell anhalten würde, dann könnte ich auch IPS Watchdog vorher beenden. So könnte man sich unnötige Skripte etc. sparen.

Gruss
Coyote

Moin auch,

Es freut mich doch immer wieder zu hören, das IPSWatchDog nicht nur mir die Arbeit erleichtert und IPS ein wenig zuverlässiger macht.

Nun, das hat sicherlich mehrere Gründe. Zum einen war der Weg über eine „Lebensnachrichtsdatei“ derjenige, der mir als erstes in den Kopf gekommen ist. Ich habe seit vielen Jahren nicht mehr programmiert und bin daher auch nicht mehr auf dem neusten Stand. Ich muss mir jedes Bröckchen, gerade, was systemnahe Programmierung betrifft, mühsam erarbeiten. Da begehe ich halt weitestgehend Wege, die mir (noch) bekannt sind.
Ich meine mich auch erinnern zu können, dass ich einmal, als der IPS Service mal wieder nicht richtig funktionierte, ein Ping an den Server gesendet habe und eine Antwort bekam. Damit würde diese Methode schon mal nicht zuverlässig sein.
Mit SOAP kenne ich mich nicht aus und müsste wieder eine Menge Zeit inverstieren, die ich aber leider nicht habe.

Ich werde mir aber sicherlich sämtliche Vorschläge durch den Kopf gehen lassen und gegebenenfalls umsetzen.

Die Geschichte mit dem Start-/und Stop-Skript habe ich auf Anwenderwunsch implementiert. Sie ist aber nicht zwingend zu nutzen, man kann sie auch abschalten.
Mein IPS läuft ebenfalls 24/7 und dennoch ist es eigentlich ganz nett, wenn IPSWatchDog gleich mitbekommt, dass ich am Server bastle, z.B. neue Module einbinde etc. und dazu den IPS Service gestoppt habe. Es geht natürlich auch manuell, klar.

Aber nun mal eine ganz andere Frage: du schreibst, dein Rechner nimmt gerade mal 18 Watt zu sich! Was ist das für ein Teil?
Ich war schon froh einen gefunden zu haben, der sich mit knapp 40 zufrieden gibt und bin nun neidisch :wink:

Viele Grüße,

Hallo Andreas,

danke für die neue Version - funktioniert wie gewohnt sehr gut!

Kannst Du dir evtl. nochmal die Logrotate-Meldung über Prowl ansehen.
Werde immer ganz hektisch, wenn ich eine IPSWatchdog-Meldung aufs Iphone bekomme und dann war es doch nur das Logrotate:D

Gruß,
kpiep

Puh, nein! Ich will auf keinen Fall, dass irgend jemand einen Nervenzusammenbruch erleidet! :eek:

Und damit du auch schon heute Nacht gut schlafen kannst :D, habe ich sofort reagiert!
IPSWatchdog sollte nun um Mitternacht die Klappe halten :slight_smile:

Grüße aus dem heissen Norden,

Andreas

Hammer!

mann, bist Du schnell…

Danke und Grüße aus dem heissen noch nördlicherem Norden (54N).

kpiep

Ups! Böser Fehler! :frowning:

Da habe ich doch tatsächlich in einer der letzten Versionen das Stoppen und Starten des IPS-Service lahmgelegt und der Rechner startet bei jedem Serverfehler neu!

Das ist nun behoben (hoffe ich ;))

Hallo IPSWatchDog Freunde,

ich würde gerne von den Nachrichtendateien als Kommunikationsmedium zwischen IPS und IWD weg kommen und die beiden Programme über SOAP miteinander „reden“ lassen.
Leider fehlen mir hier die notwendigen Kenntnisse und ich brauche Hilfe :confused:
Wie kann ich, mit Delphi 2010, eine Verbindung zum IPS SOAP Server aufbauen und dort Variablen auslesen und schreiben?
(Nachvollziehbarer Quelltext wäre toll)

Grüße

Andreas

Hallo Andreas,

Du findest ein „nachvollziehbares“ Soap-Demoprojekt im IPS-SDK.

Viele Grüße
Roland

Die Demos sind für Delphi2007 ausgelegt. GGfls sind noch Nacharbeiten bzgl Char/String-Typen notwendig, welche ab D2009 per Default 2Byte-Typen sind.
Tommi

Ja, den Versuch mir anzuschauen, wie das SDK 2.3 läuft, hatte ich schon gemacht.
Compilieren mit Delphi 2010 klappt aber nicht, es gibt ein Haufen Fehler (z.B. die von tommi angesprochenen Variablen Inkompatibilitäten aber auch andere Probleme in diversen Routinen). Leider scheitere ich daran (NOCH!).

Grüße,

Hallo Andreas,

Dein Tool IPSWatchDog hat mir sehr gut gefallen, da man damit einen hängenden IPS-Service wieder „zum Leben“ erwecken kann. Kommt halt leider doch mal vor, dass der sich nicht mehr rührt. Deine Idee mit dem Dateischreiben auf SOAP-Kommunikation umzusteigen, finde ich auch vernünftig. Unschön ist nur, dass die EXE im Autostart gestartet werden muss und nicht als Service läuft. Es gibt aber Configs, in denen man eine EXE als Service starten kann, habe ich auch schon mal gemacht, nur muesste ich da wieder nachschauen.

Es wäre doch sinnvoll im IPS-Grundsystem bereits einen zweiten Service zu integrieren, der genau das macht, was IPSWatchDog Heute schon tut. Böse Viren treiben übrigens ein ähnliches Spiel, zwei Prozesse, die sich gegenseitig überwachen, falls einer abgeschossen wird.

Durch die Integration in IPS könnte man sich die Scripten in IPS sparen und das System würde für alle stabiler.

Steiner, paresy, was meint ihr beide dazu ?

Gruss
Bernd