Monitoring: Unterschied zwischen den Versionen

Aus Freifunk Franken
Wechseln zu:Navigation, Suche
Zeile 103: Zeile 103:
</pre>
</pre>


Wenn babeld angepasst wurde, kann nodewatcher in Zeile 257 so erweitert werden:
<pre>
<pre>
awk '/add_neighbour/ {print
    BABELS=$(echo dump |nc ::1 33123 | awk '/^add neighbour/ {print "<neighbour>"$5"<outgoing_interface>"$7"</outgoing_interface></neighbour>"}')
"<neighbour_"NR-1"><originator>"$5"</originator><nexthop>"$5"</nexthop><outgoing_interface>"$7"</outgoing_interface></neighbour_"NR-1">"}'
    DATA=$DATA"<babel_neighbours>$BABELS</babel_neighbours>"                              
</pre>
</pre>

Version vom 14. Mai 2017, 19:55 Uhr

Diese Seite befindet sich noch im Entwurfsstadium.
Hilf mit sie zu verbessern!


Hier soll eine Seite entstehen wie man das Monitoring richtig liest:

Map

Auf der Map-Seite kann rechts oben über das kleine Symbol ein Layer eingeblendet werden, der die Hoodgrenzen anzeigt.

Interfaces

Beachtet das nicht jeder Router alle Interfaces hat. Dies ist von Modell zu Modell leicht unterschiedlich. Das Monitoring zeigt manche Interfaces auch erst an, wenn damit etwas verbunden wurde (z.b. die ethX.Y).

br-mesh

Bridge in der das bat0 sowie alle Clientinterfaces die mit Batman kommunizieren sollen (z.b. w2ap, w5ap und eth0.1 falls vorhanden) hängen

bat0

Hier sieht man den Traffic der ins Batman (=der große Switch) geschickt wird oder der aus dem Batman herauskommt. Das wäre z.b. wenn ein Client auf w2ap connectet ist und Traffic über das Batman-VPN zu einen Gateway transferiert (Traffic kommt über w2ap rein und wird dann ins bat0 reingesteckt, somit wird er hier angezeigt). Traffic der im Batman bleibt, ist hier nicht zu sehen (z.b. wenn Traffic von w2mesh (=Batman WLAN) oder eth0.3 (Batman Kabel) ankommt und per fffVPN (=Batman-VPN) weiter zu einen Gateway geht)

ethX.Y

Dies ist je nach Routermodell ein wenig unterschiedlich grundsätzlich gilt aber (falls vorhanden):

ethX.1

Dies ist das VLAN an welches die Kabel-Clientports angebunden sind, dort ist der komplette Traffic aller Clients die per Kabel angebunden sind zu sehen

ethX.2

Dies ist bei manchen Routern das VLAN des WAN Ports. Hier sieht man den kompletten Traffic der über das WAN in das Internet geht. Bei manchen Routern ist WAN auch eth0 und eth1.1 und eth1.3 Client und Batman

ethX.3

Dies ist das VLAN in welches die Kabelgebunden Batmangeräte hängen. Hier sieht man den Traffic der über Batman-Kabel hereinkommt oder herausgeht

Router mit nur einem Ethernetport

Bei Routern mit nur einen Etherntport ist meist eth0 das, als was der Port konfiguriert wurde. Dort gibt es meist keine VLANs

fffVPN oder fffauxVPN

Dies ist das Interface für das VPN. Dort ist der komplette Traffic der innerhalb des VPN verschickt wird zu sehen

l2tpX

Dies ist das l2tp Interface zu den Gateways

w2ap / w5ap

Dies ist das WLAN-Interface auf welches Clients per WLAN zugreifen. Dort ist der komplette WLAN Traffic für Clients zu sehen. w2ap ist das 2,4GHz Band, w5ap ist das 5GHz Band

w2mesh / w5mesh

Dies ist das WLAN-AdHoc-Interface über welches die Router anschließend mit Batman verbunden werden. Hier ist der komplette Traffic zu sehen welcher per Batman über WLAN verschickt wird. w2mesh ist das 2,4GHz Batman, w5mesh ist das 5GHz Batman.

Neighbours Anzeige

Wichtig ist hier zu wissen, das nur Nachbarn angezeigt werden, die Batman auch nutzt. Es kommt immer wieder vor, das Verbindungen hier nicht angezeigt werden obwohl sie möglich wären, da sie keinen Sinn machen und Batman sie daher nicht nutzt.

Hood

Das Monitoring berechnet die Hood selbst aus den Koordinaten. In ungünstigen Fällen kann diese Anzeige fehlerhaft sein z.b.:

  • ein Meshrouter steht in einer anderen Hood als der Uplinkrouter dazu, dies ist möglich solang am Meshrouter kein Uplinkrouter aus der Hood wo er steht dran mesht
  • Hoods die vor Ort aufgebaut wurden und keine Standortangaben haben (z.b. fablabnbg )
    • Die Router in diesen Hoods senden mittlerweile aktiv ihre Hood mit, so das sie im Monitoring als extra Hood erscheinen.

Damit ist z.b. auch die Clientzählung auf der Statistikseite mit vorsicht zu genießen da diese dann ebenfalls fehlerhaft wird. AUX Router werden ebenfalls in der Clientzählung mit in die Hood gezählt obwohl sie da nicht hinein gehören.

  • Blaue Linien zeigen Layer 3 Verbindungen an, sie verbinden somit Hoods untereinander.

Eigene Daten mit an das Monitoring schicken

andere Hood

https://github.com/FreifunkFranken/firmware/blob/master/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher

Nach Zeile 137 eine weitere Zeile einfügen:

SYSTEM_DATA=$SYSTEM_DATA"<hood>HOODNAME</hood>"

Blaue Linien zeichnen

https://github.com/FreifunkFranken/firmware/blob/master/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher

Nach Zeile 252 muss folgende Zeile mitgeschickt werden:

DATA=$DATA"<babel_neighbours>"  
DATA=$DATA"<neighbour>fe80::6666:b3ff:fede:f5cd<outgoing_interface>eth0.4</outgoing_interface></neighbour>"
DATA=$DATA"</babel_neighbours>"

generiert kann sie z.b. so werden (Syntax ist so richtig und funktioniert so, wenn auch unschön):

DATA=$DATA"<babel_neighbours>"                                                                                                                                                                
                                                                                                                                                                                              
numhops=`traceroute 10.50.130.1 2>/dev/null | tail -1 | cut -d' ' -f2`                                                                                                                        
if [ "$numhops" = "1" ]; then                                                                                                                                                                 
        DATA=$DATA"<neighbour>fe80::6666:b3ff:fede:f5cd<outgoing_interface>eth0.4</outgoing_interface></neighbour>"                                                                           
fi                                                                                                                                                                                            
                                                                                                                                                                                              
DATA=$DATA"</babel_neighbours>"

Besser wäre es die Daten Live aus dem Babel zu holen... Hier mal ein grobes Konstrukt, muss noch in ein Script zusammengebastelt werden, evtl. hat der awk auch noch den falschen Syntax dieser wurde nochmal beim Einbau ins Monitoring geändert:

echo dump |nc ::1 33123|grep "add neighbour"

damit dies geht, muss in /etc/babeld.conf folgende Zeile drinnen sein:

local-port 33123

Wenn babeld angepasst wurde, kann nodewatcher in Zeile 257 so erweitert werden:

    BABELS=$(echo dump |nc ::1 33123 | awk '/^add neighbour/ {print "<neighbour>"$5"<outgoing_interface>"$7"</outgoing_interface></neighbour>"}')
    DATA=$DATA"<babel_neighbours>$BABELS</babel_neighbours>"