Überwachung von Netzwerkgeräten über SNMPv3 in Zabbix

Dieser Artikel ist den Funktionen der Überwachung von Netzwerkgeräten mithilfe des SNMPv3-Protokolls gewidmet. Wir werden über SNMPv3 sprechen, ich werde meine Erfahrungen bei der Erstellung vollwertiger Vorlagen in Zabbix teilen und ich werde zeigen, was erreicht werden kann, wenn man verteilte Alarme in einem großen Netzwerk organisiert. Das SNMP-Protokoll ist das wichtigste Protokoll bei der Überwachung von Netzwerkgeräten, und Zabbix eignet sich hervorragend zur Überwachung einer großen Anzahl von Objekten und zur Zusammenfassung großer Mengen eingehender Metriken.

Ein paar Worte zu SNMPv3

Beginnen wir mit dem Zweck des SNMPv3-Protokolls und den Funktionen seiner Verwendung. Die Aufgaben von SNMP bestehen in der Überwachung von Netzwerkgeräten und der grundlegenden Verwaltung durch Senden einfacher Befehle an sie (z. B. Aktivieren und Deaktivieren von Netzwerkschnittstellen oder Neustarten des Geräts).

Der Hauptunterschied zwischen dem SNMPv3-Protokoll und seinen Vorgängerversionen sind die klassischen Sicherheitsfunktionen [1-3], nämlich:

  • Authentifizierung, die feststellt, dass die Anfrage von einer vertrauenswürdigen Quelle empfangen wurde;
  • Verschlüsselung (Verschlüsselung), um die Offenlegung der übertragenen Daten zu verhindern, wenn diese von Dritten abgefangen werden;
  • Integrität, also eine Garantie dafür, dass das Paket während der Übertragung nicht manipuliert wurde.

SNMPv3 impliziert die Verwendung eines Sicherheitsmodells, bei dem die Authentifizierungsstrategie für einen bestimmten Benutzer und die Gruppe, zu der er gehört, festgelegt wird (in früheren Versionen von SNMP verglich die Anfrage vom Server an das Überwachungsobjekt nur „Community“, einen Text). Zeichenfolge mit einem „Passwort“, das im Klartext (Klartext) übertragen wird.

SNMPv3 führt das Konzept der Sicherheitsstufen ein – akzeptable Sicherheitsstufen, die die Konfiguration von Geräten und das Verhalten des SNMP-Agenten des Überwachungsobjekts bestimmen. Die Kombination aus Sicherheitsmodell und Sicherheitsstufe bestimmt, welcher Sicherheitsmechanismus bei der Verarbeitung eines SNMP-Pakets verwendet wird [4].

Die Tabelle beschreibt Kombinationen von Modellen und SNMPv3-Sicherheitsstufen (ich habe mich entschieden, die ersten drei Spalten wie im Original zu belassen):

Überwachung von Netzwerkgeräten über SNMPv3 in Zabbix

Dementsprechend werden wir SNMPv3 im Authentifizierungsmodus mit Verschlüsselung verwenden.

SNMPv3 konfigurieren

Für die Überwachung von Netzwerkgeräten ist die gleiche Konfiguration des SNMPv3-Protokolls sowohl auf dem Überwachungsserver als auch auf dem überwachten Objekt erforderlich.

Beginnen wir mit der Einrichtung eines Cisco-Netzwerkgeräts. Die erforderliche Mindestkonfiguration lautet wie folgt (für die Konfiguration verwenden wir die CLI, ich habe die Namen und Passwörter vereinfacht, um Verwirrung zu vermeiden):

snmp-server group snmpv3group v3 priv read snmpv3name 
snmp-server user snmpv3user snmpv3group v3 auth md5 md5v3v3v3 priv des des56v3v3v3
snmp-server view snmpv3name iso included

Die erste Zeile snmp-server-Gruppe – definiert die Gruppe der SNMPv3-Benutzer (snmpv3group), den Lesemodus (read) und das Zugriffsrecht der snmpv3group-Gruppe, um bestimmte Zweige des MIB-Baums des Überwachungsobjekts anzuzeigen (snmpv3name dann im Die Konfiguration gibt an, auf welche Zweige des MIB-Baums die Gruppe zugreifen kann (snmpv3group wird Zugriff erhalten).

Die zweite Zeile snmp-server user – definiert den Benutzer snmpv3user, seine Mitgliedschaft in der Gruppe snmpv3group sowie die Verwendung der MD5-Authentifizierung (Passwort für MD5 ist md5v3v3v3) und des-Verschlüsselung (Passwort für des ist des56v3v3v3). Natürlich ist es besser, aes statt des zu verwenden; ich gebe es hier nur als Beispiel. Außerdem können Sie beim Definieren eines Benutzers eine Zugriffsliste (ACL) hinzufügen, die die IP-Adressen der Überwachungsserver regelt, die das Recht haben, dieses Gerät zu überwachen – dies ist ebenfalls eine bewährte Methode, aber ich werde unser Beispiel nicht verkomplizieren.

Die dritte Zeile der snmp-server-Ansicht definiert einen Codenamen, der Zweige des snmpv3name-MIB-Baums angibt, damit sie von der snmpv3group-Benutzergruppe abgefragt werden können. Anstatt strikt einen einzelnen Zweig zu definieren, ermöglicht ISO der Benutzergruppe snmpv3group den Zugriff auf alle Objekte im MIB-Baum des Überwachungsobjekts.

Ein ähnliches Setup für Huawei-Geräte (auch im CLI) sieht so aus:

snmp-agent mib-view included snmpv3name iso
snmp-agent group v3 snmpv3group privacy read-view snmpv3name
snmp-agent usm-user v3 snmpv3user group snmpv3group
snmp-agent usm-user v3 snmpv3user authentication-mode md5 
            md5v3v3v3
snmp-agent usm-user v3 snmpv3user privacy-mode des56
            des56v3v3v3

Nach dem Einrichten von Netzwerkgeräten müssen Sie den Zugriff vom Überwachungsserver über das SNMPv3-Protokoll überprüfen. Ich verwende snmpwalk:

snmpwalk -v 3 -u snmpv3user -l authPriv -A md5v3v3v3 -a md5 -x des -X des56v3v3v3 10.10.10.252

Überwachung von Netzwerkgeräten über SNMPv3 in Zabbix

Ein visuelleres Tool zum Anfordern bestimmter OID-Objekte mithilfe von MIB-Dateien ist snmpget:

Überwachung von Netzwerkgeräten über SNMPv3 in Zabbix

Fahren wir nun mit der Einrichtung eines typischen Datenelements für SNMPv3 innerhalb der Zabbix-Vorlage fort. Der Einfachheit und MIB-Unabhängigkeit halber verwende ich digitale OIDs:

Überwachung von Netzwerkgeräten über SNMPv3 in Zabbix

Ich verwende benutzerdefinierte Makros in Schlüsselfeldern, da diese für alle Datenelemente in der Vorlage gleich sind. Sie können sie innerhalb einer Vorlage festlegen, wenn alle Netzwerkgeräte in Ihrem Netzwerk dieselben SNMPv3-Parameter haben, oder innerhalb eines Netzwerkknotens, wenn die SNMPv3-Parameter für verschiedene Überwachungsobjekte unterschiedlich sind:

Überwachung von Netzwerkgeräten über SNMPv3 in Zabbix

Bitte beachten Sie, dass das Überwachungssystem nur über einen Benutzernamen und Passwörter zur Authentifizierung und Verschlüsselung verfügt. Die Benutzergruppe und der Umfang der MIB-Objekte, auf die der Zugriff erlaubt ist, werden im Überwachungsobjekt angegeben.
Kommen wir nun zum Ausfüllen der Vorlage.

Zabbix-Umfragevorlage

Eine einfache Regel beim Erstellen von Umfragevorlagen besteht darin, sie so detailliert wie möglich zu gestalten:

Überwachung von Netzwerkgeräten über SNMPv3 in Zabbix

Ich lege großen Wert auf Inventar, um die Zusammenarbeit mit einem großen Netzwerk zu erleichtern. Mehr dazu später, aber vorerst – Auslöser:

Überwachung von Netzwerkgeräten über SNMPv3 in Zabbix

Um die Visualisierung von Auslösern zu erleichtern, sind Systemmakros {HOST.CONN} in ihren Namen enthalten, sodass nicht nur Gerätenamen, sondern auch IP-Adressen auf dem Dashboard im Alarmbereich angezeigt werden, obwohl dies eher eine Frage der Bequemlichkeit als eine Notwendigkeit ist . Um festzustellen, ob ein Gerät nicht verfügbar ist, verwende ich zusätzlich zur üblichen Echo-Anfrage eine Prüfung auf Host-Nichtverfügbarkeit mithilfe des SNMP-Protokolls, wenn das Objekt über ICMP erreichbar ist, aber nicht auf SNMP-Anfragen antwortet – diese Situation ist beispielsweise möglich , wenn IP-Adressen aufgrund falsch konfigurierter Firewalls oder falscher SNMP-Einstellungen an Überwachungsobjekten auf verschiedenen Geräten dupliziert werden. Wenn Sie die Host-Verfügbarkeitsprüfung nur über ICMP verwenden, sind zum Zeitpunkt der Untersuchung von Vorfällen im Netzwerk möglicherweise keine Überwachungsdaten verfügbar, sodass deren Empfang überwacht werden muss.

Kommen wir zur Erkennung von Netzwerkschnittstellen – für Netzwerkgeräte ist dies die wichtigste Überwachungsfunktion. Da auf einem Netzwerkgerät Hunderte von Schnittstellen vorhanden sein können, ist es notwendig, die unnötigen herauszufiltern, um die Visualisierung nicht zu überladen oder die Datenbank zu überladen.

Ich verwende die standardmäßige SNMP-Erkennungsfunktion mit besser erkennbaren Parametern für eine flexiblere Filterung:

discovery[{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7]

Überwachung von Netzwerkgeräten über SNMPv3 in Zabbix

Mit dieser Erkennung können Sie Netzwerkschnittstellen nach Typ, benutzerdefinierten Beschreibungen und Verwaltungsportstatus filtern. Filter und reguläre Ausdrücke zum Filtern sehen in meinem Fall so aus:

Überwachung von Netzwerkgeräten über SNMPv3 in Zabbix

Überwachung von Netzwerkgeräten über SNMPv3 in Zabbix

Bei Erkennung werden die folgenden Schnittstellen ausgeschlossen:

  • manuell deaktiviert (adminstatus<>1), dank IFADMINSTATUS;
  • ohne Textbeschreibung, danke an IFALIAS;
  • das Symbol * in der Textbeschreibung zu haben, dank IFALIAS;
  • die dienstlich oder technisch sind, dank IFDESCR (in meinem Fall werden IFALIAS und IFDESCR in regulären Ausdrücken durch einen Alias ​​für reguläre Ausdrücke überprüft).

Die Vorlage zum Sammeln von Daten mithilfe des SNMPv3-Protokolls ist fast fertig. Wir werden uns nicht näher mit den Prototypen von Datenelementen für Netzwerkschnittstellen befassen, sondern mit den Ergebnissen fortfahren.

Ergebnisse der Überwachung

Machen Sie zunächst eine Bestandsaufnahme eines kleinen Netzwerks:

Überwachung von Netzwerkgeräten über SNMPv3 in Zabbix

Wenn Sie Vorlagen für jede Serie von Netzwerkgeräten vorbereiten, können Sie ein einfach zu analysierendes Layout mit zusammenfassenden Daten zu aktueller Software, Seriennummern und Benachrichtigungen über die Ankunft einer Bereinigung auf dem Server (aufgrund geringer Betriebszeit) erreichen. Ein Auszug meiner Vorlagenliste ist unten:

Überwachung von Netzwerkgeräten über SNMPv3 in Zabbix

Und jetzt – das Hauptüberwachungsfeld mit nach Schweregrad verteilten Auslösern:

Überwachung von Netzwerkgeräten über SNMPv3 in Zabbix

Dank eines integrierten Vorlagenansatzes für jedes Gerätemodell im Netzwerk kann sichergestellt werden, dass im Rahmen eines Überwachungssystems ein Tool zur Vorhersage von Fehlern und Unfällen organisiert wird (sofern entsprechende Sensoren und Metriken verfügbar sind). Zabbix eignet sich gut für die Überwachung von Netzwerk-, Server- und Service-Infrastrukturen, und die Aufgabe der Wartung von Netzwerkgeräten stellt seine Fähigkeiten deutlich unter Beweis.

Liste der verwendeten Quellen:1. Hucaby D. CCNP Routing and Switching SWITCH 300-115 Offizieller Zertifizierungsleitfaden. Cisco Press, 2014. S. 325-329.
2. RFC 3410. tools.ietf.org/html/rfc3410
3. RFC 3415. tools.ietf.org/html/rfc3415
4. SNMP-Konfigurationshandbuch, Cisco IOS XE Release 3SE. Kapitel: SNMP Version 3. www.cisco.com/c/en/us/td/docs/ios-xml/ios/snmp/configuration/xe-3se/3850/snmp-xe-3se-3850-book/nm-snmp-snmpv3.html

Source: habr.com

Kommentar hinzufügen