Einbindung in Nagios
Das Plugin check_snmptraps.pl
Mit dem neuen Plugin, kann nach bestimmten Traps in der DB gesucht und alarmiert werden! Auch die Ausgabe der Message von einem Trap ist möglich.
Vorrausetzung:
Installation des Perl-Moduls DBI
Installation:
Kopiert das Plugin Euer libexec-Verzeichnis von Nagios. Damit sich das Plugin nun noch Eure DB verbinden kann, müsst Ihr noch folgende Parameter im Plugin anpassen:
my $dbHost = "localhost"; my $dbName = "snmptt"; my $dbUser = "root"; my $dbPass = ""; my $dbTable = "snmptt";
Das wars!
Aufruf des Plugins:
-H (--hostname)
Host der in der DB auf Traps geprüft werden soll
-C (--category)
Kategory vom SNMP-Trap (optional)
-O (--oid)
OID vom SNMP-Trap (optional)
-w (--warning)
Prüft nur nach warning Traps in der Datenbank
-c (--critical)
Prüft nur nach critical Traps in der Datenbank
-u (--unknown)
Prüft nur nach unknown Traps in der Datenbank
(Default ist die Option -w, -c und -u gesetzt)
-r (--read)
Prüft auch Trap in der Datenbank, die als gelesen markiert sind
-m (--message)
Gibt die Message des letzten warning, critical und unknown Traps in der DB aus
Diese Option benötigt die Option -w, -c oder -u
-t (--timeout)
Zeit in Sekunden, bevor das Plugin abbricht(default=15)
-V (--version)
Plugin version
-h (--help)
Diese Hilfe
Ein Aufruf des Plugins kann folgendermaßen aussehen:
./check_snmptraps.pl -H srv_tes_02 -m -c
Ausgabe:
CRITICAL - 1 critical Trap: This was only a test message for NagTrap|'critical trap='1;;;;
oder
./check_snmptraps.pl -H srv_tes_02 -m -c -O '.1.3.6.1.4.1.10418.2.1.3.0.27'
Ausgabe:
CRITICAL - 1 critical Trap: This was only a test message for NagTrap|'critical trap='1;;;;
usw. Derzeit ist es noch nicht Möglich Schwellwerte mit zu übergeben!
Das Plugin check_snmp_traps
Zum auslesen der in der Datenbank gespeicherten Traps ist das Plugin check_snmp_traps zuständig. check_snmp_traps wird bei den anderen Plugins im Verzeichnis libexec abgelegt.
Das Plugin ist ein Bash Script. In den ersten Zeilen muss daher der zu verwendende DB User mit Passwort eingetragen werden.
#!/bin/bash #set -xv # # Script zum prüfen der SNMPTT Datenbank. # # #set -xv MYSQL=/usr/bin/mysql MYSQL_USER=snmptt MYSQL_DB=snmptt MYSQL_PASS=snmptt ....
Danach kann das Plugin als user nagios gestestet werden.
check_snmp_traps -H <ip-adresse oder hostname>
Ob der Hostname oder die IP Adresse angegeben werden muss, ist davon abhängig wie das Feld „hostname“ in der Datenbank gefüllt wird. Dies ist abhängig von den Einstellungen in der snmptt.ini.
Nagios Service Extinfo
Die Nagios Service Extinfo sollte so aussehen:
define serviceextinfo {
host_name < NAGIOS HOST >
service_description SNMP Alerting
notes SNMP Alerts
notes_url http://<servername>/nagios/snmptraps/index.php?hostname=$HOSTADDRESS$
}
