Benutzer-Werkzeuge

Webseiten-Werkzeuge


snmp-traps_annehmen_mit_snmptt_nagtrap

SNMP-Traps annehmen mit SNMPTT/NagTrap

Voraussetzungen (Pakete)

  • php5
  • libconfig-inifiles-perl
  • snmpd
apt-get install php5 libconfig-inifiles-perl snmpd

Sicherstellen, dass in /etc/apache2/mods-enabled diese Links gesetzt sind:

php5.conf -> ../mods-available/php5.conf
php5.load -> ../mods-available/php5.load

snmptt

snmptt_1.2.tgz gibt es bei [http://downloads.sourceforge.net/snmptt/snmptt_1.2.tgz?modtime=1181989825&big_mirror=0 sourceforge.net] oder im Download-Bereich http://www.jbackes.de/downloads/nagios/snmptt/snmptt_1.2.tgz

Entpacken und in das Verzeichnis wechseln, die Dateien an die richtigen Stellen kopieren und Ausführungsrechte setzen.

cp snmptt /usr/sbin/
chmod +x snmptt
cp snmptthandler /usr/sbin/
chmod +x snmptthandler
cp snmptt.ini /etc/snmp/

Anpassungen in der snmptt.ini

# mode = standalone 
mode = daemon 

# mysql_dbi_enable = 0 

mysql_dbi_enable = 1

# damit auch unbekannte Traps weggeschrieben werden
unknown_trap_log_enable = 1
# Benutzer-Informationen
mysql_dbi_username = user
mysql_dbi_password = password

Hiernach im Verzeichnis /etc/snmp/ die Datei snmptt.conf anlegen. Hier werden alle Traps definiert. Beispiel für den HP-Agent Testtrap:

# HP Agents Test Trap
EVENT cpqTestTrap .1.3.6.1.4.1.232.0.11003 "Test Trap" INFO
FORMAT Test Trap

Für den deamonmode muss folgendes in der /etc/snmp/snmptrapd.conf konfiguriert sein:

disableAuthorization yes
traphandle default /usr/sbin/snmptthandler

Der snmptrapd übergibt somit dem snmptthandler den eingehenden SNMPTRAP.

Das Startscript snmptt-init.d nach /etc/init.d/snmptt kopieren, ausführbar machen, anpassen, testen und starten.

cp snmptt-init.d /etc/init.d/snmptt
chmod +x /etc/init.d/snmptt

Ein für Ubuntu angepasstes Startscript, findet sich auch im Downloadbereich: http://www.jbackes.de/downloads/nagios/snmptt/snmptt_startscript.txt (umbenennen und ausführbar machen nicht vergessen).

Den snmptrapd mit der Option -On starten. (-On bedeutet, dass die Traps nummerisch an den snmptt übergeben werden) snmptrapd -On

Das Verzeichnis /usr/spool/snmptt anlegen. Hier werden temporär Daten von snmptt gespeichert.

MySQL

mysql-server-5.0 installieren:

apt-get install mysql-server-5.0

Anlegen der snmptt DB:

mysqladmin -p create snmptt

Es wird automatisch ein User snmptt in der DB angelegt, der für das Frontend, snmptt und das Nagiosplugin genutzt werden kann. Diesem ein Passwort geben (z.B.: über phpmyadmin unter Rechte / Rechte ändern).

NagTrap

Herunterladen von [http://www.nagtrap.org/dokuwiki/doku.php?id=download:files nagtrap-0.1.2.tar.gz]

In das htdocs - Verzeichnis von Nagios ( z.B. /usr/share/nagios2/htdocs/) entpacken. Im Verzeichnis */htdocs/nagtrap/db liegen drei SQL Scripte. Zwei Versionen der von snmptt und eine von snmptt_unknown.sql. Genutzt wird snmptt-1.2.sql und snmptt_unknown.sql.

Mit diesen Scripten wird die DB-Struktur angelegt:

mysql -u user -p snmptt < snmptt-1.2.sql
mysql -u user -p snmptt < snmptt_unknown.sql

(…-p snmptt… = snmptt ist nicht das Passwort sondern die Datenbank, in der die Struktur angelegt werden soll)

Das Frontend benötigt unter anderem die Zugangsdaten zur Mysql Datenbank. Dies erfolgt in der Datei config.ini.php

;# Enter here your information that were used to connect to your database
[database]
host = localhost
user = user
password = pasword
name = snmptt
tableSnmptt = snmptt

...

Der allowedUser muss von nagiosadmin auf nagios geändert werden.

;# If you use the authentification, then entry here the User that
;# may changes on the Web-Frontend comma seperated.
allowedUser = nagios
...

Die „URL to Nagios“ muss auf nagios2 geaädert ertden:

[nagios]
;# Url to Nagios 
prefix = /nagios2 
...

Einbinden in Nagios

Das mitgelieferte Nagiosplugin von */htdocs/nagtrap/plugin/check_snmptraps.pl in das Nagiospluginverzeichnis kopieren. Mit diesem Plugin kann geziehlt nach Traps in der DB gesucht werden. Das Plugin benötigt Ebenfalls die Zugangsdaten zur MYSQL DB.

# ==================== Database connect information ====================
my $dbHost = "localhost";
# my $dbName = "snmptt_new";
my $dbName = "snmptt";
my $dbUser = "USER";
my $dbPass = "PASSWORD";
my $dbTable = "snmptt";
...

Der Pfad zum util.pm muss ebenfalls angepasst werden:

# use lib "./"; # Pfad zur util.pm !!
use lib "/usr/lib/nagios/plugins"; # Pfad zur util.pm !!
...

Konfigurationsbeispiel 1 Allgemein

###### NagTrap
define command{
command_name NagTrap
command_line /usr/lib/nagios/plugins/check_snmptraps.pl -H $HOSTADSESS$
}
###### NagTrap
define service{
use                  generic-service
host_name            localhost
service_description  NagTrap
check_command        NagTrap
}
snmp-traps_annehmen_mit_snmptt_nagtrap.txt · Zuletzt geändert: 2015/05/31 13:38 von admin