alphaspirit - stock.adobe.com

Performance Monitoring: Streaming-Telemetrie versus SNMP

Netzwerke übernehmen immer mehr kritische Aufgaben, wodurch die Komplexität steigt. SNMP muss sich daher beim Performance Monitoring der Streaming-Telemetrie geschlagen geben.

Zu wissen, was im Netzwerk passiert, ist entscheidend für einen erfolgreichen Netzwerkbetrieb. Das ist ein Hauptgrund, weshalb Streaming-Telemetrie immer mehr zu einem unverzichtbaren Tool für Sicherheit, Troubleshooting und Performance Monitoring wird.

Netzwerkbetreiber stehen vor dem Problem, dass Legacy-Protokolle, zum Beispiel das Simple Network Management Protocol (SNMP), nicht robust genug sind, um große Hochleistungsnetzwerke zu überwachen. SNMP ist zwar nicht tot, aber Streaming-Telemetrie dürfte wohl eine bessere Option sein.

Unter Netzwerktelemetrie versteht man die Erfassung bestimmter Daten von Netzwerkgeräten, in der Regel für Alerting und diverse Analysezwecke. Bis vor kurzem dienten dazu SNMP-Polling, Syslog-Meldungen oder NetFlow Collection. Beispielsweise kann SNMP-Polling ein Network Operations Center alarmieren, dass eine Switch-Schnittstelle ausgefallen ist oder die CPU-Auslastung einer Firewall über 90 Prozent liegt.

SNMP gibt es seit mehr als 30 Jahren und gehört zu den ersten Protokollen, die entwickelt wurden, um Netzwerkgeräte zu überwachen. Seine flächendeckende Verfügbarkeit bedeutet, dass viele populäre Monitoring Tools SNMP nutzen, um Netzwerkinformationen zu sammeln und strukturiert darzustellen. SNMP besitzt allerdings auch Nachteile, die die Entwicklung neuer Methoden für das Netzwerk-Monitoring vorangetrieben haben.

Warum SNMP nicht der beste Ansatz ist

Erstens arbeitet SNMP primär als Pull-Funktion. Das heißt, ein SNMP-Kollektor, also eine Netzwerk-Monitoring-Station, initiiert die Kommunikation mit einem Gerät, um Informationen von OIDs (Object Identifier) abzurufen. Der SNMP-Kollektor stellt, basierend auf einem Zeitplan, eine Anfrage. Das betreffende Netzwerkgerät verarbeitet diese Anfrage und sendet eine Antwort zurück. Aus diesem Grund werden SNMP-Kollektoren auch als Polling-Stationen bezeichnet.

In einem großen Netzwerk, in dem Switches, Router und Firewalls extrem ausgelastet sind, kann häufiges SNMP-Polling viele Ressourcen des abgefragten Geräts binden. Bei einem zu häufigen Polling kann die erzeugte Last für das Netzwerkgerät zu groß sein.

Noch wichtiger aber ist, dass dadurch SNMP-Timeouts entstehen können, was die Fähigkeit der Monitoring-Station einschränkt, Geräte zu überwachen. Das mag für einige Werte kein Problem sein, etwa das Abrufen der durchschnittlichen Bandbreite alle 10 Minuten. Doch da die Performance der heutigen Netzwerke exponentiell wächst, sind Sichtbarkeitslücken von mehreren Sekunden – oder gar Minuten – oft nicht akzeptabel.

Zweitens liefert SNMP einen Zeitstempel nur für den Moment, wenn ein Gerät abgefragt wird, und nicht, wenn ein Ereignis auf dem Netzwerkgerät stattgefunden hat. Bei vielen Geräten mit starker Auslastung führt dies zu Ungenauigkeiten in den erfassten Daten.

Andererseits kann SNMP auch Informationen an Kollektoren senden. SNMP-Traps können von einem Gerät selbst erzeugt werden, wenn ein Ereignis stattfindet. Der Trap wird an das Network Monitoring System (NMS) gesendet, und SNMP kann auf diese Weise eine Art von ereignisgetriebener Telemetrie bieten.

Allerdings sind SNMP-Traps nicht zuverlässig. Ein SNMP-Trap wird als einzelnes UDP-Paket (User Datagram Protocol) an das NMS geschickt, ein unzuverlässiger Weg der Informationsübermittlung. Eine einzelne UDP-Nachricht, die das NMS alarmiert, dass etwas Grundlegendes im Netzwerk schieflaufen könnte, würde noch nicht einmal vom Empfänger bestätigt werden.

Zu guter Letzt ist SNMP ineffizient. Obwohl SNMP etwas Granularität für sein Monitoring ermöglicht, geschieht die Datenerfassung alles andere als granular. Zum Beispiel lässt sich SNMP-Polling nutzen, um den Schnittstellenstatus zu überprüfen. Wenn das Polling-Intervall eine Minute beträgt und seit einiger Zeit keine Schnittstellen ausgefallen sind, antwortet das Gerät dem NMS jede Minute, dass alles funktioniert. Das ist Ressourcenverschwendung – sowohl für das betreffende Gerät als auch das Netzwerk insgesamt.

Netzwerk-Performance-Monitoring: So klappt es besser

Streaming-Telemetrie löst diese Probleme und wird schnell zur bevorzugten Methode, um die Vorgänge insbesondere in größeren Hochleistungsnetzwerken zu überwachen. Anders als Polling ist Streaming-Telemetrie ereignisgetrieben und wird vom lokalen Gerät initiiert. Infolgedessen ist das Gerät nicht gezwungen, auf Anfragen von mehreren Polling-Stationen zu antworten.

Außerdem kann Streaming-Telemetrie Netzwerkdaten senden, sobald ein Ereignis auftritt. Obwohl sich das grundsätzlich auch mit SNMP realisieren lässt, besteht der entscheidende Unterschied darin, dass Streaming-Telemetrie dazu TCP/IP statt UDP verwendet. TCP garantiert die erfolgreiche Zustellung und Mechanismen, um die Datenübertragung zu optimieren. Bereits diese Verbesserung liefert eine verlässlichere Ansicht des Netzwerks in Echtzeit. SNMP hingegen bietet lediglich einen 5-Minuten-Snapshot.

Streaming-Telemetrie arbeitet nicht Polling-basiert, sondern abonnementbasiert. Anstatt mehrerer Polling-Stationen, die Anfragen an das gleiche Netzwerkgerät stellen, abonniert ein Netzwerkgerät ein oder mehrere Netzwerk-Managementsysteme. Es erstellt dann nur einen Datensatz, der an alle Kollektoren gesendet wird.

Da die Geräte Netzwerkereignisse zuverlässig in Echtzeit kommunizieren können, entsteht mit Streaming-Telemetrie ein sehr viel genaueres Bild des Netzwerks. Das ist ein direkter Vorteil für den Netzwerkbetrieb, weil das Alerting sofort nach einem Ereignis passiert. Netzwerkbetreiber können Probleme deutlich schneller lösen, was die Mean Time To Resolution oder Mean Time To Repair (MTTR) reduziert. Wenn Streaming-Telemetrie Teil eines umfangreicheren Continuous Integration/Continuous Delivery Workflows ist, kann sie eine automatisierte Problembehebung auslösen.

Ein Netzwerkgerät streamt seine Informationen mithilfe von Datenmodellen, um Netzwerkinformationen zu strukturieren, die generell unstrukturiert vorliegen. YANG zum Beispiel ist ein gängiges Datenmodell, das von Geräten genutzt wird, um Informationen über NETCONF oder RESTCONF zu einem Kollektor zu übertragen. Dies setzt voraus, dass das Netzwerkgerät diese Protokolle unterstützt, was in vielen Legacy-Netzwerken kaum der Fall sein dürfte.

Trotz aller Vorteile, die Streaming-Telemetrie bietet, ist SNMP nicht tot. Es ist ein altbewährtes Protokoll, das in kleineren Netzwerken durchaus nützlich ist. Obwohl es viele Einschränkungen hat, ist SNMP das zugrunde liegende Protokoll für viele solide Monitoring Tools. Da Netzwerke jedoch immer komplexer werden und die Performance-Anforderungen weiter steigen, kann SNMP nicht mehr mithalten.

Heute, mit der Verbreitung von On-Box- und Off-Box-Programmier-Tools, bieten sich durch die Bereitstellung dieses Telemetrietyps neue Möglichkeiten, um genau zu wissen, was in Echtzeit im Netzwerk vor sich geht. Die Einschränkungen von SNMP gehören damit der Vergangenheit an.

Nächste Schritte

Anwendungsfälle für Netzwerk-Monitoring-Systeme

Performance Monitoring für automatisierte Netzwerke

Netzwerk-Performance aktiv oder passiv überwachen?

Erfahren Sie mehr über Netzwerksoftware