Loetkolben Posted June 1, 2012 at 04:24 PM Posted June 1, 2012 at 04:24 PM 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. Hier nun die Scripte. Sowohl eine Debian/Ubuntu Version, als auch eine Windows Version.setio4_windows.zipsetio4.tar Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.