Nagios - Automatische Überwachung einer IT-Infrastruktur, Teil 2
Erweiterungen
Durch verschiedene Addons kann die Funktionsweise von Nagios erweitert werden. Die wichtigsten werden hier vorgestellt.
Vorwort
Durch verschiedene Addons kann die Funktionsweise von Nagios erweitert werden. Die wichtigsten werden hier vorgestellt.
NDOUtils
Für spätere Updates ist es notwendig, eine Anbindung an eine Datenbank zu haben. Dafür wird hier NDOUtils benutzt, um die Nagios-Daten in eine MySQL-Datenbank zu schreiben. Dafür macht es vom Event-Broker von Nagios Gebrauch, welcher Module bei jedem Event mit hinzufügt und diese bei Bedarf ausführt. Das Modul hier heißt ndomod, das dadurch ausgeführte Programm ndo2db.
Installation
Man geht zunächst standardmäßig vor:
./configure make
Leider gibt es noch kein Installations-Skript, daher müssen die Daten manuell kopiert werden. Da wir Nagios 3 haben, kopiert man folgende Dateien:
cd /pfad/zu/ndo/ cp ./ndo2db-3x ./ndomod-3x.p /usr/local/nagios/bin # (bei Nagios 2: 2x) cp ./ndo2db.cfg ./ndomod.cfg /usr/local/nagios/etc
In MySQL erstellt man eine Datenbank namens Nagios, in die man das vorgefertigte MySQL-Script lädt. Außerdem nehmen wir an, dass das Modul als root auf die Datenbank zugreift, daher erstellen wir nicht extra einen User.
mysql CREATE DATABASE nagios exit cd /<NDO-Quelle>/db mysql -u root -p nagios < mysql.sql
Konfiguration
Einstellungen nehmen wir nur in den Dateien ndo2db.cfg und nagios.cfg vor:
ndo2db.cfg:
db_user=root db_pass= db_prefix=nagios_ (eventuell schon eingestellt)
nagios.cfg (am besten unter Broker-Module, ca. Z. 250):
broker_module=/usr/local/nagios/bin/ndomod-3x.p config_file=/usr/local/nagios/etc/ndomod.cfg
Nun noch Nagios und NDO starten:
/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg /etc/init.d/nagios restart/start
Nun sollten die Daten von Nagios in die Datenbank geschrieben werden. Fehler werden in der Log-Datei nagios.log gespeichert.
Nützlich ist noch, das Startskript von Nagios anzupassen, so dass NDO auch gleich mitgestartet wird und nicht jedes Mal manuell gestartet werden muss:
vi /etc/init.d/nagios ~ Zeile 127 [...] su - $NagiosUser -c "/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg" su - $NagiosUser -c "touch $NagiosVarDir/nagios.log $NagiosRetentionFile" [...] ~ Zeile 147 pid_nagios killproc_nagios nagios killall ndo2db-3x [...]
Um Fehler zu vermeiden, sollte dafür gesorgt werden, dass MySQL vor Nagios/NDO startet.