Wer die Commitlogs unseres Netzwerkverwaltungs und Monitoringportals Netmon aufmerksam verfolgt, dem wird aufgefallen sein, dass in Netmon aktuell eine neue Web API auf Basis des REST Standards entwickelt wird.
Ein bisschen konnten wir ja schon immer mit Netmon kommunizieren. Die Schnittstellen dafür bestehen aber nur aus einfachen CSV Strings was vorallem dem Umstand geschuldet ist, dass unsere Router bisher einfache Bash-Scripte nutzen um sich zu Netmon zu verbinden und das Parsen komplexer Datenstrukturen damit mindestens umständlich ist. Vor einiger Zeit haben wir uns dann entschieden, dass wir diese Scripte in Zukunft nach C/C++ portieren wollen.
Das eröffnet uns die Möglichkeit seitens der Router komplexere Datenstrukturen zu verarbeiten und damit auch seitens Netmon komplexere Datenstrukturen anzubieten ohne zwei verschiedene APIs dauerhaft warten zu müssen. Die Entwicklung der API steht noch am Anfang, jedoch möchte ich einen kleinen Teil hier bereits einmal vorstellen.
In Netmon und damit auch in der API gibt es verschiedenste Objekte. So gibt es Benutzer, IP-Adressen, Interfaces, Events und natürlich Router. Oftmals benötigt man aber nicht nur eines der Objekte, sondern eine ganze Liste an Objekten. Zum Beispiel alle Router. Und so gibt es neben den einzelnen Objekten auch noch eine ganze Reihe von Listen die eine Menge von Objekten enthalten, wie z.B. die Routerliste die ich im Folgenden vorstellen möchte.