check_snmp_bulk

Mit dem check_snmp_bulk Plugin können verschiedene SNMPWerte abgefragt werden.

Download + Repository

Dieses Plugin ist Bestandteil des Pakets shd-nagios-plugins-opensource. Das entsprechende Repository befindet sich auf GitHub:

https://github.com/SHD-System-Haus-Dresden-GmbH/shd-nagios-plugins-opensource   

https://github.com/SHD-System-Haus-Dresden-GmbH/shd-nagios-plugins-opensource/blob/master/plugins/check_snmp_bulk

Dokumentation

Mit diesem Plugin ist es möglich vershiedene Werte eines SNMP fähigen Hosts abzufragen. Dazu müssen ie OIDs angegeben werden.

Argumente

-H/--host HOST Hostname oder IP-Adresse

-C/--commnity COMMUNITY snmp Community String

-h/--help Anzeige der Hilfe

-L/--label-oid SNMP Label OID

-S/--state-oid SNMP STate OID

-R/--regex Regular Expression für das Ergebnis der SNMP Abfrage. Wenn dieregex matcht liefert das Plugin OK zurück.

-F/--field-seperator Spezifieziert das Trenneichen für Listen.

-I/-include Include Liste

-E/-exclude Exclude Liste

-l/--list Führt alle Einträge auf, die zu einer Label und State-OID Kombintion gehören. Nur zur Anzeige, nicht für Checks.

-o/--ok-label Rückgabestring für OK Status.

-p/--perfdata Schaltet di Performancedaten Generierung ein

-u/--uom Einheit der Performancedaten

-T/--tag Zusätzlicher String für Ausgabe.

-i/--info Informative OIDs werden ngezeigt.

-b/--breakline Fügt jder ausgabezeile einen HTML-Zeilenumbruch "<br/>" hinzu

-t/--timeout Plugintimeout (Standrad: 15s)

-c/--critical CRITICAL Schwellwert für CRITICAL Status

-v/--verbosity (0, 1, 2) Ändert den Ausgabeumfang des Plugins.

-x/--snmp-index Statt des SNMP-Labels kann hier der SNMP-Index benutzt werden.

-p/--snmp-version Spezifiziert dieSNMPVersion (1 odr 2c)

Commands

./check_snmp_bulk -H $HOSTADDRESS$ -C $ARG1$ -S .1.3.6.1.4.1.9.9.13.1.4.1.3 -L .1.3.6.1.4.1.9.9.13.1.4.1.2 -w 1 -c 2 -o 'All fans'

Dieses Command überwacht alle Lüfter eines Cisco Geräts via SNMP.

./check_snmp_bulk -H $HOSTADDRESS$ -C $ARG1$ -S .1.3.6.1.4.1.9.9.13.1.5.1.3 -L .1.3.6.1.4.1.9.9.13.1.5.1.2 -w 1 -c 2 -o 'All power supply units'

Diese Command überprüft alle Stromversorgungseinheiten eines Cisco Gerätes via SNMP.

./check_snmp_bulk -H $HOSTADDRESS$ -C $ARG1$ -S .1.3.6.1.4.1.9.9.13.1.3.1.6 -L .1.3.6.1.4.1.9.9.13.1.3.1.2 -w 1 -c 2 -o 'All temperature sensors'

Überwacht den Status aller Temperatursensoren eines Cisco Gerätes via SNMP.

./check_snmp_bulk -H $HOSTADDRESS$ -C $ARG1$ -S .1.3.6.1.4.1.11.2.14.11.1.2.6.1.4 -L .1.3.6.1.4.1.11.2.14.11.1.2.6.1.7 -w 4:4 -c 3:4 -o 'Sensor overall state'

Überwacht alle Sensoren eines HP ProCurve Switches. Im Alarmfall werden die den Alarm auslösenden Sensoren angegeben.

./check_snmp_bulk -H $HOSTADDRESS$ -C '$ARG1$' -S .1.3.6.1.4.1.232.11.2.3.1.1.2 -x -w '$ARG2$' -c '$ARG3$' -T 'CPU ' -p -o 'CPUs utilization 1 minute average'

Mit diesem Kommando lassen sich Checks erstellen, welche die durchschnittliche, prozentuale CPU Auslastung eines HP Servers der letzten Minute überwachen. Zur Überwachung wird jeder CPU-Kern einzeln betrachtet, der Check meldet also einen Alarm, sobald einer der CPU-Kerne den Schwellenwert überschreitet. Es lassen sich Trendgraphen für jeden Kern erstellen.

./check_snmp_bulk -H $HOSTADDRESS$ -C '$ARG1$' -S .1.3.6.1.4.1.232.11.2.3.1.1.4 -x -w '$ARG2$' -c '$ARG3$' -T 'CPU ' -p -o 'CPUs utilization 30 minutes average'

Mit diesem Kommando lassen sich Checks erstellen, welche die durchschnittliche, prozentuale CPU Auslastung eines HP Servers der letzten 30 Minuten überwachen. Zur Überwachung wird jeder CPU-Kern einzeln betrachtet, der Check meldet also einen Alarm, sobald einer der CPU-Kerne den Schwellenwert überschreitet. Es lassen sich Trendgraphen für jeden Kern erstellen.

./check_snmp_bulk -H $HOSTADDRESS$ -C '$ARG1$' -S .1.3.6.1.4.1.232.11.2.3.1.1.3 -x -w '$ARG2$' -c '$ARG3$' -T 'CPU ' -p -o 'CPUs utilization 5 minutes average'

Mit diesem Kommando lassen sich Checks erstellen, welche die durchschnittliche, prozentuale CPU Auslastung eines HP Servers der letzten 5 Minute überwachen. Zur Überwachung wird jeder CPU-Kern einzeln betrachtet, der Check meldet also einen Alarm, sobald einer der CPU-Kerne den Schwellenwert überschreitet. Es lassen sich Trendgraphen für jeden Kern erstellen.

 ./check_snmp_bulk -H $HOSTADDRESS$ -C '$ARG1$' -S .1.3.6.1.4.1.232.11.2.3.1.1.5 -x -w '$ARG2$' -c '$ARG3$' -T 'CPU ' -p -o 'CPUs utilization 60 minutes average'

Mit diesem Kommando lassen sich Checks erstellen, welche die durchschnittliche, prozentuale CPU Auslastung eines HP Servers der letzten 60 Minuten überwachen. Zur Überwachung wird jeder CPU-Kern einzeln betrachtet, der Check meldet also einen Alarm, sobald einer der CPU-Kerne den Schwellenwert überschreitet. Es lassen sich Trendgraphen für jeden Kern erstellen.

./check_snmp_bulk -H $HOSTADDRESS$ -C '$ARG1$' -L 1.3.6.1.4.1.334.72.1.1.6.1.2.1.4 -S 1.3.6.1.4.1.334.72.1.1.6.1.2.1.3 -R '.*' -I Router -o 'OK - router tasks are present'

Mit diesem Kommando lassen sich Checks erstellen, mit denen die Verfügbarkeit von Router Tasks von Lotus Notes Servern überwacht werden kann.

./check_snmp_bulk -H $HOSTADDRESS$ -C '$ARG1$' -L 1.3.6.1.4.1.334.72.1.1.6.1.2.1.4 -S 1.3.6.1.4.1.334.72.1.1.6.1.2.1.3 -R '.*' -I Sched -o 'OK - scheduler task is present'

Mit diesem Kommando lassen sich Checks erstellen, mit denen die Verfügbarkeit von Scheduler Tasks von Lotus Notes Servern überwacht werden kann.

./check_snmp_bulk -H $HOSTADDRESS$ -C $ARG1$ -S .1.3.6.1.4.1.789.1.17.17.1.1.6 -L .1.3.6.1.4.1.789.1.17.17.1.1.2 -o 'Fibre channel port target adapter overall status' -w 6:6 -c 5:6

Überwacht die Status aller Fibre Channel Target Adapter via SNMP.

./check_snmp_bulk -H $HOSTADDRESS$ -C $ARG1$ -L $ARG2$ -S $ARG3$ -R $ARG4$ -E '$ARG5$' -o '$ARG6$'

Mit diesem Command lassen sich mehrere Einträge in SNMP-Tabellen überwachen. Zum einen wird eine OID verwendet, die den Status repräsentiert, zum anderen eine OID, die den Bezeichner (Label) enthält. Anhand des Bezeichners wird der Index der zu überwachenden Ressource ermittelt. Über diesen Index wird der Status der entsprechenden Ressourcen ermittelt.

Da oft nur ein Teil der Einträge relevant sind, kann eine Exclude-Liste mit regulären Ausdrücken definiert werden. Alle Bezeichner, auf die das Muster zutrifft, werden nicht überwacht.

Hier ein Beispiel aus der HOST-MIB. Die Tabelle hat die OID .1.3.6.1.2.1.25.3.2.1. Der dritte Eintrag in dieser Tabelle (die vorletzte Ziffer ist eine 3) enthält die Beschreibungen aller verfügbaren Geräte:

.1.3.6.1.2.1.25.3.2.1.3.768 = STRING: GenuineIntel: Intel(R) Xeon(TM) CPU 3.00GHz
.1.3.6.1.2.1.25.3.2.1.3.769 = STRING: GenuineIntel: Intel(R) Xeon(TM) CPU 3.00GHz
.1.3.6.1.2.1.25.3.2.1.3.770 = STRING: GenuineIntel: Intel(R) Xeon(TM) CPU 3.00GHz
.1.3.6.1.2.1.25.3.2.1.3.771 = STRING: GenuineIntel: Intel(R) Xeon(TM) CPU 3.00GHz
.1.3.6.1.2.1.25.3.2.1.3.1025 = STRING: network interface lo
.1.3.6.1.2.1.25.3.2.1.3.1026 = STRING: network interface eth0
.1.3.6.1.2.1.25.3.2.1.3.1027 = STRING: network interface eth1
.1.3.6.1.2.1.25.3.2.1.3.1028 = STRING: network interface vmnet1
.1.3.6.1.2.1.25.3.2.1.3.1029 = STRING: network interface vmnet8
Der fünfte Eintrag enthält den Status der Ressourcen:

.1.3.6.1.2.1.25.3.2.1.5.768 = INTEGER: running(2)
.1.3.6.1.2.1.25.3.2.1.5.769 = INTEGER: running(2)
.1.3.6.1.2.1.25.3.2.1.5.770 = INTEGER: running(2)
.1.3.6.1.2.1.25.3.2.1.5.771 = INTEGER: running(2)
.1.3.6.1.2.1.25.3.2.1.5.1025 = INTEGER: running(2)
.1.3.6.1.2.1.25.3.2.1.5.1026 = INTEGER: running(2)
.1.3.6.1.2.1.25.3.2.1.5.1027 = INTEGER: running(2)
.1.3.6.1.2.1.25.3.2.1.5.1028 = INTEGER: running(2)
.1.3.6.1.2.1.25.3.2.1.5.1029 = INTEGER: running(2)
Als Label-OID würde somit die .1.3.6.1.2.1.25.3.2.1.3 verwendet werden, als Status-OID die .1.3.6.1.2.1.25.3.2.1.5.

Alle Ressourcen haben den Status '2'. Dies entspricht running und ist OK. Somit würde als regulärer Ausdruck einfach '2' angegeben werden.

Um nur die Netzwerkkarten und nicht die CPUs zu überwachen, würde in die Exclude-Liste folgendes eingetragen werden: Intel.

./check_snmp_bulk -H $HOSTADDRESS$ -C $ARG1$ -S .1.3.6.1.2.1.2.2.1.8 -L .1.3.6.1.2.1.2.2.1.2 -w @3:7 -c @2:2 -o 'All network interfaces'

Überprüft den Status aller Netzwerkschnittstellen eines Hosts über SNMP. Da die MIB2-Interfaces MIB verwendet wird, sollte der Check auf die meisten SNMP-fähigen Geräte anwendbar sein. Die Angabe einer SNMP-Community ist erforderlich.

Beispiel

./check_snmp_bulk -H $HOSTADDRESS$ -C public -S .1.3.6.1.2.1.2.2.1.8 -L .1.3.6.1.2.1.2.2.1.2 -w @3:7 -c @2:2 -o 'All network interfaces'

OK - All network interfaces

Installation

1. Clonen Sie das Git Repositorie

git clone https://github.com/SHD-System-Haus-Dresden-GmbH/shd-nagios-plugins-opensource.git

2. a.

Erstellen Sie ein Debian Paket (.deb)

cd shd-nagios-plugins-opensource

dpkg-buildpackage

installieren Sie das Paket mit

dpkg -i shd-nagios-plugins-opensource_XXX.deb

ACHTUNG:

Um die benötigten Libraries zu installieren brauchen Sie die Pakete python-nagiosplugin sowie python-xenapi

Erstellen Sie diese Pakete wie folgt:

Herunterladen der Python Module mit PIP

pip install --no-install --download="PFAD" nagiosplugin (xenapi)

Debian Verzeichnis erzeugen

py2deb nagiosplugin.tar.gz (xenapi.tar.gz)

Paket bauen

cd ../deb_dist/nagiosplugin (xenapi)

debuild

dpkg -i python-nagiosplugin (python-xenapi)

 

2. b.

Installieren Sie das Plugin von Hand

Dazu kopieren sie das Plugin (check_snmp_bulk) an eine Stelle Ihrer Wahl.

Copyright

Das bereitgestellte Plugin ist freie Software. Es kann unter den Bedingungen der GNU General Public License weiter gegeben und/oder modifiziert werden.

Autor und Kontakt

Autor(en) des Plugins ist/sind: Tobias Heinzmann (ehemaliger Mitarbeiter der SHD) Für Fragen, Hinweise, Vorschläge wenden Sie sich bitte an den auf dieser Seite angegebenen Ansprechpartner.




Trial-Version und weitere Informationen

Anfrage

Jetzt sind Sie am Zug!

Sie wollen die SM-BOX live erleben und in Ihrer Systemumgebung ausprobieren? Gern lassen wir Ihnen weitere Informationen zu SM-BOX und eine Trial-Version zukommen.

Ihre Kontaktdaten
:
:
:
 
 

News

SM-BOX-Anwenderforum 2016

Wissen und Erfahrungen aus erster Hand und der Austausch der Anwender untereinander standen im...

Rückblick auf den SM-SUITE Anwendertag 2014

Wissen und Erfahrungen aus erster Hand, eine tolle Lokation sowie spätsommerliches Wetter – all das...

Version 6.2 von SM-DOCU steht ab sofort zur Verfügung

Die neue Version beinhaltet eine Vielzahl von Neuerungen:- Kompatibilität zu Windows Server 2008...

Veranstaltungen

Neue Termine für Workshops und Webcasts sind in Planung. Schauen Sie bitte in Kürze wieder vorbei!

Ansprechpartner

Stefan Kauerauf
Stefan Kauerauf

Software-Entwickler


Tel.: 0351-4232-236
Fax: 0351-4232-100
stefan.kauerauf(at)shd-online.de

Social Media