Nagios konfigurieren kann unter Umständen schon mal ziemlich aufwendig sein. Ganz besonders dann, wenn mehr als ein Server zu monitoren ist.

Ich habe eine engliche Anleitung gefunden, die ich hiermit übersetze und ein wenig modifiziere, da die Anleitung so nicht ganz funktioniert hat, bzw. unvollständig war.

1. Wie stellen fest, ob auf dem Server LAMP (Linux Apache PHP Mysql) installiert ist, ansonsten:

sudo apt-get install apache2
sudo apt-get install mysql-server mysql-client
sudo apt-get install php5 libapache2-mod-php5

Für Leute, die Ihr PHP gerne mit PHPMyAdmin administrieren möchten:

sudo apt-get install phpmyadmin

 

2. Nagios installieren:

sudo apt-get install nagios3

Normalerweise werden wie immer alle erforderlichen Abhängigkeiten mitinstalliert.
Die Installation kann/sollte mit http://nagios3 getestet werden.

 

3. Sollten Windows-Server mit NSClient++ gemonitort werden, muss noch das NRPE-Plugin installiert werden:

sudo apt-get install nagios-nrpe-plugin

 

 

4. Es ist immer sicherer, die original Konfigurationsdatein zu sichern, bevor wir daran rum fummeln:

sudo cp -r /etc/nagios3 /etc/nagios3.backup

 

5. Nconf runterladen:
Im Prinzip handelt es sich bei NConf um eine Web-basierte Oberfläche. Es müssen keine zusätzlichen Pakete installiert werden. NConf selber bekommt man mit:

wget http://sourceforge.net/projects/nconf/files/nconf/1.3.0-0/nconf-1.3.0-0.tgz

Zu diesen Zeitpunkt ist die Version 1.3.0 aktuell. Im Zweifelsfall kann unter http://sourceforge.net/projects/nconf/files/nconf/ die aktuelle Version einsehen.

 

6. Der Tarball wird in das Stammverzeichnisses des Webservers entpackt:

sudo tar xzvf nconf-1.3.0-0.tgz -C /var/www

Unter Umständen müssen die Berechtigungen noch angepasst werden:

sudo chown -R www-data:www-data /var/www/nconf

Das wirft natürlich die Frage auf, unter welchen Rechten der Apache läuft. Das kann man aber sehen, wenn man sich das Verzeichnis ansieht und schaut, unter welchen Benutzer die bereits vorhandenen Dateien “laufen”:

ls -la /var/www/

 

7. Nun müssen wir eine MySQL-Datenbank erstellen. Ich benutze in diesen Fall PHP-MyAdmin.

Im Browser eingeben: http:///myphpadmin (mit Root anmelden:)

* Kartenreiter “Rechte”
* “Neuen Benutzer hinzufügen”
* Benutzername nconf
* Host: localhost
* Passwort: entweder generieren, und notieren, oder selber vergeben
* Radio-Button bei “Erstelle eine Datenbank mit gleichen Namen und gewäre Rechte” setzen
* Klick auf “OK”
* Rechte aktualisieren

 

8. NConf installieren:

Aufruf von http://nconf

Auf der Datenbank-Konfigurations-Seite die eben vergebenen Daten mit dem vergebenen Passwort eintragen. Alles andere kann Standard bleiben. Bis auf den Pfad zu der Nagios-BIN, die muss auf /usr/sbin/nagios3 geändert werden, damit der Pfad stimmt.

Bevor NConf aufgerufen werden kann, müssen aus Sicherheitsgründen noch die Installationsdateien gelöscht werden.

sudo rm -r /var/www/nconf/INSTALL
sudo rm /var/www/nconf/INSTALL.php
sudo rm -r /var/www/nconf/UPDATE
sudo rm /var/www/nconf/UPDATE.php

Bei mir war es noch nötig verschiedene Rechte zu setzen, bis das Skript einwandfrei funktionierte:

chmod 777 /var/www/nconf/config/
chmod 777 /var/www/nconf/config.orig/
chmod 777 /var/www/nconf/output/
chmod 777 /var/www/nconf/temp/
chmod 777 /var/www/nconf/static_cfg/

 

9. Jetzt müssen wir noch ein paar Änderungen an den Nagios Konfigurationsdateien durchführen.
Dazu öffne die Datei /etc/nagios3/nagios.cfg mit sudo und den Editor deiner Wahl, und kommentiere alle Dateien mit einen # aus, die mit cfg_dir= oder cfg_file= beginnen, und ergänze folgende Zeilen:

cfg_dir=/etc/nagios3/global
cfg_dir=/etc/nagios3/Default_collector

Sollten die Verzeichnisse nicht vorhanden sein, wird Nagios nicht laufen, sie müssten dann manuell angelegt werden (natürlich auch als Root):

mkdir /etc/nagios3/global
mkdir /etc/nagios3/Default_collector

Das Verzeichnis /etc/nagios3/import muss auf jeden Fall angelegt werden:

sudo mkdir /etc/nagios3/import

 

10. Lange dauert es nicht mehr. Bitte nutze sudo und den Editor deiner Wahl um die Datei /var/www/nconf/ADD-ONS/deploy_local.sh zu öffnen.
Ändere den Pfad zu den Dateien:

OUTPUT_DIR=”/var/www/nconf/output/”
NAGIOS_DIR=”/etc/nagios3/”

Danach lade die Nagioseinstellungen mit dem folgenden Befehl neu:

/etc/init.d/nagios3 reload

 

11. Das folgende Skript erstellt die von Nagios benötigten Konfigurationsdateien und startet Nagios neu. Dazu muss es als Cronjob eingerichtet werden. Dazu bitte einmal Cron aufrufen.

sudo crontab -e

und folgende Zeile einfügen:

* * * * * /var/www/nconf/ADD-ONS/deploy_local.sh

Bei mir hatte ich das Problem, dass ich die folgende Fehlermeldung bekommen habe:

bash: /etc/init.d/nagios: Datei oder Verzeichnis nicht gefunden

Um den Fehler zu beheben musste ich mit sudo in der Datei /var/www/nconf/ADD-ONS/deploy_local.sh

/etc/init.d/nagios reload

durch

/etc/init.d/nagios3 reload

ersetzen.

 

12. Geschafft! NConf kann spätestens jetzt über http://server/nconf/ aufgerufen werden.
Wenn man jetzt auf Generate Nagios config klickt, sollte man folgendes sehen:

[ Initializing NConf perl-API (library version 0.2, written by A. Gargiulo) ]
[ Copyright (c) 2006-2009 Sunrise Communications AG, Zurich, Switzerland ]

[INFO] Starting generate_config script
[INFO] Generating global config files
[INFO] Generating config for Nagios-collector ‘Default Nagios’
[INFO] Ended generate_config script

Running syntax check:

Default_collector: Total Warnings: 0 Total Errors: 0
Changes updated successfully.

Und nach 2-3 Minuten sollten in Nagios unter Server bzw. Hosts ein paar Testserver erscheinen.

Sollte dem nicht so sein, am besten nochmal die Anleitung durchgehen.

Absicherung:

Nconf ist noch nicht geschützt. Ich habe bei mir mit .htaccess ein Passwortschutz angelegt, da mein Server von aussen erreichbar ist. Das kann man z.B.mit Webmin erledigen, sollte man ein wenig Shell-faul sein.

 

Bei Ubuntu 10.04 war in der /etc/apache2/apache2.conf für den Vhost /var/www/

AllowOverride None

gesetzt und muss durch:

AllowOverride All

ersetzt werden. Nach einen Neustart des Apache2 (etc/init.d/apache2 restart bzw. service apache2 restart) sollte auch .htaccess funktionieren.

 

Nagios vom Handy aus aufrufen:

Noch ein kleiner Tipp:
unter der Adresse: deinserver/nagios3/cgi-bin/statuswml.cgi

Kann man auch Nagios über ein Handy/Smartphone aufrufen. Dazu ist nur ein WAP-fähiger Browser nötig, unter Android z. B. Opera.

Sinn macht das ganze natürlich nur, wenn Nagios von aussen erreichbar ist, entweder durch eine feste IP/Domain, oder z. B. Dyndns.

Für Kritik und Verbesserungsvorschläge bin ich immer dankbar.

Original: community.spiceworks.com/how_to/show/1802

Leave a Comment

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.