Hallo,
ich nutze das PRESENCE Modul um die Verfügbarkeit einiger Geräte im Minutentakt abzufragen.
Im Logfile finde ich regelmäßig Ausgaben:
2015.10.26 21:04:40 4: Connection accepted from telnet:127.0.0.1:46769
2015.10.26 21:04:40 4: BlockingCall created child (32767), uses telnetForBlockingFn to connect back
2015.10.26 21:04:40 4: PRESENCE (Printer_HPColorLaserJet) - rescheduling next check in 60 seconds
2015.10.26 21:04:40 4: Connection accepted from telnet:127.0.0.1:46770
2015.10.26 21:04:40 4: PRESENCE (FritzBox) - rescheduling next check in 60 seconds
2015.10.26 21:04:40 4: Connection accepted from telnet:127.0.0.1:46771
2015.10.26 21:04:40 4: PRESENCE (AVR_Onkyo) - rescheduling next check in 60 seconds
2015.10.26 21:04:40 4: Connection accepted from telnet:127.0.0.1:46772
Im Event Monitor sehe ich folgende Meldungen:
2015-10-26 21:09:58 PRESENCE Printer_HPColorLaserJet present
2015-10-26 21:09:58 PRESENCE Printer_HPColorLaserJet presence: present
2015-10-26 21:09:58 PRESENCE FritzBox present
2015-10-26 21:09:58 PRESENCE FritzBox presence: present
2015-10-26 21:09:58 PRESENCE AVR_Onkyo present
2015-10-26 21:09:58 PRESENCE AVR_Onkyo presence: present
Ich möchte gerne den Zustand present / absent der überwachten Geräte in einem SVG Plot darstellen.
Soweit ich verstanden habe, brauche ich dazu ein FileLog, aus dem die Information gelesen wird.
Hier habe ich gleich mehrere Probleme:
1. Im Logfile findet sich das Ergebnis der Überprüfung, also present/absent, gar nicht.
2. Wie kann ich die Zustände present/absent, die als Event im Monitor angezeigt werden, loggen?
3. Wie kann ich sämtliche Meldungen aller PRESENCE Module in eine eigene Log-Datei umleiten?
Stammen die Meldungen "Connection accepted from telnet:127.0.0.1:..." und "BlockingCall created child (32767), uses telnetForBlockingFn to connect back" ebenfalls aus dem PRESENCE Modul?
Vielen Dank für jeden Hinweis!
Hallo,
also Du kannst für jeden Presence-Check ein Logfile anlegen, so wie für jedes andere Device auch:
define FileLog_Handy.Sabine FileLog ./log/Handy.Sabine-%Y.log Handy.Sabine
Im definierten Logfile steht dann z.b.:
2015-10-27_07:44:44 Handy.Sabine present
2015-10-27_07:44:44 Handy.Sabine presence: present
Danke errazzor.
Bliebe noch die Frage, ob man alle PRESENCE Meldungen in ein Logfile schreiben kann?
Ein Ansatz wäre eventuell einfach mehrere FileLog's mit dem gleichen Log-Filenamen zu definieren.
Zumindest mit zwei FileLog's scheint es zu funktionieren.
Kann jemand sagen, ob das prinzipiell möglich ist?
Also prinzipiell sollte das wohl gehen. Das einzige Problem was ich mir vorstellen könnte ist, wenn zwei "Dienste" zu exakt der gleichen Zeit ins Logfile schreiben wollen - möglicherweise könnte es dann zum Problem werden, dass der erste Schreibvorgang gerade das Logfile im exklusiven Zugriff hat. Die Wahrscheinlichkeit dessen steigt je mehr "Dienste" das gleiche Logfile benutzen.
Praktisch habe ich das aber noch nicht ausprobiert.
du kannst beliebig viele devices ins gleiche logfile loggen lassen. das geht in dem du im log device die regex entsprechen anpasst.
mehrere filelogs mit gleichem filenamen sind keine gute idee.
du kannst mehrere logs in einem plot verwenden indem du den jeweils #name statt #fileLog im plotfile lverwendest.
gruss
andre
Das geht sogar sehr gut. Meine Empfehlung für sowas ist trotzdem DbLog.
Hallo andre,
Zitatdu kannst beliebig viele devices ins gleiche logfile loggen lassen. das geht in dem du im log device die regex entsprechen anpasst.
Danke für den Hinweis. Das erscheint mir in meinem Fall die beste Lösung zu sein.
Ohne die Implementierung zu kennen, kann man letztendlich nicht sicher sein, ob das immer funktioniert, wenn mehrere Objekte in dasselbe Logfile schreiben.
Mehrere Logs in einem Plot werde ich bei Gelegenheit mal probieren.
Gruß
norbert
Ist es auch 2018 noch so, dass die PRESENT-Status der angelegten PRESENCE-Devices, wie von errazzor ausgeführt, nicht automatisch geloggt werden, sondern ich das Loggen derer erst einleiten muss?
Gruß Chris