Translations of this page:

Installation der NDO Utils

FIXME Überarbeitung notwendig

Es fängt wieder alles mit dem Download der NDO Utils an. Die Sourcen sind auf SourceForge zu finden.

Wie bei der Installation von Nagios auch, wird das Archiv entpackt und mit “./configure“ mit anschließendem „make“ übersetzt. Ein „make install“ gibt es bei der Version 1.2 noch nicht. Wichtig ist ab der Version 1.4x das ihr bei “.configure“ folgende Optionen mit angebt(Bsp. für SuSE mit MySQL 5.1):

./configure - -with-mysql-lib=/usr/lib/mysql - -enable-pgsql=no - -enable-mysql

Zum compilieren werden die Mysql Devel Pakete benötigt. Sind diese nicht vorhanden wird eine entsprechende Meldung beim ./configure ausgegeben.

Ab der Version 1.3.1 bietet NDO bereits Unterstützung für Nagios 3.x . Daher werden ndo2db und ndomod.o in 2 Versionen erstellt. Einmal mit “-2x“ und einmal mit “-3x“ als Prefix im Namen. Ihr müsst die jeweils zur Nagios Version passenden Dateien verwenden. Im weiteren lasse ich die Versionshinweise in den Dateinamen weg.

Nach erfolgreichem kompilieren liegen die fertigen Binarys im Verzeichnis src. Diese müssen nun noch manuell an passende Stellen kopiert werden. Wo die Dateien liegen ist eigentlich egal, die Pfade müssen nur in den CFG Dateien entsprechend angegeben werden.

  • ndo2db → /usr/local/nagios/bin
  • ndomod.o → /usr/local/nagios/ndo

Bitte auf die Berechtigungen achten!

Die Config Files liegen im Verzeichnis config. Wir brauchen die ndo2db.cfg und die ndomod.cfg.

Mysql Datenbank anlegen

Ein SQL Dump um die Datenbank anzulegen ist bei den NDO Utlis dabei und liegt im Verzeichnis „db“. Voraussetzung für die folgenden Schritte ist eine laufende MySQL-Datenbank. Zuerst wir eine neue Datenbank mit Namen „nagios“ angelegt:

mysqladmin -u root -p create nagios

Danach wird die neue DB mit Leben gefüllt. Der Dump db/mysql.sql wird eingespielt.

mysql -u root -p nagios < mysql.sql

In der ndoutil Version 1.4b7 empfiehlt es sich, noch folgendes SQL Script laufen zu lassen, da es sonst zu Problemen mit Unique Keys innerhalb der DB kommen wird. Die Datenbank lehnt dann Einträge ab und die SQL-Statements erscheinen in /var/log/messages und/oder /var/log/syslog als Fehler.

 mysql -u root -p nagios <  mysql-mods-1.4b7.sql

Nun benötigen wir noch einen Datenbank User. Hier der User „nagios“ mit Passwort „geheim“. Dazu wird wieder mysql als user root aufrufen um folgende 3 Befehle an die Datenbank abzusetzen.

User „nagios@localhost“ mit Passwort „geheim“ anlegen.

 GRANT USAGE ON * . * TO 'nagios'@'localhost' IDENTIFIED BY 'geheim' 
 WITH MAX_QUERIES_PER_HOUR 0
 MAX_CONNECTIONS_PER_HOUR 0
 MAX_UPDATES_PER_HOUR 0 ;

Rechte für den User zuweisen

 GRANT SELECT , INSERT , UPDATE , DELETE ON `nagios`.* TO 'nagios'@'localhost';

und Mysql anweisen die Änderungen einzulesen.

 FLUSH PRIVILEGES;

NDO2DB starten

Bevor ndo2bd zum ersten mal gestartet werden kann muss die Config Datei ndo2db.cfg noch einmal angepasst werden.

Wichtig sind die Datenbank Parameter db_name, db_user und db_pass. Diese bitte an die eigenen Werte anpassen.

Sind alle Werte geprüft, kann ndo2db zum ersten mal gestartet werden.

ACHTUNG: Alles weiteren Befehle nur noch als nagios User ausführen. Nicht als root !

NDO2DB wir wie folgt gestartet:

 /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg

Dabei legt ndo2db ein Socket /usr/local/nagios/var/ndo.sock an. In dieses Socket muss der Nagios Daemon schreiben können, daher ist es wichtig das ndo2db unter dem gleichen user wie Nagios läuft.

Ob ndo2bd läuft erkannt man zuerst an der Prozessliste.

 ps -ef | grep ndo2db

Es sollte nun ein Prozess auftauchen. Zusätzlich muss ndo.sock angelegt worden sein.

NDOMOD einbinden

Nachdem nun ndo2db auf Daten wartet, muss Nagios diese auch senden.

Dafür muss das NEB Modul ndomod.o geladen werden. Dies erfolgt über einen Eintrag in der nagios.cfg

 broker_module=/usr/local/nagios/ndo/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg

Somit wird der Nagios Daemon angeweisen das Modul ndomod.o zu laden. Bevor nun Nagios neu gestartet wird sollte auf jeden Fall die ndomod.cfg kontrolliert werden.

Nach einem Nagios Neustart werde nun die Daten von ndomod.o in das Socket ndo.sock geschrieben, dort von ndo2db verarbeitet und in die Datenbank geschrieben.

Funktion prüfen

Da jetzt eine Nagios Instanz mit ndo2db verbunden ist, müssen nun 2 ndo2db Prozesse laufen. Der Master Prozess unter PPID 1 und ein weiterer für jede Instanz.

 nagios    2262     1  0 09:46 ?        00:00:00 /usr/local/nagios/bin/ndo2db -c /usr...
 nagios    2271  2262  0 09:46 ?        00:00:02 /usr/local/nagios/bin/ndo2db -c /usr...

Nagios Meldet das erfolgreiche laden von NDOMOD zusätzlich im nagios.log.

[1137662860] LOG VERSION: 2.0
[1137662860] ndomod: NDOMOD 1.2 Copyright (c) 2005-2006 Ethan Galstad (nagios@nagios.org)
[1137662860] ndomod: Successfully connected to data sink.  0 queued items to flush.
[1137662860] Event broker module '/usr/local/nagios/neb/ndomod.o' initialized successfully.
[1137662860] Finished daemonizing... (New PID=18854)

Ob nun wirklich Daten in die Mysql Datenbank geschrieben werden lässt sich mit einem einfachen select prüfen.

 mysql -u nagios -pgeheim nagios
mysql> SELECT  check_type ,  state_type,  current_state  FROM  nagios_hoststatus;
+------------+------------+---------------+
| check_type | state_type | current_state |
+------------+------------+---------------+
|          0 |          1 |             0 |
|          0 |          1 |             1 |
+------------+------------+---------------+
2 rows in set (0.00 sec)

Mit diesem SELECT werden die Felder check_type , state_type und current_state aus der Tabelle nagios_hoststatus ausgelesen. Die Anzahl der zurückgelieferten Zeilen des SQL-Statements entspricht der Anzahl der bereits durch Nagios überwachten Hosts.

nagios/ndo/installation.txt · Zuletzt geändert: 2009/06/23 16:25 von hellermartin
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0