Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— |
snmp-traps_annehmen_mit_snmptt_nagtrap [2015/05/31 13:38] (aktuell) admin angelegt |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== 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 | ||
+ | } | ||
+ | |||
+ | |||
+ | ===== Weblinks ===== | ||
+ | |||
+ | * http://www.nagtrap.org/dokuwiki/doku.php?id=doku:nagios | ||
+ | * http://www.nagtrap.org/dokuwiki/doku.php | ||
+ | * http://www.nagios-wiki.de/nagios/howtos/snmptt | ||
+ | * http://www.snmptt.org/docs/snmptt.shtml#Installation-Overview | ||