S2nproxy
Problem
Hinter einen Layer 3 Router werden oft viele verschiedene Infrastrukturgeräte betrieben. Accesspoints, Switche, Richtfunkhardware usw. Diese Geräte müssten alle einzeln irgendwo überwacht werden. Bisher ist das (zumindest bei mir) immer in einen großen Chaos geendet. Dazu kommen so Probleme das z.b. Airmax SNMP nur auf IPv4 hört, hinter einem NAT ist das SNMP also nicht mehr erreichbar.
Idee
Die Idee ist nun, das alles an einen einzelnen Punkt zu vereinen. Da jeder Standort einen Layer 3 Router hat, welcher sogar Statusdaten sammelt und übermittelt, war die Idee dies dort zu zusammen zu fassen und in einen Pack zu haben. Auf den Layer 3 Routern läuft der Nodewatcher, welcher alle möglichen Daten vom Router sammelt, in eine XML packt und diese ans Monitoring (welches sie aktuell aber nicht verarbeitet!) und mqtt übermittelt.
Die Idee ist nun, das der Layer 3 Router per SNMP alle Infos von seinen angeschlossenen Geräten (Accesspoints, Switche, Richtfunkhardware, etc.) mit einsammelt und mit an das XML hängt. So hat man eine große XML wo alle Informationen an einen Punkt vorhanden sind und man muss nur einmal überall die XML auswerten.
Das einsammeln und in die XML packen übernimmt der s2nproxy (SNMP to Nodewatcher Proxy)
RFC/WIP Patches
Es gibt hier bereits erste Patches um das in die Layer 3 Firmware zu bekommen, hier ist aber noch viel Arbeit nötig: https://git.freifunk-franken.de/freifunk-franken/firmware/pulls/194
In der aktuellen Beta ist mittlerweile snmp-utils enthalten, so das man einfach nur die Nodewatcherdatei auf den Router kopieren muss und dann schon mit dem s2nproxy experimentieren kann. https://git.freifunk-franken.de/freifunk-franken/firmware/commit/0e8c32a363837bcee3bbc631851b005cd39cc3c8
Wie kann so ein Monitoring aussehen?
Ich hab schon mal bisschen mit Grafana und ähnlichen herumgebastelt und es testweise auf ein paar Routern laufen:
Die Daten werden per mqtt eingesammelt und danach passend verarbeitet. Das ganze ist noch in Entwicklung.