Jump to content

Recommended Posts

Posted

Hallo zusammen,

 

ich moechte hier kurz mein "1-Bit" Monitoring vorstellen. Mit dieser Methode kann man auf einfache Weise festellen, ob die Verbindung zu einem (externen) Rechner noch besteht und ggf. zusaetzlich pruefen (*) ob dort alles in Ordnung ist.

 

Das ganze funktioniert hier mit dem IO-4 Bricklet, wobei auch ein IO-16 oder Display Bricklet funktionieren sollte. Der ganze Aufwand besteht aus min. 1 LED und 2 Zeilen Scriptcode.

 

Das Prinzip:

Der Rechner an dem das IO-4 Bricklet haengt macht per Cronjob zu jeder vollen Minute die LED(s) an.

Der Rechner der sich selbst monitort, macht 2 Sekunden nach der vollen Minute "seine" LED wieder aus.

Bleibt eine LED an, so weiss man, dass es mit dem Rechner ein Problem gibt.

 

Folgendes wird damit erreicht:

Durch das Angehen aller LED(s) erkennt man, dass der "Monitoringrechner" selbst funktioniert. (Brickd und LED running) Durch das Ausgehen der einzelnen LED erkennt man, dass der sich monitorende Recher laeuft, Prozesse verarbeiten kann (*), und ggf. die Internetleitung in Ordnung ist. Ein Monitorprogramm und/oder eine Auswertelogik ist nicht notwendig.

 

Brickletrechner mit brickd. "Crontab"

* * * * * /home/tinkerforge/setio4.sh B on >/dev/null 2>&1 # Mache 3 LED (1,2,4) [b]an[/b].

 

Sich selbst monitorende Rechner. "Crontab"

* * * * * sleep 2 ; /home/tinkerforge/setio4.sh 1 off >/dev/null 2>&1 # Mache LED 1 [b]aus[/b].

 

 

Die Scripte sind unten angehaengt. Bitte IN den Scripten noch die IP und STACKID eintragen! Die Syntax:

setio4.[sh/bat] [iOPORTS] [iOSTATUS]
IOPORTS Bitmaske in hex [00 .. 0F]
IOSTATUS an = [01] , aus = [00] Debian/Ubuntu Verison auch [on] und [off]
Beispiel: Alle 4 Ports an: "setio4.[sh/bat] 0F  01"

 

Wenn man klassisch arbeitet, also einen Rechner anpingt um dann im Fehlerfall (No Response) eine LED angehen zu lassen, weiss man aber meistens nicht, ob die Monitoringmaschine selbst noch in Ordnung ist, die LED(s) funktiosnfaehig sind oder der Brickd laeuft.

 

Was wird benoetigt:

Recher mit brickd der per LAN erreichbar ist.

IO-4 Bricket mit 1 bis 4 LED.

Recher sollten per ntp oder aehnlichen halbswegs Zeitsynchron laufen

 

Was wird NICHT benoetigt:

Bindings

Software"installation" auf den PCs

 

Zusatzmoeglichkeiten:

(*) Wenn man den Befehl zum ausmachen der LED noch mit Bedingungen verknuepft lassen sich auch Services pruefen. Die Logik auf der sich selbstmonitorenden Maschine koennte lauten:

 

mache_LED_aus=1
wenn [Plattenpltz zu gering] dann mache_LED_aus=0
wenn [logdatei zu gross ]    dann mache_LED_aus=0
wenn [sonstiger Fehler]      dann mache_LED_aus=0
wenn [mache_LED_aus = 1]     dann sende LED_ausmachen

 

Wenn es nun beim einem der 3 Pruefungen zu Problemen kommt bleibt die LED an und man kann nachsehen wo das Problem ist.

So kann man auch PCs im Internet oder bei Freunden/Bekannten monitoren. Zu diesem Zweck muss man am eigenen Router nur ein Portforwarding zum Brickd PC erstellen.

 

Hinweis zur Windows Version:

Die Windows Version beinhaltet 2 Binarys aus dem Internet. Sowohl die Archive, als auch die URLs zu den Seiten habe ich in einem Ordner "tools_from_internet" beigepackt. Dieser Ordner wird zum Betrieb nicht benoetigt.

Weiterhin waere es schoen wenn jemand erklaeren koennte wie man so einen Cronjob in den Windows Taskplaner uebernehmen kann.

 

Einfach, effektiv, funktioniert! Viel Spass beim experimentieren.

 

 

Der Loetkolben

 

PS: Was mir persoenlich aufgefallen ist, dass die Pakete nicht immer in der gleichen Reihenfolge eintreffen, da die LEDs bei mir fast immer in unterschiedlicher Reihenfolge ausgehen.  :D

 

Hier nun die Scripte. Sowohl eine Debian/Ubuntu Version, als auch eine Windows Version.

setio4_windows.zip

setio4.tar

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...