Überwachen Sie einen Netzwerkswitch oder Router mit Zabbix

Einführung

Diese Anleitung führt Sie durch die erforderlichen Schritte, um mit Zabbix eine grundlegende Überwachung Ihres Netzwerk-Switches oder Routers zu starten. Ein Cisco-Router wird als Beispiel 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 die grundlegende Überwachung von Netzwerkgeräten schnell aktivieren möchten. Wenn Sie eine tiefgehende Anpassung oder erweiterte Konfigurationsoptionen benötigen, lesen Sie bitte die Seite SNMP agent oder den Abschnitt Konfiguration des Zabbix-Handbuchs.

Voraussetzungen

Bevor Sie mit dieser Anleitung fortfahren, stellen Sie sicher, dass Sie Folgendes haben:

  • Zabbix Server und Zabbix Frontend installiert: Installieren Sie diese gemäß den Anweisungen für Ihr Betriebssystem (siehe Installation from packages und Web interface installation).
  • Zabbix Agent 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.
  • MIB files installiert: Durch die Installation von MIB-Dateien kann Zabbix numerische OIDs in lesbare Namen und Beschreibungen übersetzen. Ohne geeignete MIB-Unterstützung sehen Sie möglicherweise nur numerische Werte, 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 oder Juniper), legen Sie diese im entsprechenden MIB-Verzeichnis ab:

  • Bei Linux-basierten Systemen gehören zu den üblichen Speicherorten /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 richtigen 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 mit einem snmpwalk (zum Beispiel snmpwalk -v 2c -c <your_community_string> <device_IP>) und stellen Sie sicher, dass OIDs mit aussagekräftigen Namen angezeigt werden.

Je nach Ihrer Umgebung können sich einige Schritte in dieser Anleitung leicht unterscheiden. 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 verbunden ist.

Konfigurieren Sie das Netzwerkgerät (Cisco-Router-Beispiel)

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. Achtung: Das Anwenden dieser Befehle kann die aktuellen SNMP-Konfigurationen überschreiben.

Für einen Cisco-Router umfasst die Konfiguration in der Regel die unten beschriebenen Schritte.

SNMPv2-Beispiel

1. Aktivieren Sie SNMP und legen Sie die 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 Community-String mit Nur-Lesezugriff 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) ermöglicht SNMP das Abrufen von Daten vom Gerät, verhindert jedoch jegliche Konfigurationsänderungen.

Aus Sicherheitsgründen wird empfohlen, den SNMP-Zugriff auf nur die erforderlichen Geräte zu beschränken. Weitere Hinweise zur Konfiguration von Zugriffskontrolllisten (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. Die Konfiguration ist sicherer als bei SNMPv2 und sollte anhand der gerätespezifischen Dokumentation überprüft werden.

1. Erstellen Sie eine SNMP-Gruppe.

Konfigurieren Sie eine SNMPv3-Gruppe mit aktivierter Privatsphäre (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 Privatsphäre 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 configuration tutorials. Diese Anleitung bietet 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 groups: Wählen Sie eine vorhandene Gruppe aus oder erstellen Sie eine neue Gruppe wie "Network Devices".
  • Interfaces:
    • Klicken Sie unter Interfaces auf Add.
    • Wählen Sie SNMP als Schnittstellentyp aus.
    • Geben Sie die IP-Adresse oder den DNS-Namen Ihres Cisco-Routers ein.
    • Setzen Sie den standardmäßigen SNMP-Port (in der Regel 161).
    • Verwenden Sie das Dropdown-Menü, um die passende SNMP-Version auszuwählen (z. B. SNMPv2).
    • Für SNMPv1/v2 geben Sie die Community-String im Feld SNMP community ein. Für SNMPv3 werden zusätzliche Anmeldedaten (Context name, Security name und Security level usw.) abgefragt.

3. Vorlagen verknüpfen

Wählen Sie im Feld Templates die SNMP-Vorlage aus, die am besten zu Ihrem Gerät passt. Zabbix stellt eine Reihe vorgefertigter SNMP-Vorlagen für viele Gerätegruppen bereit. 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<device model> SNMP).

4. Klicken Sie auf Add, um den Host zu speichern.

Erfasste Metriken anzeigen

Glückwunsch! Zabbix ist jetzt so eingerichtet, dass es Ihr Netzwerkgerät überwacht.

Neueste Daten:

  • Navigieren Sie im Zabbix Frontend zu Überwachung > Neueste 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 Bildschirme:

Um die Leistungsdaten zu visualisieren, klicken Sie neben den SNMP-Datenpunkten auf Diagramme, um detaillierte Metriken anzuzeigen.

Als nächsten Schritt können Sie:

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 Standard-Datenpunkt-Sätze enthalten.

1. Identifizieren Sie die SNMP OID:

Verwenden Sie den Befehl snmpwalk, um die verfügbaren OIDs auf Ihrem Gerät 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 (z. B. IF-MIB::ifHCInOctets.3 für eingehenden Traffic 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. Erstellen Sie einen SNMP-Datenpunkt:

  • Navigieren Sie zu Datenerfassung > Hosts und klicken Sie auf die Registerkarte Datenpunkte für Ihren SNMP-Host und dann auf Datenpunkt erstellen.
  • Name: Geben Sie einen aussagekräftigen Namen ein (z. B. "Port 3 eingehender Traffic").
  • Typ: Wählen Sie SNMP agent.
  • Key: Geben Sie einen aussagekräftigen Key an (z. B. cisco.ifHCInOctets.3).
  • Host interface: 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 einen Teilbaum von Werten asynchron abzurufen.

  • Preprocessing (falls erforderlich): Wenn der Datenpunkt einen kumulativen Zähler zurückgibt (z. B. Schnittstellen-Traffic), navigieren Sie zur Registerkarte Preprocessing und fügen Sie einen Preprocessing-Schritt wie "Change per second" 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

Wenn Sie mit SNMP arbeiten, müssen Sie möglicherweise zwischen numerischen OIDs und den entsprechenden MIB-Namen konvertieren. Diese Übersetzung hilft dabei, Metriken leichter zu identifizieren und Fehler zu beheben.

  • Übersetzen eines MIB-Namens in eine numerische OID: Verwenden Sie den Befehl snmptranslate mit der Option -On. Um beispielsweise den MIB-Namen IF-MIB::ifHCInOctets.3 in seine numerische OID zu übersetzen, führen Sie Folgendes aus:
snmptranslate -On IF-MIB::ifHCInOctets.3

Dieser Befehl könnte Folgendes ausgeben:

.1.3.6.1.2.1.31.1.1.1.6.3
  • Übersetzen einer numerischen OID in ihren MIB-Namen: Verwenden Sie den Befehl snmptranslate mit 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.3 wieder 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 könnte Folgendes ausgeben:

IF-MIB::ifHCInOctets.3

Problemalarme 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 zum 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 Netzwerkleistungsprobleme korrekt erkennt, simulieren Sie ein echtes Problem, indem Sie den Schwellenwert für die ICMP-Ping-Antwortzeit erhöhen.

1. Öffnen Sie in Zabbix die Host-Konfiguration Ihres "Cisco Router".

2. Navigieren Sie zum Tab 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. Setzen Sie einen sehr niedrigen Wert (z. B. 0.001), um einen Alarm auszulösen, wenn die Ping-Antwort diesen Wert überschreitet.

5. Klicken Sie auf Update, um die Änderungen zu übernehmen.

6. Warten Sie einen Moment, bis Zabbix das simulierte Problem erkennt.

7. Navigieren Sie zu Monitoring > Problems, um zu überprüfen, ob ein Alarm angezeigt wird (z. B. "Hohe ICMP-Ping-Antwortzeit").

Wenn Alarme konfiguriert sind, sollten Sie außerdem einen Problemalarm erhalten.

8. Setzen Sie den Makro-Wert wieder 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 SNMP-Monitoring

Wenn Sie feststellen, dass das SNMP-Symbol im Zabbix Frontend ROT angezeigt wird oder keine Daten erfasst werden, versuchen Sie die folgenden Schritte:

1. Prüfen Sie die SNMP-Konnektivität.

Für SNMPv2 führen Sie den folgenden Befehl von Ihrem Zabbix Server aus:

snmpwalk -v 2c -c <community_string> <device_IP> .

Dieser Befehl überprüft, ob das Gerät auf SNMP-Abfragen reagiert.

Für SNMPv3 fügen Sie die entsprechenden SNMPv3-Zugangsdaten hinzu:

snmpwalk -v3 -u <your_user> -l authPriv -a MD5 -A <auth_password> -x AES -X <priv_password> <device_IP> .

Damit wird geprüft, ob die SNMPv3-Zugangsdaten korrekt sind und das Gerät sicher antwortet.

2. Stellen Sie sicher, dass MIB-Dateien wie in den Voraussetzungen beschrieben installiert und aktiviert sind. Dazu darf der folgende Befehl beim Abfragen eines Netzwerkgeräts keinen Fehler ausgeben:

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 denen auf Ihrem Gerät übereinstimmen. Überprü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 die Community-String-Angabe (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 auf 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 ordnungsgemäß konfiguriert ist.

5. Stellen Sie sicher, dass keine Firewalls oder Netzwerkprobleme den SNMP-Datenverkehr zwischen dem Zabbix Server und dem Gerät blockieren (typischerweise auf Port 161). 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 lauscht.

Wenn Sie zusätzlich 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 Protokolldateien des Zabbix Servers auf SNMP-bezogene Fehler, um die Ursache einzugrenzen:

tail -f /tmp/zabbix_server.log

tail -f ermöglicht es Ihnen, Protokollaktualisierungen in Echtzeit zu überwachen.

Siehe auch: