Translations of this page:

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$
        }
 
doku/nagios.txt · Zuletzt geändert: 2009/07/26 00:58 von mluebben     Nach oben