IT Monitoring mit SNMP

SNMP (Simple Network Management Protocol) ist ein De-facto-Standard im IT-Monitoring, vor allem bei der Netzwerküberwachung. Viele Geräte unterstützen SNMP und bieten somit eine standardisierte Möglichkeit, Überwachungsdaten bereitzustellen. Viele Monitoring-Lösungen verwenden daher SNMP als eine Option zur Überwachung.

Was ist SNMP?

SNMP (Simple Network Management Protocol) ist eines der am häufigsten verwendeten Monitoring-Protokolle für Netzwerkgeräte. Der Standard erlaubt die Überwachung, Fernsteuerung und Fernkonfiguration von Geräten in einem Netzwerk. Er ermöglicht außerdem eine Fehlererkennung und Fehlerbenachrichtigung.

Obwohl es bereits Ende der 80er Jahre entwickelt wurde, ist SNMP aufgrund seiner Einfachheit noch heute weit verbreitet und wird von vielen Komponenten unterstützt: Eine zentrale Management-Einheit tauscht Informationen über Netzwerkpakete mit dem SNMP-Agenten auf dem jeweiligen Netzwerkgerät aus. Das Protokoll beschreibt hierbei den Aufbau der Datenpakete und den genauen Ablauf der Kommunikation zwischen Manager und Agenten.

Services einer Firewall in Checkmk

SNMP auf einem Blick

Icon flexible

Einfache Abfrage von Monitoring-Daten

SNMP hilft Ihnen dabei, Informationen von Ihren Geräten im Netzwerk abzufragen. Da viele Hardware-Hersteller das Protokoll unterstützen, können Sie so Daten von Switches, Routern, USVs, NAS-Geräten, Druckern etc. abfragen und für Ihr IT-Monitoring verwenden.

Icon network monitoring

Für kleine und große Infrastrukturen geeignet

Dank SNMP kann eine Monitoring-Lösung Daten von verschiedenen Geräten abrufen – etwa die CPU-Last der Firewall, den Tonerstand des Netzwerkdruckers, die Temperatur im Server-Raum oder alle Informationen zu den Schnittstellen eines Switches. Dadurch lässt sich mit SNMP sowohl ein umfangreiches Monitoring in kleinen Netzwerkumgebungen als auch in großen Infrastrukturen mit vielen unterschiedlichen Komponenten aufsetzen.

Icon configuration

Unkompliziertes Monitoring

Da die meisten Hersteller die Installation von Drittanbieter-Software auf ihren Geräten nicht zulassen, bietet Ihnen SNMP die Möglichkeit, sämtliche Geräte in Ihrer Infrastruktur zu überwachen. Für das Monitoring mit dem Standard müssen Sie keinen zusätzlichen Monitoring-Agenten auf der Hardware installieren.

IT-Infrastruktur mit SNMP überwachen

Graphen veranschaulichen die Entwicklung von Bandbreiten

Die über SNMP abrufbaren Daten eignen sich, um Informationen über den Zustand der Geräte im Netzwerk zu erhalten und lassen sich somit ideal für das IT-Monitoring verwenden. So behalten Sie die wichtigsten Parameter Ihrer Switches, Access Points, Router, aber auch Ihrer Appliances, Hardware-Sensoren, Drucker oder anderen Netzwerkkomponenten mit einem SNMP-Monitoring im Blick.

Die Monitoring-Lösung agiert hierbei als die zentrale Einheit, die Daten von den SNMP-Agenten auf den zu überwachenden Geräten gezielt abruft oder als Empfänger von Ereignismeldungen dient. Das Monitoring über SNMP wird trotz dieser Agenten als agentenloses Monitoring bezeichnet. Dies liegt daran, dass die Hersteller auf ihren SNMP-Geräten das Protokoll bereits implementiert haben und der Administrator daher keine zusätzliche Software, also einen Agenten für die Bereitstellung der Monitoring-Daten, auf dem Gerät installieren muss.

Das hat den Vorteil, dass sich die benötigten Informationen über SNMP einfach abrufen lassen, ohne dass der Hersteller weitere Zugriffsrechte auf dem Gerät gewähren muss. Ebenso ist die Einrichtung des Monitorings über SNMP in der Regel relativ einfach.

Setzten Sie dagegen auf die Monitoring-Agenten eines Überwachungs-Tools, müssen Sie diese Agenten auf einem System installieren und verwalten. Je nach Überwachungs-Tool ist die Arbeit mit Agenten mehr oder weniger aufwendig. Allerdings bringt der Einsatz von Agenten auch einige Vorteile. Vor allem beim Server-Monitoring bieten Agenten tiefgreifendere Einblicke in die Betriebssystem- und Applikationsebene der überwachten Plattform und benötigen dafür sogar weniger Ressourcen.


Welche Varianten gibt es beim SNMP-Monitoring

Die Überwachung von IT-Komponenten kennt zwei Spielarten: Aktive Anfragen, sogenannte SNMP-Polls, und durch Ereignisse ausgelöste Meldungen, die SNMP-Traps. Beim SNMP-Polling sendet die Monitoring-Lösung eine Anfrage an das jeweilige Gerät mit der Bitte, bestimmte Daten zu liefern. Daraufhin antwortet das Gerät dann in der Regel mit einem Paket, das die Daten oder eine Fehlermeldung enthält. Für die Paketübermittlung verwendet SNMP UDP (User Datagram Protocol). Die SNMP-Agenten empfangen die UDP-Anfrage durch die Monitoring-Lösung über den Port 161. Das Versenden der Anfrage durch die Monitoring-Lösung kann von einem beliebigen Port aus erfolgen.

Bei SNMP-Traps handelt es sich um spontane Meldungen, die Geräte an konfigurierte Adressen versenden, wenn ein Event auftritt. Das Versenden und der Empfang von SNMP-Traps erfolgen über den Port 162. Gegenüber aktiven SNMP-Anfragen haben Traps aber einige Nachteile. So sind die Traps unzuverlässig, da es für die versendeten UDP-Pakete keine Empfangsbestätigung gibt und es somit nicht auffällt, wenn ein Paket verloren geht. Darüber hinaus versenden Traps nur Fehlermeldungen, aber keine Recovery-Meldungen, sodass der aktuelle Monitoring-Status unklar ist. Ein weiterer Nachteil ist die mögliche Flut an Traps, die das Monitoring überlasten kann, sollte ein zentraler Bestandteil der Infrastruktur ausfallen. Außerdem muss der Administrator alle Geräte neu konfigurieren, wenn sich die IP-Adresse des Trap-Empfängers ändert.

Häufig sind SNMP-Traps daher eine Ergänzung zum Monitoring mit aktiven SNMP-Anfragen. Eine gute Monitoring-Lösung sollte auch in der Lage sein, beide Spielarten zu bewältigen, das aktive Abfragen der Monitoring-Daten und das ereignisbasierte Monitoring über SNMP-Traps.


Was für SNMP-Versionen gibt es

SNMP wurde über die Jahrzehnte immer wieder weiterentwickelt, sodass es heute verschiedene Versionen gibt, die jedoch nicht miteinander kompatibel sind. Daher ist es notwendig, die verwendete Protokollversion auf dem Gerät im Monitoring-System entsprechend anzupassen. Nach unserer Erfahrung kommt in der Praxis jedoch in 99 Prozent der Fälle v2c zum Einsatz. SNMP v2c ermöglicht Bulk-Abfragen, die das Monitoring signifikant beschleunigen, und verfügt zudem über 64-Bit-Counter, die für die Überwachung von Switch-Ports mit 1 Gbit/s und mehr essenziell sind. Sicherheitstechnisch ist SNMP v2c auf dem Stand von SNMP v1. Das c im Namen steht für Community, was bei SNMP der Rolle eines Zugangspassworts einnimmt.

SNMP v1 kommt hingegen auf alten Geräten oder auf Geräten zum Einsatz, die v2c nicht unterstützen oder deren v2c-Unterstützung fehlerhaft ist. Wobei es durchaus sein kann, dass Geräte mit einer fehlerhaften v2c-Implementierung ohne Bulkwalk funktionieren können.

Eine weitere SNMP-Version ist SNMP v2. Es verfügt im Vergleich zu v2c noch über zusätzliche Sicherheitsfunktionen. SNMP v2 findet in der Praxis eigentlich keine oder kaum Verwendung. Mit SNMP v3 gibt es zudem noch eine weitere, gängige Version des Protokolls, die dann zum Einsatz kommt, wenn der SNMP-Datenverkehr verschlüsselt werden soll. Der Datenverkehr ist bei den SNMP-Versionen v1 und v2c inklusive des Community Strings im Klartext – also ohne Verschlüsselung. Da SNMP v3 aufgrund der Verschlüsselung deutlich mehr Rechenleistung benötigt und sich auch der Aufwand bei der Konfiguration des Monitorings deutlich erhöht, ist diese SNMP-Version ebenfalls weniger verbreitet.

Live-Webinar: Einführung in Checkmk

Live-Webinar: Einführung in Checkmk

Wie funktioniert SNMP?

Die Einrichtung eines SNMP-Monitorings sollte sich normalerweise mit wenig Aufwand bewältigen lassen. Gerade Netzwerkgeräte haben oft einen SNMP-Agenten installiert, den Sie bei der Konfiguration der Geräte nur noch aktiveren müssen. Hierzu muss das zu überwachende Gerät für aktive Anfragen (SNMP GET) sowie SNMP für lesende Anfragen konfiguriert werden.

Anschließend können Sie diese Geräte in einer IT-Monitoring-Lösung als Hosts in das Monitoring aufnehmen. Neben der richtigen SNMP-Version müssen Sie dabei noch die Community, eine Art Zugangspasswort, angeben. Auf den meisten Geräten sollte die Community standardmäßig public sein.

Von der Verwendung von unterschiedlichen Communities – zumindest von Geräten in einer Netzwerkumgebung – raten wir ab, da diese das Monitoring nur unnötig komplex machen.

Services eines Switches, der über SNMP mit Checkmk überwacht wird

Ist der Host angelegt, kann die Monitoring-Lösung nun die Services auf dem Gerät über SNMP abrufen. Dies kann beispielsweise über einen kompletten Abzug aller SNMP-Daten (SNMP Walk) erfolgen, was jedoch den Nachteil hat, dass dieser Vorgang bei einigen Geräten mehrere Stunden dauern könnte.

Checkmk zum Beispiel geht daher bei der Service-Erkennung anders vor: Es ruft mit sysDescr und sysObjectID die allerersten Datensätze (OIDs) auf einem Gerät auf. Basierend auf diesen Informationen erfolgen je nach Bedarf weitere Abfragen. Anhand der erhaltenen Ergebnisse entscheidet die Software anschließend, ob das Gerät eines der über 1.000 mitgelieferten SNMP-Plugins unterstützt. Ein Plugin ist eine Erweiterung des Monitoring, die dafür sorgt, dass Informationen als Services in das Monitoring übertragen werden. Unterstützen mitgelieferte Plugins das zu überwachende Gerät, zieht Checkmk sie für die eigentliche Service-Erkennung heran.

Die Plugins rufen im nächsten Schritt nun per örtlich begrenzter SNMP-Abfragen gezielt die Daten ab, die sie für die zu überwachenden Services benötigen. Bei den Daten handelt es sich um die gleichen Daten, die später auch regelmäßig für das Monitoring der Geräte herangezogen werden.

Volume Berlin - 94.5% used
Volume Munich - 87.8% used
Diagnosis Status - ok
CPU utilization - 8.1% used
CPU1 - Intel Xeon 1.80GHz
Temperature CPU1 - 45.0 °C
Power Consumption - 70 Watt
Physical Disk 0:1:0 - Offline
CPU utilization - 40% utilization
Power Supply - Normal
Interface 001 - Up
Interface Uplink-Rack 18 - Down
Input Phase 1 - 231.4V, 13.4 A
Output Phase 1 - 230.7V, 19.6 A
UPS Alarms - No alarms
Battery Charge - On mains

Welche Rolle spielen OIDs und MIBs bei SNMP?

Um die Funktionsweise von SNMP vollständig verstehen zu können, muss man sich auch die Rolle von OIDs (Object Identifier) und MIBs (Management Information Base) ansehen. Sie sorgen dafür, dass das Monitoring-Tool die richtigen Daten auf dem Gerät abfragen kann. Dabei handelt es sich zum Beispiel um Informationen über die Bandbreite eines Switch-Ports, den Status eines Lüfters in einem Server, der CPU-Load auf einer Firewall oder den Toner-Stand in einem Drucker. Jede einzelne dieser Informationen behandelt SNMP als ein Objekt, das einem einzigartigen Identifier zugeordnet ist. Diese eindeutige Zuordnung wird OID genannt.

Eine OID ist letztendlich eine lange Zahlensequenz, die durch Punkte getrennt ist. Die OIDs sind in einer hierarchischen Ordnung in einer Baumstruktur angelegt. Die meisten Teile des Baums sind standardisiert, sodass sich spezielle Informationen über ein Gerät immer unter dem gleichen Zweig befinden sollten. Zudem besteht die Möglichkeit, dass jeder Hersteller eigene, produktspezifische OIDs in einem Unterverzeichnis definiert.

Um OIDs auszulesen benötigt man die MIB. Sie liefert Namen, Definitionen und Beschreibungen für die Objekte, die sich hinter den Zahlensequenzen befinden. Da viele Hardwarehersteller ihr eigenes OID-Zahlenmuster verwenden, benötigt man die dazugehörige MIB, um die Zahlen verstehen und übersetzen zu können.

Exemplarischer OID-Baum eines Cisco-Geräts

Die Vorteile von SNMP

Graphische Darstellung von verschiedenen Services eines Switches in Checkmk

Die große Stärke von SNMP ist es, dass Sie mit einem leistungsstarken SNMP-Monitoring-Tool relativ einfach Daten von sämtlichen Geräten in Ihrem Netzwerk abrufen können – sofern diese SNMP unterstützen. Neben Informationen zum Gesundheitszustand eines Geräts erhalten Sie mit SNMP zudem Gehäuse-Daten, etwa zur Kühlung, zur Spannung oder zu Temperatursensoren. Diese über SNMP abrufenbaren Daten spielen dadurch auch beim Server-Monitoring eine wichtige Rolle.

Da sich in jeder Netzwerkinfrastruktur eine Vielzahl an unterschiedlichen Gerätetypen, etwa Switches, Drucker, USVs, IoT-Sensoren oder Gateways befinden, erhalten Sie auf diese Weise einen schnellen Überblick über den Zustand Ihrer IT. Es erlaubt ihnen auch, diese in den richtigen Kontext zu setzen, Probleme zu identifizieren und basierend auf den Monitoring-Daten Entscheidungen zu treffen – und all dies unabhängig von der Größe Ihrer Netzwerkumgebung.

In Kombination mit einem SNMP-kompatiblen Monitoring-Tool, das Sie bei der Netzwerküberwachung via SNMP unterstützt, sind Sie außerdem in der Lage, mit Hilfe von Dashboards einen Überblick über den Zustand Ihrer Netzwerkumgebung zu erhalten und mögliche Leistungsengpässe sofort zu identifizieren. Ferner kann es Ihnen dabei helfen, Ihre Umgebung sinnvoll zu strukturieren, Schwellwerte für Alarmierungen zu setzen, um so eine Benachrichtigung bei einem Problem zu erhalten, sowie Berichte zu erstellen und Statistiken einzusehen.

Live-Webinar: Einführung in Checkmk

Live-Webinar: Einführung in Checkmk

Probleme und Nachteile von SNMP

SNMP ermöglicht zwar das Aufsetzen eins umfangreichen Monitorings von Netzwerkgeräten mit verhältnismäßig geringem Aufwand. Dennoch treten immer wieder Probleme auf. Wie bereits erwähnt, kann das Monitoring bei Geräten, die nur SNMP-Traps versenden, schnell zu einem Problem beim Netzwerk-Monitoring führen, da die als UDP-Pakete versendeten Traps verloren gehen können. Dadurch bleibt ein aufgetretenes Problem möglicherweise unerkannt. Ebenso ist es nicht ideal, wenn ein wichtiger Upstream-Dienst ausfällt und das Monitoring-System anschließend unter der Flut von Trap-Meldungen in die Knie geht – sofern die Lösung kein integriertes System für die Verarbeitung von SNMP-Traps hat.

Aber auch das Monitoring mit SNMP-Pollings verläuft nicht immer reibungslos. Häufig liegt es daran, dass die Hersteller bei der Implementierung des Standards auf ihren Geräten bestimmte Teile des Protokolls nicht oder falsch umgesetzt haben und der Agent dadurch falsche oder fehlerhafte Daten liefert – oder die Anfrage in einen Timeout läuft. Ist dies der Fall, muss der Administrator händisch nachjustieren, um die falsche oder fehlerhafte Information aus dem Monitoring zu nehmen. Dies lässt sich umgehen, wenn das eingesetzte Monitoring-Tool in den meisten Fällen schon weiß, welche Werte falsch sind und die Fehlinformationen automatisch ignoriert, wie es zum Beispiel bei Checkmk der Fall ist.

Auch das Server-Monitoring via SNMP beschränkt sich zum Großteil auf die Hardware-Daten. Informationen zum Betriebssystem oder Applikationen auf dem Server liefert das Protokoll nur eingeschränkt oder gar nicht.

Ferner kann sich SNMP vor allem in Umgebungen mit vielen Hosts deutlich auf die Performance des Monitorings niederschlagen, sodass Anfragen nur sehr langsam sind und/oder in ein Timeout laufen. Im Vergleich zu unseren Checkmk-Agenten verbraucht das Monitoring mit SNMP beispielsweise deutlich mehr CPU und Arbeitsspeicher. Da aber häufig kein Weg an SNMP beim Netzwerk-Monitoring vorbeiführt, haben wir zum Beispiel in unserer Checkmk Enterprise Edition eine SNMP-Engine integriert, die den CPU-Verbrauch halbiert.

Testen Sie die Checkmk Enterprise Free Edition


Laden Sie noch heute die neueste Version der Checkmk Enterprise Free Edition herunter und erleben Sie sie in Aktion.