10 Überwachen eines Netzwerk-Switches oder Routers mit Zabbix
Einführung
Diese Anleitung führt Sie durch die Schritte, die erforderlich sind, um mit Zabbix eine grundlegende Überwachung Ihres Netzwerk-Switches oder Routers zu starten. Als Beispiel wird ein Cisco-Router verwendet, das Verfahren gilt jedoch für jedes SNMP-fähige Netzwerkgerät.
Für wen diese Anleitung gedacht ist
Diese Anleitung richtet sich an neue Zabbix-Benutzer und Netzwerkadministratoren, die schnell eine grundlegende Überwachung für Netzwerkgeräte aktivieren möchten. Wenn Sie eine umfassende Anpassung oder erweiterte Konfigurationsoptionen benötigen, lesen Sie bitte die Seite SNMP agent oder den Abschnitt Configuration im Zabbix-Handbuch.
Voraussetzungen
Bevor Sie mit dieser Anleitung fortfahren, stellen Sie sicher, dass Sie über Folgendes verfügen:
- Zabbix Server und Zabbix Frontend sind installiert: Installieren Sie diese gemäß den Anweisungen für Ihr Betriebssystem (siehe Installation from packages und Web interface installation).
- Zabbix Agent ist installiert, wenn lokale Netzwerkmetriken überwacht werden sollen.
- SNMP-fähiges Gerät: ein Netzwerk-Switch oder Router (zum Beispiel ein Cisco-Router) mit aktiviertem SNMP.
- Installierte MIB-Dateien: Durch die Installation von MIB-Dateien kann Zabbix numerische OIDs in menschenlesbare Namen und Beschreibungen übersetzen. Ohne ordnungsgemäße MIB-Unterstützung werden möglicherweise nur numerische Werte angezeigt, was die Konfiguration von Datenpunkten und die Fehlerbehebung erschwert.
So installieren Sie MIB-Dateien unter Ubuntu:
1. Installieren Sie das MIB-Downloader-Paket:
sudo apt-get update
sudo apt-get install snmp-mibs-downloader
Wenn Sie herstellerspezifische MIBs hinzufügen müssen (z. B. von Cisco, Juniper), legen Sie diese im entsprechenden MIB-Verzeichnis ab:
- Bei Linux-basierten Systemen sind gängige Speicherorte /usr/share/snmp/mibs/ oder /usr/local/share/snmp/mibs/.
- Bei Zabbix-Installationen können MIB-Dateien in /var/lib/zabbix/mibs/ gespeichert werden.
Stellen Sie sicher, dass die Umgebungsvariable MIBDIRS oder die Datei snmp.conf den korrekten Pfad enthält.
Um zu überprüfen, ob Ihr System die neuen MIBs erkennt, verwenden Sie:
snmptranslate -IR -On <MIB-NAME>::<object>
Detaillierte Anweisungen finden Sie in der Dokumentation Ihrer SNMP-Bibliothek:
2. Bearbeiten Sie /etc/snmp/snmp.conf und kommentieren Sie die Zeile aus, die mit mibs : beginnt, damit das System alle verfügbaren MIBs laden kann.
3. Überprüfen Sie dies, indem Sie ein snmpwalk ausführen (zum Beispiel snmpwalk -v 2c -c <your_community_string> <device_IP>), und kontrollieren Sie, dass OIDs mit beschreibenden Namen angezeigt werden.
Abhängig von Ihrer Umgebung können einige Schritte in dieser Anleitung leicht abweichen. Diese Anleitung basiert auf einer Umgebung mit Ubuntu und einem überwachten Netzwerkgerät vom Typ Cisco Catalyst 3750V2-24FS.
Es wird davon ausgegangen, dass Ihr Netzwerkgerät bereits physisch installiert und angeschlossen ist.
Netzwerkgerät konfigurieren (Beispiel: Cisco-Router)
Für die Überwachung über SNMP müssen Sie Ihr Netzwerkgerät so konfigurieren, dass SNMP-Abfragen zugelassen werden. Das folgende Beispiel gilt für SNMPv2 und berücksichtigt keine vorhandenen Einstellungen. Vorsicht: Das Anwenden dieser Befehle kann aktuelle SNMP-Konfigurationen überschreiben.
Bei einem Cisco-Router umfasst die Konfiguration in der Regel die unten beschriebenen Schritte.
SNMPv2-Beispiel
1. Aktivieren Sie SNMP und legen Sie den Community-String fest.
Melden Sie sich an an der Konsole Ihres Cisco-Routers an und wechseln Sie in den Konfigurationsmodus:
configure terminal
Aktivieren Sie dann SNMP, indem Sie einen schreibgeschützten Community-String angeben. Zum Beispiel:
snmp-server community <your_community_string> RO
Ersetzen Sie <your_community_string> durch Ihren sicheren Community-String.
Hinweis: Die Option RO (Read-Only) erlaubt es SNMP, Daten vom Gerät abzurufen, verhindert jedoch jegliche Konfigurationsänderungen.
Aus Sicherheitsgründen wird empfohlen, den SNMP-Zugriff nur auf die erforderlichen Geräte zu beschränken. Weitere Hinweise zur Konfiguration von Access Control Lists (ACLs) finden Sie in der offiziellen Cisco-Dokumentation.
2. Speichern Sie die Konfiguration.
Speichern Sie Ihre Änderungen, damit die SNMP-Einstellungen nach einem Neustart erhalten bleiben:
write memory
SNMPv3-Beispiel
SNMPv3 bietet erweiterte Sicherheit durch Authentifizierung und Verschlüsselung. Seine Konfiguration ist sicherer als SNMPv2 und sollte anhand der gerätespezifischen Dokumentation überprüft werden.
1. Erstellen Sie eine SNMP-Gruppe.
Konfigurieren Sie eine SNMPv3-Gruppe mit aktivierter Privacy (Verschlüsselung):
configure terminal
snmp-server group <your_group> v3 priv
2. Erstellen Sie einen SNMP-Benutzer.
Fügen Sie einen SNMPv3-Benutzer mit Authentifizierung und Privacy hinzu. Ersetzen Sie die Platzhalter durch die gewünschten Werte:
snmp-server user <your_user> <your_group> v3 auth md5 <auth_password> priv aes 128 <priv_password>
3. Speichern Sie die Konfiguration:
write memory
Weitere Details oder modellspezifische Anweisungen finden Sie in externen Cisco SNMP-Konfigurationsanleitungen. Diese Anleitung beschreibt jedoch die grundlegenden Schritte zum Aktivieren der SNMP-Überwachung.
Zabbix-Frontend konfigurieren
Einen Host im Zabbix Frontend erstellen
1. Melden Sie sich im Zabbix Frontend an.
2. Fügen Sie einen neuen Host hinzu.
Navigieren Sie zu Datenerfassung > Hosts und klicken Sie auf Host erstellen.
- Host-Name: Geben Sie einen Namen für Ihr Gerät ein (z. B. „Cisco-Router“).
- Host-Gruppen: Wählen Sie eine vorhandene Gruppe aus oder erstellen Sie eine neue Gruppe, z. B. „Netzwerkgeräte“.
- Schnittstellen:
- Klicken Sie unter Schnittstellen auf Hinzufügen.
- Wählen Sie SNMP als Schnittstellentyp.
- Geben Sie die IP-Adresse oder den DNS-Namen Ihres Cisco-Routers ein.
- Legen Sie den Standard-SNMP-Port fest (normalerweise 161).
- Verwenden Sie das Dropdown-Menü, um die passende SNMP-Version auszuwählen (z. B. SNMPv2).
- Geben Sie für SNMPv1/v2 den Community-String im Feld SNMP-Community ein. Bei SNMPv3 werden zusätzliche Anmeldedaten abgefragt (Kontextname, Sicherheitsname und Sicherheitsstufe usw.).
3. Vorlagen verknüpfen
Wählen Sie im Feld Vorlagen die SNMP-Vorlage aus, die am besten zu Ihrem Gerät passt. Zabbix bietet eine Reihe vorgefertigter SNMP-Vorlagen für viele Gerätefamilien. Wenn Sie beispielsweise ein Cisco-Gerät überwachen, wählen Sie die Vorlage, die dem Betriebssystem oder Modell Ihres Geräts entspricht (z. B. Cisco IOS SNMP oder Cisco Catalyst 3750<Gerätemodell> SNMP).
4. Klicken Sie auf Hinzufügen, um den Host zu speichern.


Gesammelte Metriken anzeigen
Glückwunsch! Zabbix ist jetzt so eingerichtet, dass Ihr Netzwerkgerät überwacht wird.
Aktuelle Daten:
- Navigieren Sie im Zabbix Frontend zu Überwachung > Aktuelle Daten.

- Wählen Sie Ihren Host „Cisco Router“ (oder erkannte Hosts) aus, um Metriken wie Hardware- und Netzwerk-Uptime, ICMP-Verlust, Ping und Antwortzeit usw. anzuzeigen.

- Diagramme und Übersichten:
Um die Performancedaten zu visualisieren, klicken Sie neben den SNMP-Datenpunkten auf Diagramme, um detaillierte Metriken anzuzeigen.
Als nächsten Schritt können Sie:
- Benutzerdefinierte SNMP-Datenpunkte hinzufügen, um zusätzliche Metriken zu überwachen.
- Problembenachrichtigungen einrichten, um Benachrichtigungen über potenzielle Probleme zu erhalten.
SNMP-Datenpunkte erstellen
Sobald der Host eingerichtet ist, können Sie Datenpunkte erstellen, um bestimmte Metriken zu überwachen. Hinweis: Dieser Schritt ist optional, wenn Sie eine Vorlage verwenden, da Vorlagen bereits Standardmengen von Datenpunkten enthalten.
1. Die SNMP-OID ermitteln:
Verwenden Sie den Befehl snmpwalk, um die auf Ihrem Gerät verfügbaren OIDs aufzulisten.
Zum Beispiel:
snmpwalk -v 2c -c <your_community_string> <device_IP> .
Suchen Sie die OID für die Metrik, die Sie überwachen möchten (zum Beispiel IF-MIB::ifHCInOctets.3 für eingehenden Datenverkehr auf Port 3). Um die numerische OID zu erhalten, können Sie Folgendes verwenden:
snmpget -v 2c -c <your_community_string> -On <device_IP> IF-MIB::ifHCInOctets.3
2. Einen SNMP-Datenpunkt erstellen:
- Navigieren Sie zu Datensammlung > Hosts und klicken Sie beim SNMP-Host auf den Reiter Datenpunkte und dann auf Datenpunkt erstellen.
- Name: Geben Sie einen aussagekräftigen Namen ein (z. B. „Eingehender Datenverkehr auf Port 3“).
- Typ: Wählen Sie SNMP agent aus.
- Schlüssel: Geben Sie einen aussagekräftigen Schlüssel an (z. B.
cisco.ifHCInOctets.3). - Host-Schnittstelle: Stellen Sie sicher, dass die SNMP-Schnittstelle ausgewählt ist.
- SNMP OID: Geben Sie die OID in einem der unterstützten Formate ein, zum Beispiel:
get[1.3.6.1.2.1.31.1.1.1.6.3]für einen einzelnen Wert;walk[1.3.6.1.2.1.31.1.1.1.6.3], um asynchron einen Teilbaum von Werten abzurufen.

- Vorverarbeitung (falls erforderlich): Wenn der Datenpunkt einen kumulativen Zähler zurückgibt (z. B. Schnittstellenverkehr), wechseln Sie zum Reiter Vorverarbeitung und fügen Sie einen Vorverarbeitungsschritt wie „Änderung pro Sekunde“ hinzu, um die Rate zu berechnen.

Um mehrere Werte in einer SNMP-Transaktion abzurufen, können Sie mehrere OIDs mit der Syntax walk[OID1,OID2,...] angeben.
Übersetzen von OIDs zwischen numerischen und MIB-Namen
Bei der Arbeit mit SNMP müssen Sie möglicherweise zwischen numerischen OIDs und den entsprechenden MIB-Namen umwandeln. Diese Übersetzung hilft dabei, Metriken leichter zu identifizieren und Fehler zu beheben.
- Übersetzen eines MIB-Namens in eine numerische OID: Verwenden Sie den Befehl
snmptranslatemit der Option-On. Um beispielsweise den MIB-NamenIF-MIB::ifHCInOctets.3in seine numerische OID zu übersetzen, führen Sie Folgendes aus:
snmptranslate -On IF-MIB::ifHCInOctets.3
Dieser Befehl kann folgende Ausgabe liefern:
.1.3.6.1.2.1.31.1.1.1.6.3
- Übersetzen einer numerischen OID in ihren MIB-Namen: Verwenden Sie den Befehl
snmptranslatemit der Option-IR(oder-m ALL), um die Übersetzung umzukehren. Um beispielsweise die numerische OID.1.3.6.1.2.1.31.1.1.1.6.3zurück in ihren MIB-Namen zu übersetzen, führen Sie Folgendes aus:
snmptranslate -IR -On .1.3.6.1.2.1.31.1.1.1.6.3
Dieser Befehl kann folgende Ausgabe liefern:
IF-MIB::ifHCInOctets.3
Problembenachrichtigungen einrichten
Diese Anleitung enthält grundlegende Konfigurationsschritte zum Senden von E-Mail-Benachrichtigungen.
1. Navigieren Sie zu Benutzereinstellungen > Profil, wechseln Sie zur Registerkarte Medien und fügen Sie Ihre E-Mail-Adresse hinzu.

2. Folgen Sie der Anleitung für Empfangen einer Problembenachrichtigung.
Wenn Zabbix das nächste Mal ein Problem erkennt, sollten Sie eine Benachrichtigung per E-Mail erhalten.
Testen Sie Ihre Konfiguration
Um sicherzustellen, dass Zabbix Probleme mit der Netzwerkleistung korrekt erkennt, simulieren Sie ein echtes Problem, indem Sie den Schwellenwert für die ICMP-Ping-Antwortzeit erhöhen.
1. Öffnen Sie die Konfiguration Ihres Hosts „Cisco Router“ in Zabbix.
2. Wechseln Sie zur Registerkarte Macros und wählen Sie Inherited and host macros aus.
3. Suchen Sie das Makro {$ICMP_RESPONSE_TIME_WARN} (oder ein ähnliches Makro für den Schwellenwert der Antwortzeit).
4. Legen Sie einen sehr niedrigen Wert fest (z. B. 0.001), damit ein Alarm ausgelöst wird, wenn die Ping-Antwort diesen Wert überschreitet.
5. Klicken Sie auf Update, um die Änderungen anzuwenden.
6. Warten Sie einen Moment, bis Zabbix das simulierte Problem erkennt.
7. Wechseln Sie zu Monitoring > Problems, um zu prüfen, dass ein Alarm angezeigt wird (z. B. „High ICMP ping response time“).

Wenn Benachrichtigungen konfiguriert sind, sollten Sie außerdem eine Problembenachrichtigung erhalten.
8. Setzen Sie den Makrowert auf die ursprüngliche Einstellung zurück und klicken Sie auf Update, um die Änderungen zu speichern.
9. Bestätigen Sie, dass das Problem behoben ist und aus dem Abschnitt Problems verschwindet.
Fehlerbehebung bei der SNMP-Überwachung
Wenn Sie feststellen, dass das SNMP-Symbol im Zabbix Frontend ROT angezeigt wird oder keine Daten erfasst werden, versuchen Sie die folgenden Schritte:
1. Überprüfen Sie die SNMP-Konnektivität.
Führen Sie für SNMPv2 den folgenden Befehl auf Ihrem Zabbix Server aus:
snmpwalk -v 2c -c <community_string> <device_IP> .
Dieser Befehl überprüft, ob das Gerät auf SNMP-Abfragen antwortet.
Geben Sie für SNMPv3 die entsprechenden SNMPv3-Zugangsdaten an:
snmpwalk -v3 -u <your_user> -l authPriv -a MD5 -A <auth_password> -x AES -X <priv_password> <device_IP> .
Damit wird überprüft, ob die SNMPv3-Zugangsdaten korrekt sind und das Gerät sicher antwortet.
2. Stellen Sie sicher, dass MIB-Dateien installiert und wie in den Voraussetzungen beschrieben aktiviert sind. Um dies sicherzustellen, darf der folgende Befehl bei der Abfrage eines Netzwerkgeräts keinen Fehler zurückgeben:
snmpwalk -v 2c -c <your_community_string> <device_IP> ifInOctets
Dies sollte übersetzte OIDs ohne Fehler zurückgeben.
3. Bestätigen Sie, dass die in Zabbix konfigurierte SNMP-Version und die Zugangsdaten mit den auf Ihrem Gerät eingestellten Werten übereinstimmen. Prüfen Sie beispielsweise die SNMP-Einstellungen in der Zabbix-Host-Konfiguration und vergleichen Sie sie mit der Konfiguration Ihres Geräts. Auf einem Cisco-Gerät können Sie die SNMP-Einstellungen mit folgendem Befehl prüfen:
show running-config | include snmp
Dadurch wird sichergestellt, dass der Community-String (für SNMPv2) oder die SNMPv3-Benutzerdetails korrekt sind.
4. Vergewissern Sie sich, dass SNMP auf Ihrem Netzwerkgerät korrekt aktiviert ist. Melden Sie sich bei einem Cisco-Router an der Konsole an und führen Sie Folgendes aus:
show running-config | include snmp
Dieser Befehl zeigt die aktive SNMP-Konfiguration an und hilft zu bestätigen, dass SNMP korrekt konfiguriert ist.
5. Stellen Sie sicher, dass keine Firewalls oder Netzwerkprobleme den SNMP-Datenverkehr (normalerweise über Port 161) zwischen dem Zabbix Server und dem Gerät blockieren. Sie können die Konnektivität mit folgendem Befehl testen:
nc -zv <device_IP> 161
nc -zv prüft, ob Port 161 auf dem Gerät geöffnet ist und auf Verbindungen wartet.
Wenn Sie außerdem UFW unter Ubuntu verwenden, prüfen Sie den Firewall-Status:
sudo ufw status
Oder bei iptables:
sudo iptables -L -n
6. Prüfen Sie die Zabbix-Server-Logdateien auf SNMP-bezogene Fehler, um das Problem genauer einzugrenzen:
tail -f /tmp/zabbix_server.log
Mit tail -f können Sie Log-Aktualisierungen in Echtzeit überwachen.
Siehe auch:
- Erstellen eines Datenpunkts – erfahren Sie, wie Sie zusätzliche Metriken hinzufügen.
- SNMP-Agent – zusätzliche Informationen zur SNMP-Überwachung mit Zabbix.
- Standardisierte Vorlagen für Netzwerkgeräte – Informationen zu verfügbaren SNMP-Vorlagen.
- Erkennung von SNMP-OIDs – zusätzliche Informationen zur SNMP-Erkennung auf einem Switch.
- Konfigurieren einer Netzwerkerkennungsregel – zusätzliche Informationen dazu, wie eine von Zabbix verwendete Netzwerkerkennungsregel zum Erkennen von Hosts und Diensten konfiguriert wird.