Network Monitoring mit Open Source Tools #1

Bei Puzzle ist Open Source nicht nur ein Buzzword sondern wird aktiv gelebt und gefördert. Somit ist es nicht verwunderlich, dass wir auch in unserem Netzwerkstack auf Open Source setzen. In dieser Blogserie stellen Sebastian Plattner und Frank Sellin euch zwei Tools zum Überwachen und Dokumentieren eines IT-Netzwerks vor.

Um ein IT-Netzwerk zu verstehen und somit bei Problemen schnell eine Lösung zu finden, ist die Visibility ins Netzwerk zentral. Dabei geht es insbesondere darum zu wissen, wo welches Equipment (z.B. Switches, Router, Firewalls, Access Points) wie miteinander verbunden ist und welche Endgeräte (z.B. Server, Laptops, Computer) über das Netzwerk kommunizieren. Weiter ist auch wichtig zu wissen, wie viel Netzwerkverkehr über welche Verbindungen läuft. Diese Informationen müssen ohne Aufwand zugänglich sein und insbesondere bei Änderungen am einem Netzwerk möglichst einfach und automatisch aktuell gehalten werden können. Bei Puzzle setzen wir dafür auf zwei Open Source Projekte. Zum aktiven Überwachen von allen Netzwerkgeräten verwenden wir Observium. Für die Dokumentation der physikalischen Netzwerkverbindungen, dem Rackmanagement im Datacenter und zum Verwalten von IP-Adressen & VLANs kommt Racktables zum Einsatz.

Im ersten Teil stellen wir Observium und dessen Einsatz bei Puzzle vor.

Observium

„Observium is a low-maintenance auto-discovering network monitoring platform supporting a wide range of device types, platforms and operating systems including Cisco, Windows, Linux, HP, Juniper, Dell, FreeBSD, Brocade, Netscaler, NetApp and many more. Observium focuses on providing a beautiful and powerful yet simple and intuitive interface to the health and status of your network.“

Observium ist webbasiert und setzt fast vollständig auf SNMP als primäre Datenquelle. Das überwachte Netzwerkequipment muss also SNMP unterstützen, was aber die meisten Hersteller bei Geräten für den professionellen Einsatz standardmässig mitliefern. Zum Sammeln von zusätzlichen Daten kann Observium mit Plugins und Agents erweitert werden. Observium macht es dann extrem einfach, die Geräte einzubinden. Lediglich ein Hostname und die SNMP-Version (Community, gegebenenfalls Credentials bei SNMPv3) sind nötig, alles andere geschieht automatisch. Observium liest alle via SNMP verfügbaren Daten aus, verarbeitet diese und präsentiert sie in einer sehr übersichtlichen Weboberfläche. Je nach Gerät präsentieren sich dabei ganz unterschiedliche Daten. Grundsätzlich werden die klassischen Performanceparameter wie CPU, Memory, Storage und weitere Sensoren ausgelesen. Fürs Netzwerkmonitoring sind aber insbesondere die Auslastung von sämtlichen physikalischen und virtuellen Netzwerkports interessant. Diese sind nicht nur grafisch dargestellt, sie lassen auch über beliebige Zeitspannen beobachten. Mit Hilfe von diversen Discoveryprotokollen (z.B. LLDP, CDP) können ausserdem auch automatisch die Verbindungen zwischen den Geräten dokumentiert werden. Mit Hilfe der Daten aus den ARP Caches und Forwardtabellen von Switches ist es sogar möglich herauszufinden, welche Endgeräte (bzw. MAC-Adressen) an welchem Switchport hängen.

Ein kleines Beispiel bei dem uns Observium geholfen hat: Einer unserer Server wird mit einem Dual-Homed Setup betrieben (je ein externes und internes Netzwerkinterface). Vor kurzem haben wir festgestellt, dass dieser nur noch übers interne Netz erreichbar ist. Unsere Vermutung war, dass bei einem kürzlich erfolgten Hardwaretausch die Netzwerkkabel falsch eingesteckt wurden. Mit Hilfe der MAC-Adressen des Servers konnten wir in Observium genau herausfinden, an welchem Netzwerkswitch der Server angeschlossen war. So haben wir rasch herausgefunden, dass dieses Interface aus Versehen an den falschen Switch angeschlossen war und konnten diesen Fehler schnell wieder korrigieren.

Observium bietet noch viel mehr, so wird z.B. die Uptime & Erreichbarkeit von allen Geräten überwacht. Bei grösseren Installationen mit mehreren Standorten kann eine Übersichtskarte direkt anzeigen, wo Probleme vorhanden sind.

Es stehen auch Alerts mit Benachrichtigungen zur Verfügung. Bei der Integration von Routern können auch Routerprotokolle (OSPF, BGB) direkt integriert und Routingtabellen via SNMP ausgelesen werden. Für Systeme mit Storage bietet Observium auch für diesen entsprechende Überwachungsfunktionen. Beim Servermonitoring empfehlen wir hingegen andere Tools wie beispielsweise Icinga oder Prometheus.

Nebst der Community Edition bietet Observium auch eine Professional Edition mit diversen weiteren Features an (z.B. Traffic Accounting, SLA, RESTful API). Fürs Networkmonitoring reicht aber die Community Version vollkommen aus. Eine Vielzahl von Geräten wird von Haus aus unterstützt, hier finden Sie eine Übersicht dazu.

Eine Demo von Observium steht hier zur Verfügung. Für die Installation wird ein Webserver mit PHP und einer Datenbank benötigt. Weiter muss der Zugriff auf die zu überwachenden Geräte via SNMP möglich sein. Unsere Installation läuft zur Zeit dediziert in einer VM, kann aber ohne weiteres auch auf einer OpenShift Umgebung laufen. Mittels LDAP ist auch die Authentifizierung über ein zentrales Directory möglich.

Observium lässt sich bestens mit Network Weathermap kombinieren. Dazu gibt es ein weiteres Open Source Projekt, welches eine Integration von Weathermap und Observium anbietet. Das Projekt beinhaltet einen einfachen Editor um die Weathermaps zu konfigurieren und die entsprechenden Daten direkt aus Observium auszulesen.

Kommentare sind geschlossen.