U.T.E., Vertrieb von NTI KVM-Switches in Deutschland

SNMP Plugin für Nagios, Umweltüberwachung

Server sicher remote Strom Neustart

Zurück zur Hauptseite

NTI SNMP-Plugin für Nagios

SNMP-Plugin für Nagios

Installation des Plugins
Um das NTI SNMP-Plugin für Nagios zu verwenden, muss es ordnungsgemäß in Ihre Nagios-Installation eingesetzt werden. Plugins werden üblicherweise in das libexec Verzeichnis Ihrer Nagios-Installation (/usr/local/nagios/libexec) installiert. Kopieren Sie das Plugin (check_nti_snmp.pl) einfach in das libexec Verzeichnis Ihrer Installation. Vergewissern Sie sich, dass die Berechtigungen denen anderer Plugins entsprechen.
Konfiguration eines Nagios-Befehls
Als nächstes müssen Sie einen Nagios-Befehl hinzufügen, der das Script aufruft. Dazu müssen Sie den Inhalt von Listing 1 Ihrer Nagios-Konfiguration hinzufügen. Die einfachste Methode dazu ist es, den Inhalt der Aufzählung 1 an die Datei commands.cfg anzuhängen, die sich häufig im Verzeichnis /usr/local/nagios/etc/object/commands.cfg befindet.
# Command definition for Network Technologies Inc SNMP plugin
 define command{
       command_name    check_nti_snmp
       command_line    $USER1$/check_nti_snmp.pl -H $HOSTADDRESS$ $ARG1$
       }
Listing 1: Nagios Befehlsdefinition

Generieren einer Produktkonfiguration
Zur Überwachung von NTI-Produkten mit dem NTI SNMP-Plugin für Nagios sollten Sie zunächst das Script verwenden, das Ihnen bei der Erzeugung einer ordnungsgemäßen Konfiguration hilft. Die Verwendung des Scripts für die Erzeugung einer ordnungsgemäßen Konfiguration erleichtert die Entschlüsselung von MIB, das Interpretieren der Sensorwerte und anderes ungemein. Um eine Konfiguration mit dem Script zu erstellen, übergeben Sie die –m config Option entsprechend Listing 2.
root@dev:/usr/local/nagios/libexec# ./check_nti_snmp.pl -m config
Listing 2: Aufrufen des Scripts zum Erzeugen einer Konfiguration

Das Script wird dann weitere benötigte Informationen von Ihnen erfragen wie die Produktart, IP-Adresse und den SNMP-Communitystring, um die Konfiguration zu erstellen. Das Script kann zwei Arten von Konfigurationen erstellen: einen Service für das gesamte Gerät und einen Service für jeden Sensor. Beim Erzeugen eines Service für des gesamte Gerät wird ein einziger Serviceeintrag in Nagios erstellt, mit dem alle Sensoren der Einheit abgefragt werden. Das Erzeugen von Services für jeden Sensor ermöglicht Ihnen eine genauere Kontrolle darüber, welche Sensoren abgefragt werden. Ein Beispiel für die Informationen, die vom Skript abgefragt werden, wird unter Listing 3 dargestellt.
What product type are we configuring for Nagios?
        1) ENVIROMUX-MINI
        2) ENVIROMUX-SEMS-16
        3) IPDU-S2
Enter choice [1]: 1
Enter the IP address of the device: 192.168.1.100
Enter the SNMP community string [public]: public
Which type of service to generate?
        1) One service for the entire device
        2) One service for each sensor
Enter choice [1]: 1
Listing 3: Vom Script abgefragte Informationen bei der Erstellung einer Produktkonfiguration

Nach der Eingabe aller erforderlichen Informationen wird das Skript eine entsprechende Konfiguration auf der Grundlage Ihrer Eingaben erzeugen und auf dem Bildschirm ausgeben. Ein Beispiel für eine solche Konfiguration wird unter Listing 4 dargestellt.
# You need to define this command exactly once to monitor NTI products.
# define command{
#       command_name    check_nti_snmp
#       command_line    $USER1$/check_nti_snmp.pl -H $HOSTADDRESS$ $ARG1$
#       }
#

define host{
        use                    generic-host
        host_name              enviromuxMini_192.168.1.100
        alias                  ENVIROMUX-MINI 192.168.1.100
        address                192.168.1.100
        max_check_attempts     5
        }

define service{
        use                    generic-service
        host_name              enviromuxMini_192.168.1.100
        service_description    ALL_SENSORS
        check_command          check_nti_snmp!-m batch -C public -p enviromuxMini
        }  
Listing 4: Von dem Script erzeugte Beispielkonfiguration

Installation der Produktkonfiguration in Nagios
Die von dem Script erzeugte Konfiguration muss nun in Nagios hinzugefügt werden. Eine Möglichkeit ist, ein Verzeichnis für alle NTI-Produktkonfigurationen zu erstellen und Nagios über dieses Verzeichnis zu informieren. In diesem Beispiel fügen wir das Verzeichnis /usr/local/nagios/etc/objects/networktechinc/Nagios hinzu und erstellen anschließend eine separate Datei für jedes Gerät, das wir überwachen möchten. Um dies zu tun, fügen Sie den Text ensprechend Listing 5 in der Datei /usr/local/nagios/etc/nagios.cfg ein.
# Directory for Network Technologies Inc device configurations
cfg_dir=/usr/local/nagios/etc/objects/networktechinc
Listing 5: Hinzufügen eines Konfigurationsverzeichnis in Nagios

Kopieren Sie die zuvor erstellte Konfigurationsdatei und fügen Sie diese in eine neue Datei im Verzeichnis /usr/local/nagios/etc/objects/networktechinc ein. Sie können dieser einen beliebigen Namen geben. Wenn diese Datei sich am richtigen Ort befindet, können Sie Ihre Konfiguration überprüfen und Nagios neustarten. Ihre neu hinzugefügten Geräte und Dienste sollten nun von Nagios überwacht werden.


Fehlerbehebung
Nach Abschluss aller Schritte können eventuell Probleme auftreten. Folgende Probleme und ihre häufigsten Ursachen können sie der Service Detail-Seite in Nagios entnehmen.
  • Plugin-Ausgabe sagt: Return code of 126 is out of bounds - plugin may be missing
    • Dies deutet üblicherweise auf ein Berechtigungsproblem mit dem Plugin-Script hin. Vergewissern Sie sich, dass die korrekten Benutzer- und Gruppenberechtigungen für check_nti_snmp.pl gesetzt sind. Vergewissern Sie sich auch, dass das Script ausgeführt werden kann.

  • Plugin-Ausgabe sagt: Return code of 127 is out of bounds - plugin may be missing
    • Dies deutet üblicherweise auf eine Diskrepanz zwischen der Befehlsdefinition und dem tatsächlichen Dateinamen des Scripts hin. Vergewissern Sie sich, dass die Befehlsdefinition check check_nti_snmp den korrekten Dateinamen angibt (check_nti_snmp.pl).

  • Plugin-Ausgabe sagt: ERROR - unable to acquire sensor data!
    • In diesem Fall ist das Script nicht dazu in der Lage, Sensordaten von dem Gerät auszulesen. Vergewissern Sie sich, dass das Gerät Strom hat. Vergewissern Sie sich, dass die IP-Adresse korrekt ist. Vergewissern Sie sich, dass der SNMP-Agent des Geräts aktiviert ist.
Abhängig von Ihrem System können weitere Probleme beim Ausführen des Scripts auftreten.
  • -bash: ./check_nti_snmp.pl: /usr/bin/perl: bad interpreter: No such file or directory
    • Das Script geht davon aus, dass perl unter /usr/bin/perl installiert ist. Vergewissern Sie sich, dass perl installiert ist. Falls es installiert es, geben Sie den korrekten Pfad in der ersten Zeile des Scripts an.

  • ERROR: You do NOT have the Net::SNMP library
    • Das Script benötigt das Modul Net::SNMP für perl. Vergewissern Sie sich, dass das Modul installiert ist.
Für weitere Informationen zur Installation, Konfiguration und zum Betrieb von Nagios, beachten Sie bitte die Nagios Bedienungsanleitung.