Nagios Logo

Einführung


Switch

Dieses Dokument beschreibt, wie Sie den Zustand von Netzwerk-Switches und Routern überwachen können. Einige preiswerte "unmanaged" Switches und Router haben keine IP-Adresse und sind in Ihrem Netzwerk nicht sichtbar, so dass es keinen Weg gibt, um sie zu überwachen. Teurere Switches und Router haben eigene Adressen und können durch Ping überwacht oder über SNMP nach Statusinformationen abgefragt werden.

Ich werde beschreiben, wie Sie die folgenden Dinge auf "managed" Switches, Hubs und Routern überwachen können:

Anmerkung: Diese Anweisungen gehen davon aus, dass Sie Nagios anhand der Schnellstartanleitungen für Fedora, OpenSuse oder Ubuntu installiert haben. Anmerkung: Diese Anweisungen gehen davon aus, dass Sie Nagios Die nachfolgenden Beispiel-Konfigurationseinträge beziehen sich auf Objekte, die in den Beispiel-Konfigurationsdateien (commands.cfg, templates.cfg, etc.) definiert sind. Diese Dateien werden installiert, wenn Sie der Schnellstartanleitung folgen.

Überblick


einen Router oder Switch überwachen

Die Überwachung von Switches und Routern kann entweder einfach oder auch aufwändiger sein - abhängig davon, welches Equipment Sie haben und was Sie überwachen wollen. Da es sich um kritische Infrastrukturkomponenten handelt, werden Sie diese ohne Zweifel mindestens in grundlegender Art und Weise überwachen.

Switches und Router können einfach per "Ping" überwacht werden, um Paketverlust, RTA usw. zu ermitteln. Wenn Ihr Switch SNMP unterstützt, können Sie mit dem check_snmp-Plugin z.B. den Port-Status und (wenn Sie MRTG benutzen) mit dem check_mrtgtraf-Plugin die Bandbreite überwachen.

Das check_snmp-Plugin wird nur dann kompiliert und installiert, wenn Sie die net-snmp- und net-snmp-utils-Pakete auf Ihrem System haben. Stellen Sie sicher, dass das Plugin im /usr/local/nagios/libexec-Verzeichnis existiert, bevor Sie fortfahren. Falls nicht, installieren Sie net-snmp und net-snmp-utils und kompilieren und installieren Sie die Nagios-Plugins erneut.

Schritte


Es gibt einige Schritte, die Sie durchführen müssen, um einen neuen Router oder Switch zu überwachen. Das sind:

  1. erfüllen Sie einmalige Voraussetzungen
  2. erstellen Sie neue Host- und Service-Definitionen zur Überwachung des Geräts
  3. starten Sie den Nagios-Daemon neu

Was bereits für Sie vorbereitet wurde


Um Ihnen das Leben ein wenig zu erleichtern, wurden bereits ein paar Konfigurationsaufgaben für Sie erledigt:

Die o.g. Konfigurationsdateien finden Sie im /usr/local/nagios/etc/objects/-Verzeichnis. Sie können diese und andere Definitionen anpassen, damit Sie Ihren Anforderungen besser entsprechen. Allerdings empfehle ich Ihnen, noch ein wenig damit zu warten, bis Sie besser mit der Konfiguration von Nagios vertraut sind. Für den Moment folgen Sie einfach den nachfolgenden Anweisungen und Sie werden im Nu Ihre Router/Switches überwachen.

Voraussetzungen


Wenn Sie Nagios das erste Mal konfigurieren, um einen Netzwerk-Switch zu überwachen, dann müssen Sie ein paar zusätzliche Dinge tun. Denken Sie daran, dass Sie dies nur für den *ersten* Switch machen müssen, den Sie überwachen wollen.

Editieren Sie die Hauptkonfigurationsdatei.

vi /usr/local/nagios/etc/nagios.cfg

Entfernen Sie das führende Hash-(#)-Zeichen der folgenden Zeile in der Hauptkonfigurationsdatei:

#cfg_file=/usr/local/nagios/etc/objects/switch.cfg

Speichern Sie die Datei und verlassen den Editor.

Was haben Sie gerade getan? Sie haben Nagios mitgeteilt, in der /usr/local/nagios/etc/objects/switch.cfg-Datei nach weiteren Objektdefinitionen zu schauen. Dort werden Sie Host- und Service-Definitionen für Router- und Switches einfügen. Diese Konfigurationsdatei enthält bereits einige Beispiel-Host-, Hostgroup- und Service-Definitionen. Für den *ersten* Router/Switch, den Sie überwachen, passen Sie einfach die Beispiel-Host- und Service-Definitionen an, statt neue zu erstellen.

Nagios konfigurieren


Sie müssen einige Objektdefinitionen anlegen, um einen neuen Router/Switch zu überwachen.

Öffnen Sie die switch.cfg-Datei.

vi /usr/local/nagios/etc/objects/switch.cfg

Fügen Sie eine neue Host-Definition für den Switch hinzu, den Sie überwachen möchten. Wenn dies der *erste* Switch ist, den Sie überwachen, dann können Sie einfach die Beispiel-Definitionen in der switch.cfg-Datei anpassen. Ändern Sie die host_name-, alias- und address-Felder auf die entsprechenden Werte des Switches.

define host{
	use		generic-switch		; Inherit default values from a template
	host_name	linksys-srw224p		; The name we're giving to this switch
	alias		Linksys SRW224P Switch	; A longer name associated with the switch
	address		192.168.1.253		; IP address of the switch
	hostgroups	allhosts,switches	; Host groups this switch is associated with
}

Services überwachen


Nun können Sie einige Service-Definitionen hinzufügen (in der gleichen Konfigurationsdatei), um Nagios mitzuteilen, welche Dinge auf dem Switch zu überwachen sind. Wenn dies der *erste* Switch ist, den Sie überwachen, dann können Sie einfach die Beispiel-Definitionen in der switch.cfg-Datei anpassen.

Anmerkung: Ersetzen Sie "linksys-srw224p" in der folgenden Beispiel-Definition durch den Namen, den Sie in der host_name-Direktive der Host-Definition angegeben haben, die Sie gerade hinzugefügt haben.

Paketverlust und RTA überwachen


Fügen Sie die folgende Service-Definition hinzu, um unter normalen Bedingungen alle fünf Minuten Paketverlust und Round-Trip-Average zwischen dem Nagios-Host und dem Switch zu überwachen.

define service{
	use			generic-service	; Inherit values from a template
	host_name		linksys-srw224p	; The name of the host the service is associated with
	service_description	PING		; The service description
	check_command		check_ping!200.0,20%!600.0,60%	; The command used to monitor the service
	normal_check_interval	5		; Check the service every 5 minutes under normal conditions
	retry_check_interval	1		; Re-check the service every minute until its final/hard state is determined
}

Dieser Service wird:

SNMP-Statusinformationen überwachen


Wenn Ihr Switch oder Router SNMP unterstützt, können Sie eine Menge an Informationen mit dem check_snmp-Plugin überwachen. Wenn nicht, dann überspringen Sie diesen Abschnitt.

Fügen Sie die folgende Service-Definition hinzu, um die Laufzeit des Switches zu überwachen.

define service{
	use			generic-service	; Inherit values from a template
	host_name		linksys-srw224p
	service_description	Uptime	
	check_command		check_snmp!-C public -o sysUpTime.0
}

In der check_command-Direktive der obigen Service-Definition sagt "-C public", dass der zu benutzende SNMP-Community-Name "public" lautet und "-o sysUpTime.0" gibt an, welche OID überprüft werden soll.

Wenn Sie sicherstellen wollen, dass sich ein bestimmter Port/ein bestimmtes Interface des Switches in einem "UP"-Zustand befindet, dann sollten Sie eine Service-Definition hinzufügen:

define service{
	use			generic-service	; Inherit values from a template
	host_name		linksys-srw224p
	service_description	Port 1 Link Status
	check_command		check_snmp!-C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB
}

In dem obigen Beispiel bezieht sich "-o ifOperStatus.1" auf die OID des Betriebszustands von Port 1 des Switches. Die "-r 1"-Option teilt dem check_snmp-Plugin mit, einen OK-Zustand zurückzuliefern, wenn "1" im SNMP-Ergebnis gefunden wird (1 deutet einen "UP"-Zustand des Ports an) und CRITICAL, wenn es nicht gefunden wird. "-m RFC1213-MIB" ist optional und teilt dem check_snmp-Plugin mit, nur die "RFC1213-MIB" zu laden statt jeder einzelnen MIB, die auf Ihrem System installiert ist, was die Dinge beschleunigen kann.

Das war's mit dem SNMP-Überwachungsbeispiel. Es gibt eine Million Dinge, die mit SNMP überwacht werden können, also liegt es an Ihnen zu entscheiden, was Sie brauchen und was Sie überwachen wollen. Viel Erfolg!

Hinweis Hinweis: Normalerweise können Sie mit dem folgenden Befehl die OIDs eines Switches (oder eines anderen SNMP-fähigen Gerätes) herausfinden, die überwacht werden können (ersetzen Sie 192.168.1.253 durch die IP-Adresse des Switches): snmpwalk -v1 -c public 192.168.1.253 -m ALL .1

Bandbreite / Übertragungsrate überwachen


Wenn Sie die Bandbreitennutzung Ihres Switches oder Routers mit MRTG überwachen, dann können Sie durch Nagios alarmiert werden, wenn die Übertragungsraten Schwellwerte überschreiten, die Sie angeben. Mit dem check_mrtgtraf-Plugin (das in der Nagios-Plugin-Distribution enthalten ist) können Sie das tun.

Sie müssen dem check_mrtgtraf-Plugin mitteilen, in welcher Log-Datei die MRTG-Daten gespeichert sind, zusammen mit Schwellwerten, usw. In meinem Beispiel überwache ich einen Port eines Linksys-Switches. Die MRTG-Log-Datei ist abgelegt unter /var/lib/mrtg/192.168.1.253_1.log. Hier ist die Service-Definition, die ich benutze, um die Bandbreitendaten zu überwachen, die in der Log-Datei gespeichert sind...

define service{
	use			generic-service	; Inherit values from a template
	host_name		linksys-srw224p
	service_description	Port 1 Bandwidth Usage
	check_command		check_local_mrtgtraf!/var/lib/mrtg/192.168.1.253_1.log!AVG!1000000,2000000!5000000,5000000!10
}

In dem obigen Beispiel teilt "/var/lib/mrtg/192.168.1.253_1.log" im check_local_mrtgtraf-Befehl dem Plugin mit, welche MRTG-Log-Datei auszulesen ist. Die "AVG"-Option gibt an, dass Durchschnitts-Bandbreitenstatistiken verwendet werden sollen. "1000000,2000000" sind die Schwellwerte (in Bytes) für Warnungen bei eingehenden Übertragungsraten. "5000000,5000000" sind die kritischen Schwellwerte (in Bytes) bei ausgehenden Übertragungsraten. "10" gibt an, dass das Plugin einen CRITICAL-Zustand zurückliefern soll, wenn die MRTG-Log-Datei älter als zehn Minuten ist (sie sollte alle fünf Minuten aktualisiert werden).

Speichern Sie die Datei.

Nagios neu starten


Sobald Sie die neuen Host- und Service-Definitionen in der switch.cfg-Datei hinzugefügt haben, sind Sie bereit, mit der Überwachung des Routers/Switches zu beginnen. Um dies zu tun, müssen Sie die Konfigurationsdateien überprüfen und Nagios neu starten.

Wenn die Überprüfung irgendwelche Fehler enthält, dann müssen Sie diese beheben, bevor Sie fortfahren. Stellen Sie sicher, dass Sie Nagios nicht (erneut) starten, bevor die Überprüfung ohne Fehler durchgelaufen ist!

Siehe auch Siehe auch: Öffentlich zugängliche Dienste überwachen

English Deutsch 日本語

Inhaltsverzeichnis