Dies ist eine alte Version des Dokuments!
NagiosQL ist eine Konfigurations-Oberfläche für Nagios auf LAMP-Basis.
Bei der Installation von NagiosQL wird davon ausgegangen, dass bereits Nagios, Nagiosgraph und NagVis entsprechend des Artikels „Installation Nagios 4, Nagiosgraph, NagVis, Loghost“ installiert wurden.
apt-get install mysql-server phpmyadmin
Es werden spezielle PHP Module benötigt: ‐ session ‐ MySQL (php5‐mysql) ‐ gettext ‐ filter ‐ ftp (optional – für FTP Verbindung zu entfernten Servern) ‐ SSH (PECL Modul – optional – für SSH/SCP Verbindung zu entfernten Servern)
Welche Module installiert sind, lässt sich mit php -m
anzeigen. Im vorliegenden Fall muss nur SSH nachinstalliert werden
apt-get install libssh2-php
Abweichend von den Vorschlägen in der Installationsanleitung von NagiosQL wird die Verzeichnisstruktur analog zur Nagios-Installation unter /usr/local/nagiosql
angelegt.
#!/bin/bash # Verzeichnisse: mkdir /usr/local/nagiosql mkdir /usr/local/nagiosql/etc mkdir /usr/local/nagiosql/etc/hosts mkdir /usr/local/nagiosql/etc/services mkdir /usr/local/nagiosql/etc/backup mkdir /usr/local/nagiosql/etc/backup/hosts mkdir /usr/local/nagiosql/etc/backup/services # Berechtigungen: chown -R www-data.nagcmd /usr/local/nagiosql/etc # Berechtigungen der Nagios-Installation anpassen: chown -R www-data.nagcmd /usr/local/nagios/etc/nagios.cfg chown -R www-data.nagcmd /usr/local/nagios/etc/cgi.cfg chown -R www-data.nagcmd /usr/local/nagios/etc/resource.cfg chown -R www-data.nagcmd /usr/local/nagios/var/rw/nagios.cmd
Kontrolle der /etc/php5/apache2/php.ini
(angegebene Parameter sollen gesetzt sein)
; vi /etc/php5/apache2/php.ini ;... file_uploads = On ;... session.auto_start = 0 ;... date.timezone = "Europe/Berlin" ;... ;;;;;;;;;;;;;;;;;;;;;; ; Dynamic Extensions ; ;;;;;;;;;;;;;;;;;;;;;; extension = ssh2.so ; ...
Die eigentliche Apache-Config wird unter /etc/apache2/config-available/nagiosql.conf
angelegt. Bei der Zugriffsberechtigung wird direkt auf die Nagios-Authentifizierung zurückgegriffen, um einen einheitlichen Benutzer zu haben. Bei Bedarf kann natürlich auch eine eigene Berechtigungsstruktur aufgebaut werden.
# NAGIOSQL Alias /nagiosql "/usr/local/nagiosql/share" <Directory "/usr/local/nagiosql/share"> Options None AllowOverride None Order allow,deny Allow from all # Order deny,allow # Deny from all # Allow from 127.0.0.1 AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user </Directory>
Wie 'neuerdings' üblich wird die Config dann per Command aktiviert und die Config neu geladen:
a2enconf nagiosql service apache2 reload
NagiosQL wird nun entpackt und ins Webserververzeichnis /usr/local/nagiosql/share
verschoben und die Verzeichnisberechtigungen entsprechend angepasst.
cd /install tar xvf nagiosql_320.tar.gz mv nagiosql32 /usr/local/nagiosql/share chown -R www-data /usr/local/nagiosql/share chmod 750 /usr/local/nagiosql/share/config
NagiosQL sollte nun im Browser unter http://.../nagiosql
aufrufbar und dort der Installations Assistent sichtbar sein. In den Nun folgenden Dialogen sind lediglich die Kennwörter für MySQL und für den ersten NagiosQL-Benutzer zu hinterlegen. Außerdem sind die Verzeichnisse entsprechend der o.g. Anpassungen anzugeben. Die Haken für „Importiere Nagios Beispiel Konfiguration“ und „Erstelle NagiosQL Verzeichnisse“ werden gesetzt.
Die nagios.cfg muss angepasst werden, so dass Nagios zukünftig die Configurationsdateien von NagiosQL verarbeitet. Hierzu sind alle cfg_file
und cfg_dir
Einträge durch die folgenden zu ersetzen.
# vi /usr/local/nagios/etc/nagios.cfg # ... # NAGIOSQL cfg_file=/etc/nagiosql/contacttemplates.cfg cfg_file=/etc/nagiosql/contactgroups.cfg cfg_file=/etc/nagiosql/contacts.cfg cfg_file=/etc/nagiosql/timeperiods.cfg cfg_file=/etc/nagiosql/commands.cfg cfg_file=/etc/nagiosql/hostgroups.cfg cfg_file=/etc/nagiosql/servicegroups.cfg cfg_dir=/etc/nagiosql/hosts cfg_dir=/etc/nagiosql/services # NAGIOSQL optional cfg_file=/etc/nagiosql/hosttemplates.cfg cfg_file=/etc/nagiosql/servicetemplates.cfg cfg_file=/etc/nagiosql/servicedependencies.cfg cfg_file=/etc/nagiosql/serviceescalations.cfg cfg_file=/etc/nagiosql/hostdependencies.cfg cfg_file=/etc/nagiosql/hostescalations.cfg cfg_file=/etc/nagiosql/hostextinfo.cfg cfg_file=/etc/nagiosql/serviceextinfo.cfg