Auf Log-Warnungen reagieren

Hallo,

irgendwie hatte sich heute nacht mein 1Wire-Bus wohl aufgehängt und IPS-Konnte daher nicht richtig arbeiten und hat jede menge timeout warnungen ins log geschrieben.

ein einfacher restart von IPS hat das problem behoben.

jetzt habe ich mir die frage gestellt, ob es möglich ist, irgendwie automatisiert auf die warnungen von IPS zu reagieren.

Stelle mir das so vor:
IPS gibt eine warnung im log aus und löst gleichzeitig irgend ein event aus.
Wer auf dieses Event reagieren soll bin ich mir grad nich sicher. weiß nicht ob ein phpscript so gut wäre, da IPS zu dem zeitpunkt ja einen macken zu haben scheint. Also wäre ein externes programm wohl besser. Da müsste man halt erstmal eine schnittstelle finden.
Ok das Programm merkt also nun es sind in den letzten X minuten X timout meldungen eingegangen. dann beendet es den service und startet ihn neu.
Problem gelöst.

hat jemand irgendwelche ideeen oder anregungen wie man das realisieren könnte?

Hall Roeni,

undm hast Du nun auch versucht, die Ursache herauszufinden?

jetzt habe ich mir die frage gestellt, ob es möglich ist, irgendwie automatisiert auf die warnungen von IPS zu reagieren.

kann man sicher alles machen, nur unter welchen Kriterien soll da was passieren? Ich stelle mir das ziemlich schwierig vor, da genau vorgehen zu koennen. Ich wuerde eher nach der Ursache suchen.

Naja ich weiß nicht wo ich nach der Ursache suchen soll :slight_smile:
An dem Tag war nichts anders als sonst.
Ich habe seit tagen weder etwas am script, bus noch an meinem server gemacht
Im windows Eventviewer sehe ich nichts verdächtiges.

Ich habe nur diese Timeoutmeldungen im IPS-Log.

Wo würdest du denn suchen?

Du kannst regelmässig prüfen, ob gepollte 1-Wire Devices aktualisiert werden.
Damit lässt sich ein hängender 1-Wire Controller leicht erkennen.

Bei mir fangen die Namen der entsprechenden Variablen alle mit ‚One_Wire‘ an, deshalb funktioniert dieses Script:

for ($i = 1; $i <=8; $i++):
	$v = IPS_GetVariable(IPS_GetVariableID("OneWire_".$i));
//	echo (time() - $v['VariableUpdated'])."
";
	if ((time() - $v['VariableUpdated']) > 35) :
		$controls++;
	endif;
endfor;

if ($controls == 8 ):
   $dummy = IPS_ApplyChanges(56244 /*[OneWire Adapter]*/);
endif;

Seit ich meine Serverhardware erneuert habe, hängt der Controller nur noch sehr selten. Auf einem PIII 600 kam das alle zwei Stunden vor…