Einfaches Netzmonitoring auf der NAS

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

maxeddy

Benutzer
Registriert
09. Juli 2013
Beiträge
10
Reaktionspunkte
0
Punkte
1
Da ich in den letzten 1-2 Jahren nichts Neues gefunden habe, ein neues Thema erstellt. Durch den Ausbau des Heimnetzes ( Smart-Home,Alexa,WLAN,Repeater...) und dadurch , dass gelegentlich manche Geräte nicht erreichbar waren, habe ich einige Tage nach einer kostenlosen Lösung gesucht. Mir reicht eine Ermittlung aller IP-Adressen, Überwachung der Verfügbarkeit (2-3x/Tag) und eine Benachrichtigung per eMail. Domitz gefällt mir nicht ( Kosten und Remotezugriff). Da NAS ständig an ist (Videoüberwachung), sollte Monitoring auf der NAS laufen. Habe gestern eine Skript-Lösung gebasteltes. Falls andere auch das Problem haben, bitte melden. Stelle meine Lösung gern vor und habe Interesse an anderer Lösung.
 
Dann dokumentiere deine Lösung doch für die Nachwelt solange sie dir noch frisch im Gedächtnis ist. Ob du dazu noch Lust hast, wenn dich nächstes Jahr jemand danach fragt, oder du überhaupt noch aktiv bist, ....
 
Würde mich auch interessieren ... eventuell wäre das etwas was ich in AvrLogger einbauen könnte. Denke das passt ganz gut zu dem Tool.
 
Es sind schon wieder einige Tage vergangen. Da ein Interesse besteht, hier die simplen Skripte. Erste Aufgabe: Alle Geräte ermitteln, die online sind (überprüft werden sollen). Dazu eine Datei mit allen möglichen IP-Adressen angelegt "/tmp/iplist"). Bei mir zeilenweise 192.168.0.1 ... bis 192.168.0.254. Dann Skript neu.sh ausgeführt (sudo /bin/bash neu.sh). Arbeite komplett in /tmp (also zuvor "cd /tmp").
#!/bin/bash
# IP-Liste fuer Ueberwachung der Geraete neu erstellen
# falls vorhanden, alte Dateien loeschen

if [ -f /tmp/online ]
then rm /tmp/online
fi
for i in $( cat /tmp/iplist )
do
if [ -f /tmp/$i ]
then rm /tmp/$i
fi
ping -q -c2 $i > /dev/null
if [ $? -eq 0 ]
then
date > /tmp/$i
echo $i >> /tmp/online
fi
done

Die zu überwachenden Geräte sind jetzt alle in der Datei /tmp/online und es existieren in /tmp Dateien mit den IP-Adressen (Inhalt - Erstellungsdatum).

Jetzt kann mit folgendem Skript die tägliche Überwachung und die Mitteilung per eMail erfolgen.

#!/bin/bash
declare -i zahl
MAILBODYFILE="/tmp/mailbody.tmp"

echo "Subject: Statuskontrolle" > $MAILBODYFILE
let zahl=0

for i in $( cat /tmp/online )
do
ping -q -c2 $i > /dev/null
if [ $? -eq 0 ]
then
echo $i "pingbar" > /dev/null
else
echo $i "nicht erreichbar" >> $MAILBODYFILE
let zahl=zahl+1
fi
done

echo $zahl "Geraete nicht erreichbar" >> $MAILBODYFILE
sendmail -F Admin empfaengeremail < $MAILBODYFILE

Auf der NAS ist der eMailserver installiert und die tägliche Ausführung wurde eingerichtet.
 
Danke fürs Teilen.

Ein Tipp: Nutze die Forenfunktion "Code einfügen". Das geht entweder über den Editor (Raute klicken).

Rich (BBCode):
Zeile1
Zeile2
Zeile3
 
Danke Peter, werde ich berücksichtigen.
Als Ergänzung zu diesem Thema. Da ja immer mehr elektronische Geräte über IP-Adressen erreichbar sind, habe ich im Haushalt fast 50. Diese alle zu überwachen ist sinnlos. Es ist unwichtig, ob zum Zeitpunkt der Überwachung (bei mir um 6 Uhr) z.B. der TV an ist usw. Um herauszufinden, welches Gerät welche IP hat, nutze ich das Programm/App "fing".Ist dafür super geeignet, aber ansonsten für meine spezielle Kontrolle nicht. Die o.g. Datei "/tmp/online" bearbeite ich, so dass nur die wichtigsten IP-Adressen (Geräte) übrig bleiben. Die entsprechende Datei in /tmp mit der IP-Adresse wird auch gelöscht.
 
Hier noch ein Skript zur Ergänzung der Datei /tmp/online:
Rich (BBCode):
#!/bin/bash


for i in $( cat /tmp/iplist )
do
ping -q -c2 $i > /dev/null
if [ $? -eq 0 ]
 then
   if [ -f /tmp/$i ]
   then echo $i "erreichbar"
   else
     date > /tmp/$i
	 echo $i >> /tmp/online
   fi
 else
   if [ -f /tmp/$i ]
   then echo $i "nicht erreichbar"
   fi
fi
done
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat