stefankittel
Goto Top

Netzwerkmonitoring KISS-Style

Hallo,

ich plane eine Möglichkeit um in einem kleinem Netzwerk ein Monitoring einzurichten.

Das Netzwerk selber besteht aus zwei vDSL-Routern (1x FB, 1x Telekom) einem einfachen Dual-WAN-Router, 2 PCs und eine handvoll WLAN-Geräte.
Keinen Server oder managebare Geräte.

Das Problem sind Teilausfälle von WLAN oder LAN auf das Internet.

Nach dem Anzeigen des Routers bin ich mir ziemlich sicher, dass die Telekom-Gurke, die für T-Home benötigt wird, eine Macke hat und andere Teile des Netzwerkes stört.
Die Telekom schwört Stein und Bein, dass deren internet stabil läuft und der Router matsche ist.

Und natürlich tritt dies nur alle paar Tage für Minuten oder Stunden auf.

Ich würde dort einen PC aufstelle mit 3 NICs.
Jeweils für WAN1, WAN2 und LAN und dazu 1x WLAN per USB.

Jetzt benötige ich eine Software wie Multiping um zu prüfen welche Verbindung wie besteht.
Dazu möchte ich pro Netzwerkinterface mehere Ping-Monitore einstellen und die Software muss als Dienst laufen.

Also z.B. ein Ping auf 8.8.8.8 aber über alle 3 Netzwerkkarten unabhängig parallel.

Auswerten möchte ich später wann welche Router nicht mehr korrekt ins Internet routet und wie sich dies auf das Netzwerk dahinter auswirkt.

Kennt Jemand so eine Software?

Stefan

Content-ID: 1205753209

Url: https://administrator.de/contentid/1205753209

Ausgedruckt am: 05.11.2024 um 21:11 Uhr

n4426
n4426 28.08.2021 um 20:02:55 Uhr
Goto Top
Hi Stefan,

das sollte mit den gängigen Monitoring-Systemen (z.B. Zabixx) machbar sein.

Grüße
n4426
Lochkartenstanzer
Lochkartenstanzer 28.08.2021 aktualisiert um 20:40:13 Uhr
Goto Top
Moin,

İch würde da einen Raspi mit zusätzlichen USB-Etherner-Adaptern einhängen, die Pings in eine logdatei schreiben und dann per Cronjob auswerten. Sollte eigentlich in 15Minuten zusammengestoppelt sein.

lks
manuel-r
manuel-r 28.08.2021 um 20:47:03 Uhr
Goto Top
Guten Abend

Ich würde wie von dir angedacht den PC nehmen und in jedes der vorhandene Netzwerke hängen. Das Monitoring würde ich dann mit PRTG machen. Die kostenlose Version konnte immer bis 100 Sensoren. Ob das noch so ist müsstest du nachlesen.
Für deinen vorübergehenden Anwendungsfall dürfte das die am einfachsten einzurichtende Lösung sein.

Manuel
keine-ahnung
keine-ahnung 28.08.2021 um 21:44:20 Uhr
Goto Top
Moin,

Das Netzwerk selber besteht aus zwei vDSL-Routern (1x FB, 1x Telekom) einem einfachen Dual-WAN-Router

den versteh' ich nicht.

LG, Thomas
Stefan007
Stefan007 28.08.2021 um 21:49:49 Uhr
Goto Top
Hi Stefan,

PRTG sollte ausreichend sein für den Zweck.

Gruß,
Stefan
SeaStorm
SeaStorm 28.08.2021 um 23:15:35 Uhr
Goto Top
Hätte da jetzt auch einen zabbix auf einen raspi gepackt und dann entweder per LAN und WLAN oder halt zusätzlich einem USB Adapter geprüft. Alternativ, falls entsprechende Hardware vorhanden, kann man das ja auch per vlan über eine NIC machen
em-pie
em-pie 28.08.2021 aktualisiert um 23:24:52 Uhr
Goto Top
Zitat von @keine-ahnung:
Moin,
Moin,
Das Netzwerk selber besteht aus zwei vDSL-Routern (1x FB, 1x Telekom) einem einfachen Dual-WAN-Router

den versteh' ich nicht.
Naja, die Fritte und die Telekombpchse dienen als „Modem“ und dahinter hängt, bei dir vermutlich ein Lancom, ein Router, der Den Traffic verteilt…

LG, Thomas

Ich würde auch mit PRTG oder zabbix arbeiten.

Der Ansatz per VLAN klappt ja auch. Nen 10-Port Switch, der VLANs kann, und dann passt es…

Gruß
em-pie
StefanKittel
StefanKittel 29.08.2021 aktualisiert um 02:21:27 Uhr
Goto Top
Hallo,
laut Doku kann der Ping-Sensor nicht einer Neztwerkkarte zugeordnet werden.
https://www.paessler.com/manuals/prtg/ping_sensor

Und Zabbix auch nicht
https://www.zabbix.com/documentation/current/manual/config/items/itemtyp ...

Sehe ich das richtig?

Ping-Plotter funktioniert mit einem Trick.
Man kann die Software mehrfach starten und in den Einstellungen die Netzwerkkarte pro Instanz auswählen.

Nachteile:
- Keine Nutzung des Dienstes
- Neustart aufwendig
- Unklar wie stabil das funktioniert.

Also doch Skripte mit Ping mit -S und die Ergebnisse in eine lokale DB schreiben.
Ist natürlich bei weitem nicht so elegant und "einfach" auszuwerten.
Stefan007
Stefan007 29.08.2021 um 05:22:23 Uhr
Goto Top
Du kannst alle NICs überwachen und dann auch in den Logfiles mögliche Aussetzer feststellen. Scan intervall dazu auf 30 Sekunden legen.
StefanKittel
StefanKittel 29.08.2021 um 11:11:31 Uhr
Goto Top
Zitat von @Stefan007:
Du kannst alle NICs überwachen...
Aber laut Doku kann ich pro Ping nicht die NIC festlegen.
Ich will ja von allen 4 NICs z.B. die 8.8.8.8 anpingen und feststellen über welche Pfade diese nicht zu erreichen ist.
em-pie
em-pie 29.08.2021 aktualisiert um 11:27:43 Uhr
Goto Top
Moin,

Mir fallen gerade zwei Ansätze ein, bzw habe ich zwei Möglichkeiten (denke ich) gefunden, wie du die NIC spezifizieren kannst.

Variante 1
Ping mit dem Schalter /S
Syntax: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
             [-r count] [-s count] [[-j host-list] | [-k host-list]]
             [-w timeout] [-R] [-S srcaddr] [-c compartment] [-p]
             [-4] [-6] Zielname

Optionen:
    ...
    -S srcaddr     Die zu verwendende Quelladresse.
    ...
Edit: und unter Unix-Systemen ist es der Schalter /I

Variante 2
Du arbeitest mit Routen
route add (destination subnet) MASK (destination subnet mask) (gateway) IF (interface)
Hier müsstest du dann halt einmal die 8.8.8.8 und einmal z.B. die 1.1.1.1 pingen und über Routen "steuern"

Beides hier gefunden:
https://serverfault.com/questions/273600/ping-from-specific-network-adap ...
StefanKittel
StefanKittel 29.08.2021 um 11:32:21 Uhr
Goto Top
Hallo em-pie,

Variante 1 ist mir bekannt, aber mit PRTG nur bedingt verwendbar.
Variante 2 hätte ich so nicht bedacht und sollte funktionieren.
Ich teste das mal mit PRTG.
Danke.

Stefan
em-pie
em-pie 29.08.2021 um 11:39:11 Uhr
Goto Top
Variante 1 ginge, wenn du nicht auf PRTG/ Zabbix/ ... zurückgreifen und das stattdessen via Batch/ Powershell umsetzen willst: https://stackoverflow.com/questions/24906268/ping-with-timestamp-on-wind ...

Ansatz:
Ein PS-Script, welches alle paar Sekunden nacheinander über die vier Interfaces einen Ping absetzt und das Ergebnis in eine gemeinsame oder vier einzelne Log-Dateien (mit Zeitstempel) schreibt...

Das ginge dann auch sicherlich mit einem RPi + Bash-Script
StefanKittel
StefanKittel 29.08.2021 um 11:50:41 Uhr
Goto Top
Hallo,
ich hoffe bei PRTG eine Auswertung über mehrere Pings in einem Zeitdiagram sehen zu können.
Das würde die Auswertung sehr vereinfachen.
em-pie
em-pie 29.08.2021 aktualisiert um 11:56:42 Uhr
Goto Top
Das wäre tatsächlich besser face-smile

PRTG kann im Zweifel ja auch mit Scripten umgehen, wenn ich mich recht entsinne.
Das artet dann aber womöglich in gebastel aus:
  • Script mit Parametern aufrufen
  • Parameter nutzen, um das Ziel und die Quelle anzugeben
  • Den Returncode des Pings "abfangen" und auswerten
  • Das ausgewertete Ergebnis als Returncode (oder wie auch immer) an PRTG zurück melden.

Die Variante mit der Route dürfte da, als erster Anlauf, aber erst einmal schneller umzusetzen sein...
StefanKittel
StefanKittel 29.08.2021 aktualisiert um 12:27:46 Uhr
Goto Top
gna....
Wieso ist der Errorlevel bei ping für "Zielnetz nicht erreichbar" auch 0?

Ich will ja nicht die Zeiten in MS parsen in der Ausgabe.

ping -n 1 8.8.8.8
Antwort von 8.8.8.8: Bytes=32 Zeit=33ms TTL=59
echo %errorlevel%
0 OK

ping -n 1 18.8.8.8
Zeitüberschreitung der Anforderung
echo %errorlevel%
1 OK

ping -n 1 10.8.8.8
Antwort von 62.155.241.28: Zielnetz nicht erreichbar
echo %errorlevel%
0 Warum?
em-pie
em-pie 29.08.2021 aktualisiert um 12:55:26 Uhr
Goto Top
Na weil du dein Windows ja ne Rückmeldung erhält - hier von der 62.155.241.28 - für den logisch denkenden Menschen ist das dennoch Hirnverbrannt.

Ergänze einmal den Parameter -w
https://superuser.com/questions/403905/ping-from-windows-7-get-no-reply- ...

Edit:
Vielleicht ist dein 10.8.8.8 auch unglücklich gewählt, da wir ja im RFC1918 sind - aber das ist nur eine blinde Vermutung, die ich aus meinem Kaffeesatz gedeutet habe ^^

Edit2:
Kurios hierbei: Warum antwortet die Telekom bei der IP? Eigentlich dürften diese Pakete den Router ja nicht verlassen!? Auch bei mir (Draytek Router/Modem) antwortet der DTAG-Server...
Auf der anderen Seite heißt es ja Route 0.0.0.0/0 an "den Server des ISP"
StefanKittel
StefanKittel 29.08.2021 aktualisiert um 12:46:20 Uhr
Goto Top
Hallo

Zu 1
-w ändert nichts.
Also geht es nicht so einfach... warum auch

Zu 2 - A
So antwortet mein Router aber auch für Adresse wo er sagt dass muss ich gar nicht testen.
Weil er weiß, dass die Leitung weg ist bei einem Modem z.B.

Zu 2 - B
Ich bin in meinem experemtier-Netz.
Vermutlich habe ich da was "verstellt" um irgendwas zu testen an das ich mich nicht mehr erinnere face-smile
em-pie
em-pie 29.08.2021 um 13:08:36 Uhr
Goto Top
Dann bleibt ja nur die Variante übrig, die Rückmeldetexte zu parsen und mit SET errorlevel=.. diesen zu überschreiben..
Wenn Rückmeldung = "*Zeitüberschreitung*"  oder Rückmeldung = "*Zielnetz nicht erreichbar*"  
 setze errorlevel=1
 ansonsten setze errorlevel=0
Da enden aber meine Batch-Kenntnisse face-sad
aqui
aqui 29.08.2021 um 13:14:57 Uhr
Goto Top
Jetzt benötige ich eine Software wie Multiping um zu prüfen welche Verbindung wie besteht.
https://kin.klever.net/bigbrother/
148656
148656 29.08.2021 um 14:40:14 Uhr
Goto Top
Eine "einfache" Überwachung des Netzwerkes hat @aqui bereits vor 8 Jahren hier beschrieben.
Auch die aktuelle Ausgabe der Zeitschrift IT-Administrator beschäftigt sich mit dem Thema Monitoring.
Lochkartenstanzer
Lochkartenstanzer 29.08.2021 aktualisiert um 15:35:46 Uhr
Goto Top
Moin,

Also wenn ich per cronjob
 ping -c10 -I eth0 10.8.8.8 >/dev/null ; echo "$? ; `date -Iseconds`" >>ping-log-eth0.csv
eine Logdatei erstelle und das ganz in "excel" reinziehe, sollte die Auswertung ganz einfach möglich sein.

man kan nauch einfach mit grep nach "1 ;" suchen, um die Störungszeiten herauszufiltern.

Die Logdatei sieht dann z.B so aus
1 ; 2021-08-29T15:26:55+02:00
0 ; 2021-08-29T15:27:05+02:00
1 ; 2021-08-29T15:27:15+02:00
1 ; 2021-08-29T15:27:25+02:00
0 ; 2021-08-29T15:27:35+02:00
0 ; 2021-08-29T15:27:45+02:00
0 ; 2021-08-29T15:27:55+02:00
0 ; 2021-08-29T15:28:05+02:00

Ich würde da jetzt nicht viel mehr Energie reinstecken.

lks

PS: Alternativ kann man natürlich statt eth0 auch die IP-Adresse des betreffenden Interfaces angeben.
fredmy
fredmy 29.08.2021 aktualisiert um 18:30:15 Uhr
Goto Top
llo,
hatte mal sowas
#!/bin/sh

#while :
# do
   if [  "$(ping    -c 1 192.168.38.84 | grep '1 packets received')" ]  
    then
echo "  alles gut "  

#     etherwake xx:xx:xx:xx:xx
   else
   
   echo " nixi "  
   route add -net 192.168.38.0/24 gw 10.11.10.1
   
#  sleep 2s #2 Sekunden Pause
  fi 
#done

um openvpn Routen nach Verbindungsverlust wieder zu setzen (war: Device weg = route weg)
Script kann aber alles tun ! Mail schicken, File schreiben im Falle Nixi ...
als cronjob oder permanent mit Sleep laufen lassen aller Minute
Meine Version war nicht permanent sonder per Cronjab */1 auf ner Linux-Büchse.

Nur so als Gedanke

Fred
Stefan007
Stefan007 29.08.2021 um 20:18:39 Uhr
Goto Top
Zitat von @StefanKittel:

Zitat von @Stefan007:
Du kannst alle NICs überwachen...
Aber laut Doku kann ich pro Ping nicht die NIC festlegen.
Ich will ja von allen 4 NICs z.B. die 8.8.8.8 anpingen und feststellen über welche Pfade diese nicht zu erreichen ist.

Du kannst die IPs doch als "Host" setzen.

So mache ich das doch auch mit 3 Clients hier.
StefanKittel
StefanKittel 29.08.2021 um 22:40:30 Uhr
Goto Top
Zitat von @aqui:
Jetzt benötige ich eine Software wie Multiping um zu prüfen welche Verbindung wie besteht.
https://kin.klever.net/bigbrother/
Keine Auswahl der Netzwerkkarte pro Host möglich.