Top 5 Open-Source-SNMP-Überwachungstools

Das Simple Network Management Protocol (SNMP), das in nahezu jedes Netzwerkgerät integriert ist, erweist sich als die optimale Methode zur Überwachung der Bandbreitennutzung. Es ist jedoch bekannt, dass einige der besten Überwachungstools auf SNMP-Basis mit hohen Kosten verbunden sind. Glücklicherweise existieren zahlreiche kostenfreie und quelloffene Alternativen, die wir im Folgenden näher betrachten werden.

Wäre es nicht wünschenswert, von einer unbegrenzten Netzwerkbandbreite zu profitieren? Die Realität sieht jedoch oft anders aus. Aufgrund der anhaltend hohen Kosten für Bandbreite sind wir meist auf das Notwendigste beschränkt. Infolgedessen kommt es in Netzwerken häufig zu Überlastungen und anderen Problemen, die mit unzureichender Bandbreite zusammenhängen. Gleichzeitig steigt die Menge der von Anwendungen verarbeiteten Daten stetig an, was die Netzwerkbandbreite zusätzlich beansprucht. Um Schwierigkeiten zu vermeiden, ist eine kontinuierliche Überwachung des Netzwerks und seiner Nutzung unerlässlich. Eine der effektivsten Methoden hierfür ist der Einsatz von Bandbreitenüberwachungswerkzeugen.

Wir beginnen mit einer Erläuterung der Netzwerküberwachung, gefolgt von einer kurzen Beschreibung der verschiedenen verfügbaren Überwachungsarten. Anschließend widmen wir uns dem Simple Network Management Protocol (SNMP), beleuchten dessen Funktionsweise und die Art und Weise, wie Überwachungswerkzeuge es verwenden, um die Auslastung der Netzwerkbandbreite zu ermitteln. Abschließend werden wir einige der herausragendsten Open-Source-SNMP-Überwachungswerkzeuge vorstellen. Dabei reichen die Lösungen von sehr einfachen bis hin zu hochentwickelten, professionellen Werkzeugen.

Über die Bandbreitenüberwachung

Für Netzwerkadministratoren ist die Überlastung des Netzwerks ein zentrales Problem. Vergleicht man ein Netzwerk mit einer Autobahn, auf der der Datenverkehr aus den Daten des Netzwerks besteht, so ist eine Netzwerküberlastung vergleichbar mit einem Verkehrsstau. Im Gegensatz zum Straßenverkehr, wo Staus leicht zu erkennen sind, erfolgt der Netzwerkverkehr innerhalb von Kabeln, Switches und Routern und ist daher nicht direkt sichtbar. Darüber hinaus geschieht alles mit hoher Geschwindigkeit, so dass selbst wenn es sichtbar wäre, es zu schnell vorbeiziehen würde, um es wahrzunehmen. Aus diesem Grund sind Netzwerküberwachungswerkzeuge so entscheidend. Sie ermöglichen es Netzwerkadministratoren, die erforderliche Transparenz zu gewinnen, um einen reibungslosen Ablauf zu gewährleisten. Sie können Überlastungen oder andere Probleme identifizieren, sodass Administratoren notwendige Maßnahmen zur Behebung ergreifen können.

Ein weiterer wichtiger Vorteil von Bandbreitenüberwachungswerkzeugen ist die Kapazitätsplanung. Es ist unvermeidlich, dass die Netzwerknutzung mit der Zeit zunimmt. Ähnlich wie beim Speicherplatz gilt: Je mehr man hat, desto mehr benötigt man. Auch wenn die aktuelle Bandbreite Ihres Netzwerks im Moment ausreichend ist, wird sie früher oder später erweitert werden müssen. Durch die Überwachung der Bandbreitennutzung können Sie Bandbreitenupgrades planen, bevor eine Überlastung zu einem Problem wird.

Verschiedene Ansätze zur Bandbreitenüberwachung

Es gibt verschiedene Ansätze zur Überwachung der Netzwerkauslastung. Eine Methode besteht darin, Pakete an bestimmten Stellen im Netzwerk zu erfassen. Dies liefert zwar detaillierte Einblicke in die Vorgänge an diesem spezifischen Punkt, jedoch nicht in andere Bereiche des Netzwerks. Eine andere Möglichkeit, sofern Ihr Netzwerkgerät dies unterstützt, ist die Übermittlung von Flussdaten an einen Flussanalysator, der Informationen darüber liefert, welche Benutzer, Geräte oder Anwendungen das Netzwerk nutzen. Schließlich, und dies ist oft die bevorzugte Methode, können Sie SNMP verwenden – das, wie gesagt, in nahezu jedes Netzwerkgerät integriert ist –, um Geräte regelmäßig abzufragen und deren Schnittstellenzähler auszulesen. Diese Zähler ermöglichen es, die Bandbreitennutzung zu berechnen und grafisch darzustellen. Lassen Sie uns die Funktionsweise der verschiedenen Überwachungsmethoden kurz untersuchen.

Paketerfassung

Die Paketerfassung wird primär zur Fehlerbehebung bei bekannten Netzwerkproblemen eingesetzt, jedoch weniger zur Nutzungsüberwachung. Bei der Paketerfassung wird jedes Datenpaket, das in die Schnittstelle eines bestimmten Geräts ein- oder aus ihr ausgeht, erfasst und dekodiert. Es ist unbestreitbar, dass Paketerfassungswerkzeuge ein wertvolles Instrument für Netzwerkadministratoren sind, doch eignen sie sich weniger gut zur kontinuierlichen Überwachung und zur Sicherstellung eines reibungslosen Netzwerkbetriebs.

Flussanalyse

Die NetFlow-Technologie von Cisco und ihre verschiedenen Derivate, wie J-Flow, IPFIX oder sFlow, bilden ein System zur Analyse des Netzwerkflusses. Geräte, die die Flussanalyse unterstützen, sammeln Informationen über jeden Datenfluss und übermitteln diese an einen Flussdatensammler und -analysator. Dies liefert detaillierte, qualitative Daten über die Auslastung Ihres Netzwerks. Wenn Ihr Fokus jedoch allein auf der Überwachung der Bandbreitennutzung liegt, ist dies möglicherweise mehr, als Sie benötigen. Betrachtet man den Aufwand für die Einrichtung, wird schnell deutlich, dass dies nicht das optimale Werkzeug für diese spezifische Aufgabe ist.

SNMP

Das Simple Network Management Protocol (SNMP) ist trotz seines Namens ein komplexes System, das die Fernüberwachung, Konfiguration und Steuerung einer Vielzahl von Netzwerkgeräten ermöglicht. Für die Überwachung der Bandbreitennutzung sind jedoch keine umfassenden SNMP-Kenntnisse erforderlich. Es genügt zu wissen, dass SNMP von Überwachungswerkzeugen verwendet wird, um die Schnittstellenzähler eines Geräts auszulesen und diese Daten zur Berechnung der Bandbreitennutzung zu verwenden. Außerdem kann man auf diese Weise die Entwicklung der Nutzung über die Zeit grafisch darstellen. Im folgenden Abschnitt werden wir uns detaillierter mit den Mechanismen von SNMP auseinandersetzen, um sicherzustellen, dass Sie über ausreichend Informationen verfügen, um jedes SNMP-Netzwerküberwachungswerkzeug zu konfigurieren und zu verwenden.

SNMP im Überblick

Viele SNMP-Tutorials sind technisch orientiert und befassen sich mit MIBs und OIDs. Unserer Ansicht nach ist es jedoch nicht erforderlich, alles über SNMP zu wissen, um es nutzen zu können. Es verhält sich ähnlich wie beim Autofahren: Man muss nicht alle Details der Motorfunktion kennen, um ein Auto zu fahren. Unser Ziel ist es, Ihnen genügend Informationen zu vermitteln, damit Sie SNMP-Netzwerküberwachungswerkzeuge verstehen, verwenden und konfigurieren können, ohne Sie zu einem SNMP-Experten zu machen, was durch Erfahrung erlernt wird.

Zunächst stellt sich die Frage, wie eine Verbindung zu einem SNMP-fähigen Gerät hergestellt und authentifiziert wird. Der Prozess ist einfach, wenn auch nicht sehr sicher. Auf jedem SNMP-Gerät werden Parameter, sogenannte Community-Strings, definiert. Diese Community-Strings können als SNMP-Passwörter betrachtet werden. Üblicherweise sind zwei Community-Strings auf jedem Gerät konfiguriert: einer für den Lesezugriff und ein anderer, der es ermöglicht, einige Parameter zu ändern. Ihre Werte können frei gewählt werden, wobei die Standardwerte oft auf „öffentlich“ und „privat“ festgelegt sind. Obwohl dieses Authentifizierungsschema einfach und effizient ist, ist es nicht sicher, da die Community-Strings unverschlüsselt über das Netzwerk übertragen werden und potenziell abgefangen werden können. Dies ist einer der Gründe, warum viele Administratoren keine Community-Strings mit Schreibzugriff auf den von ihnen verwalteten Geräten konfigurieren.

Nehmen wir nun an, ein SNMP-Netzwerküberwachungssystem stellt eine Verbindung zu einem Netzwerkgerät unter Verwendung des schreibgeschützten Community-Strings her. Es gibt viele verschiedene Betriebsparameter, die aus der Ferne ausgelesen werden können. Für die Überwachung der Bandbreite sind insbesondere die sogenannten Schnittstellen-Bytezähler von Bedeutung. Für jede Netzwerkschnittstelle gibt es ein Paar dieser Zähler – einen für den eingehenden und einen für den ausgehenden Datenverkehr. Diese Zähler werden vom Gerät einfach hochgezählt, wenn Bits an einer Schnittstelle empfangen oder gesendet werden. Durch das regelmäßige Auslesen dieser Werte in bekannten Intervallen – typischerweise alle fünf Minuten – kann das Überwachungswerkzeug die Anzahl der Bits pro Zeiteinheit – normalerweise pro Sekunde – berechnen, was die Bandbreite ausdrückt.

Konkret wird dies wie folgt umgesetzt: Das Überwachungswerkzeug fragt ein Gerät ab und liest seine Zähler aus. Fünf Minuten später werden dieselben Zähler erneut gelesen. Durch Subtraktion des vorherigen Zählerwerts vom aktuellen Wert erhält man die Gesamtzahl der in den letzten fünf Minuten ein- und ausgegangenen Bytes. Es ist dann einfach, diese Zahlen mit 8 zu multiplizieren – der Anzahl der Bits in einem Byte – und das Ergebnis durch 300 zu dividieren – der Anzahl der Sekunden in fünf Minuten – um die Bandbreitennutzung in Bits pro Sekunde zu erhalten. Diese Zahlen werden typischerweise in einer Datenbank gespeichert und zur Darstellung von Auslastungsdiagrammen über die Zeit verwendet.

Einige andere SNMP-Werte können für die Netzwerküberwachung von Interesse sein. Beispielsweise gibt es Eingangs- und Ausgangsfehlerzähler der Schnittstelle. Ähnlich wie bei den ein- und ausgehenden Bytes können diese Werte verwendet werden, um die Anzahl der Fehler pro Sekunde zu berechnen. Diese Zahl gibt Aufschluss über den Zustand einer Netzwerkverbindung. Weitere relevante Metriken sind die CPU- und Speicherauslastung.

Die besten Open-Source-SNMP-Überwachungswerkzeuge

Der Markt für SNMP-Überwachungswerkzeuge ist sehr groß. Große Anbieter wie SolarWinds, Paessler AG und ManageEngine haben alle herausragende Produkte im Angebot. Aber was ist mit Open-Source-Werkzeugen? Es gibt wahrscheinlich sogar mehr Open-Source-Tools als kommerzielle. Tatsächlich ist MRTG, das erste Tool auf unserer Liste, wahrscheinlich der Vorfahre aller anderen Überwachungstools und es ist noch heute verfügbar. Lassen Sie uns sehen, welche die besten Tools sind.

1. MRTG

Wie bereits erwähnt, kann der Multi Router Traffic Grapher oder MRTG als der Urvater der SNMP-Überwachungstools betrachtet werden. Es ist immer noch weit verbreitet und existiert seit 1995. Es gibt einen Grund für diese Langlebigkeit: Es erfüllt seine Aufgabe und ist eine völlig kostenlose Open-Source-Plattform. Es ist vielleicht nicht das eleganteste Werkzeug und seine Benutzeroberfläche zeigt Alterserscheinungen, aber es ist möglicherweise das flexibelste. MRTG kann neben der Bandbreite viele Parameter überwachen. Es kann jeden SNMP-Parameter und mehr überwachen, protokollieren und grafisch darstellen. Es ist zwar nicht das benutzerfreundlichste Überwachungssystem, aber möglicherweise das flexibelste. Die Tatsache, dass es das erste Überwachungssystem ist und immer noch existiert, ist ein Beweis für seinen Wert.

Die beiden Hauptkomponenten von MRTG sind ein Perl-Skript, das SNMP-Daten von Zielgeräten ausliest, und ein C-Programm, das die Daten übernimmt, sie in einer Round-Robin-Datenbank speichert und Webseiten mit Diagrammen zur Bandbreitennutzung erstellt. Die Tatsache, dass der Großteil des Systems in Perl geschrieben und Open Source ist, bedeutet, dass jeder die Software an seine spezifischen Bedürfnisse anpassen kann. Die anfängliche Einrichtung und Konfiguration ist möglicherweise etwas komplizierter als bei einigen ausgefeilteren Überwachungssystemen, aber die Dokumentation ist leicht zugänglich.

Für die Installation von MRTG ist es erforderlich, Perl zu installieren und zu konfigurieren. Ohne Perl funktioniert es nicht. MRTG kann auch als Windows-Dienst anstelle einer Anwendung ausgeführt werden, was jedoch einige fortgeschrittene Manipulationen einschließlich einiger Änderungen in der Registrierung erfordert. Nach der Installation wird MRTG konfiguriert, indem seine Konfigurationsdatei in guter alter *nix-Manier bearbeitet wird. Administratoren, die an die GUI-Konfiguration gewöhnt sind, könnten hier auf eine Lernkurve stoßen. MRTG wird am besten direkt von der Website des Entwicklers heruntergeladen. Es ist als .zip-Datei für Windows oder als Tarball für Linux verfügbar. Die aktuelle stabile Version ist 2.17.7, die im Juli letzten Jahres veröffentlicht wurde. Das Tool wird immer noch aktiv weiterentwickelt und es werden kleinere Releases pro Jahr veröffentlicht.

2. Cacti

Man könnte Cacti als MRTG auf Steroiden bezeichnen. Wenn Sie sich eine der Grafiken von Cacti ansehen, werden Sie eine verblüffende Ähnlichkeit mit MRTG feststellen. Das ist keine Überraschung, da Cacti auf RRDTools aufbaut, das vom selben Entwickler stammt und ein direkter Nachkomme von MRTG ist. Mehr dazu gleich.

Cacti ist ausgefeilter als MRTG, mit einer webbasierten Konfigurationsschnittstelle, die die Konfiguration einfacher und intuitiver macht. Es ist ein komplettes Netzwerküberwachungs- und Grafikpaket. Das Tool verfügt über einen schnellen Poller, einige erweiterte Geräte- und Diagrammvorlagen, verschiedene Erfassungsmethoden und Benutzerverwaltungsfunktionen. Es eignet sich hervorragend für kleinere LAN-Installationen, kann aber problemlos auf komplexe Netzwerke mit Tausenden von Geräten an mehreren Standorten skaliert werden.

Um Cacti besser zu verstehen, muss man mehr über RRDtool wissen. Laut seinem Entwickler ist RRDtool ein Open-Source-Industriestandard, ein hochleistungsfähiges System zur Datenerfassung und grafischen Darstellung von Zeitreihendaten. RRDtool lässt sich einfach in Shell-Skripte, Perl-, Python-, Ruby-, Lua- oder Tcl-Anwendungen integrieren. Wenn Sie sich erinnern, dass MRTG ein C-Programm zur Datenspeicherung und grafischen Darstellung verwendet, so ist RRDTool die Weiterentwicklung dieses C-Programms.

Kurz gesagt, Cacti ist lediglich ein Frontend für RRDTool. Es speichert die notwendigen Daten zur Diagrammerstellung und füllt diese mit Daten aus einer MySQL-Datenbank. Die Software verwaltet ihre Grafiken, Datenquellen und Round-Robin-Archive in einer Datenbank und übernimmt auch die Datenerfassung. Die grafische Darstellung wird RRDTool überlassen. Cacti ist eine Stufe höher als MRTG. Viele Cacti-Benutzer sind ehemalige MRTG-Benutzer. Ich persönlich bin zu Cacti gewechselt, als ich MRTG durch ein benutzerfreundlicheres Tool ersetzen musste, da das von mir verwaltete Netzwerk immer weiter wuchs.

3. LibreNMS

LibreNMS ist eine Open-Source-Portierung von Observium, einer sehr leistungsfähigen kommerziellen Netzwerküberwachungsplattform. Es ist ein voll funktionsfähiges Netzwerküberwachungssystem, das eine Fülle von Funktionen und Geräteunterstützung bietet. Zu den herausragenden Funktionen gehört die automatische Erkennungsengine. Es verlässt sich nicht nur auf SNMP zur Geräteerkennung. Es kann Ihr gesamtes Netzwerk mithilfe von CDP, FDP, LLDP, OSPF, BGP, SNMP und ARP automatisch erkennen. In Bezug auf die Automatisierungsfunktionen des Tools bietet es auch automatische Updates, sodass es immer auf dem neuesten Stand bleibt.

Ein weiteres bemerkenswertes Merkmal des Produkts ist sein hochgradig anpassbares Alarmierungsmodul. Es ist sehr flexibel und kann Warnmeldungen über verschiedene Technologien senden, wie E-Mail, aber auch über IRC, Slack und weitere Kanäle. Wenn Sie ein Dienstanbieter sind oder Ihre Organisation den Abteilungen die Netzwerknutzung in Rechnung stellt, wird Ihnen die Abrechnungsfunktion des Tools zusagen. Es kann Bandbreitenrechnungen für Segmente eines Netzwerks basierend auf Nutzung oder Übertragung erstellen.

Für größere Netzwerke und verteilte Organisationen ermöglichen die verteilten Polling-Funktionen von LibreNMS eine horizontale Skalierung, die mit Ihrem Netzwerk wächst. Eine vollständige API ist ebenfalls enthalten, die die Verwaltung, grafische Darstellung und den Abruf von Daten von Ihrer Installation ermöglicht. Schließlich sind mobile Apps für iPhone und Android verfügbar, was eine ziemlich einzigartige Funktion bei Open-Source-Tools ist.

4. Icinga

Icinga ist eine weitere Open-Source-Überwachungsplattform. Es hat eine einfache und übersichtliche Benutzeroberfläche und, was noch wichtiger ist, einen Funktionsumfang, der mit einigen kommerziellen Produkten mithalten kann. Wie die meisten Bandbreitenüberwachungssysteme verwendet auch dieses SNMP, um Daten zur Bandbreitennutzung von Netzwerkgeräten zu sammeln. Ein Bereich, in dem sich Icinga besonders auszeichnet, ist die Nutzung von Plugins. Es gibt Tausende von von der Community entwickelten Plugins, die verschiedene Überwachungsaufgaben ausführen und dadurch die Funktionalität des Produkts erweitern. Und für den unwahrscheinlichen Fall, dass Sie kein passendes Plugin finden, können Sie selbst eines entwickeln und es der Community zur Verfügung stellen.

Auch die Alarmierungs- und Benachrichtigungsfunktionen von Icinga sind bemerkenswert. Warnungen sind vollständig konfigurierbar hinsichtlich dessen, was sie auslöst und wie sie übermittelt werden. Das Tool verfügt auch über eine segmentierte Benachrichtigungsfunktion. Diese Funktion ermöglicht es, einige Benachrichtigungen an eine Gruppe von Benutzern und andere Benachrichtigungen an andere Personen zu senden. Dies ist besonders nützlich, wenn Sie verschiedene Systeme überwachen, die von verschiedenen Teams verwaltet werden. So wird sichergestellt, dass Warnungen an die richtige Gruppe gesendet werden.

5. Zabbix

Zabbix ist ein weiteres kostenloses Open-Source-Produkt, das jedoch ein professionelles Erscheinungsbild bietet, wie man es von kommerziellen Produkten erwarten würde. Das ansprechende Erscheinungsbild seiner Benutzeroberfläche ist aber nicht der einzige Vorteil. Das Produkt bietet einen beeindruckenden Funktionsumfang. Neben Netzwerkgeräten werden auch die meisten mit dem Netzwerk verbundenen Geräte überwacht. Es ist eine ausgezeichnete Wahl für alle, die neben der Netzwerkbandbreitennutzung auch Server überwachen möchten.

Zabbix verwendet neben SNMP auch das Intelligent Platform Monitoring Interface (IMPI) zur Geräteüberwachung. Mit der Software können Sie die Bandbreite, die CPU- und Speicherauslastung des Geräts, den allgemeinen Zustand und die Leistung sowie Konfigurationsänderungen überwachen – eine ziemlich einzigartige Funktion in dieser Liste. Dieses Tool kann mehr als nur die Überwachung der Netzwerkbandbreite. Es verfügt auch über ein beeindruckendes und vollständig anpassbares Warnsystem, das nicht nur E-Mail- oder SMS-Benachrichtigungen sendet, sondern auch lokale Skripte ausführt, die einige Probleme automatisch beheben können.