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_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-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).
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 ...
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 !! ...
###### 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
}