Einfaches Netzmonitoring auf der NAS

Status
Für weitere Antworten geschlossen.

maxeddy

Benutzer
Mitglied seit
09. Jul 2013
Beiträge
10
Punkte für Reaktionen
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.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.138
Punkte für Reaktionen
900
Punkte
424
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, ....
 

BigRonin

Benutzer
Mitglied seit
08. Mai 2015
Beiträge
1.156
Punkte für Reaktionen
130
Punkte
89
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.
 

maxeddy

Benutzer
Mitglied seit
09. Jul 2013
Beiträge
10
Punkte für Reaktionen
0
Punkte
1
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.
 

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
5.573
Punkte für Reaktionen
1.408
Punkte
234
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
 

maxeddy

Benutzer
Mitglied seit
09. Jul 2013
Beiträge
10
Punkte für Reaktionen
0
Punkte
1
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.
 

maxeddy

Benutzer
Mitglied seit
09. Jul 2013
Beiträge
10
Punkte für Reaktionen
0
Punkte
1
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 

 
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten. Dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit hohem technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive Werbung und bemühen uns um eine dezente Integration.

Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.

Du kannst uns auch über unseren Kaffeautomat einen Kaffe ausgeben oder ein PUR Abo abschließen und das Forum so werbefrei nutzen.

Vielen Dank für Deine Unterstützung!