wiki:programme:nagios:nagios

barcode

per YaST nagios installieren. Dabei wird nagios-www gleich mitinstalliert. Zusätzlich sollte man noch nagios-plugins installieren

Diese Dokumentation ist nur ein kleines Bruchstück, was man mit Nagios machen kann. Alle Pakete, die in diesem HowTo benutzt werden, sind mit „Erforderlich“ gekennzeichnet

Erforderlich PaketnameInhalte
ja nagiosProgramm Nagios
ja nagios-wwwWeboberfläche für Nagios
ja nagios-pluginsStandard-plugins wie z. B. check_ping, check_ssh, check_disk, check_dhcp
ja nagios-plugins-extraZusätzliche Plugins wie z. B. check_mysyl, check_hpdj, check_ldap, check_snmp
ja nagios-nrpezum Abfragen der Daten von entfernten Linux- und Windowsrechnern. Diese Paket beinhaltet den deamon
ja nagios-nrpe-serverPlugin von Nagios, das auf dem zu überwachenden Linuxrechner installiert werden
ja nagios-nrpe-clientPlugin zum engegennehmen von Daten des nrpe-servers
ja nagios-nrpe-docDokumentation nur für den nrpe-dienst von Nagios
nein nagios-plugins-nisVerschieden Plugins, die benötigt weden, wenn man NIS-Dienste überwachen will
nein nagios-rsyncPlugins, um rsync zu überwachen
nein nagios-plugins-sap-ccmsSpezielle SAP Plugins
nein nagios-plugins-zypperUpdate- und Installationsroutine zypper wird überwacht
nein nagios-nscaPlugin, um Rechner zu überwachen, die nicht direkt am Nagiosserver angeschlossen sind
nein nagios-nsca-clientPlugin, das auf dem zu überwachenden Server installiert werden muss

Nach der Installation muss man dem Webinterface noch einen Namen und Passwort geben, damit man darauf zugreifen kann

htpasswd2 -c /etc/nagios/htpasswd.users nagiosadmin

Ab sofort kann man per Browser auf http://localhost/nagios gehen, um Nagios zu konfigurieren

Leider bekommt man aber jetzt eine Fehlermeldung. Deshalb sollte man nagios auch starten

/etc/init.d/nagios start

Damit über http://localhost/nagios auf das Webinterface zugegriffen werden kann, wird bei der Installation von nagios ein neues config-File unter /etc/apache2/conf.d mit dem namen nagios.cfg erstellt.

In diesem file sind die Pfade für die html-dateien und Authentifikations-Dateien hinterlegt.

Wenn man Nagios nicht über die URL http://<IP-Adresse>/nagios erreichen will, sondern über http://<IP-Adresse>, muss man die Zeilen aus /etc/apache2/conf.d/nagios.conf singemäß in die Datei /etc/apache2/vhosts.d/nagios.conf einpflegen. In meinem Beispiel sieht die vhosts-Datei dann folgendermaßen aus:

nagios.conf
<VirtualHost *:80>
        ServerAdmin root@nagios
        ServerName nagios
 
        # DocumentRoot: The directory out of which you will serve your
        # documents. By default, all requests are taken from this directory, but
        # symbolic links and aliases may be used to point to other locations.
        DocumentRoot /usr/share/nagios
 
        # if not specified, the global error log is used
        ErrorLog /var/log/apache2/nagios-error_log
        CustomLog /var/log/apache2/nagios-access_log combined
 
        # don't loose time with IP address lookups
        HostnameLookups Off
 
        # needed for named virtual hosts
        UseCanonicalName Off
 
        # configures the footer on server-generated documents
        ServerSignature On
 
        ScriptAlias /nagios/cgi-bin "/usr/lib/nagios/cgi"
 
        <Directory "/usr/lib/nagios/cgi">
        #       SSLRequireSSL
                Options ExecCGI
                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 /etc/nagios/htpasswd.users
                Require valid-user
        </Directory>
 
        <Directory "/usr/share/nagios">
                #SSLRequireSSL
                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 /etc/nagios/htpasswd.users
                Require valid-user
        </Directory>
 
</VirtualHost>

Zusätzlich muss man in der Datei /etc/nagios/cgi.cfg folgenden Eintrag ändern

cgi.cfg
url_html_path=/
Hinweis:

Möchte man die HTML-Dateien von Nagios im DokumentRoot vom Apache haben (/srv/www/htdocs), muss man diese dorthin kopieren, den Owner ändern und in der Datei /etc/nagios/cgi.cfg den Eintrag physical_html_path=/srv/www/htdocs ändern

Jetzt muss der Indianer noch neu gestartet werden.

/etc/init.d/apache2 restart

Natürlich sollte man jetzt noch aus dem Verzeichnis conf.d das nagios-File enfernen/umbenennen.

cd /etc/apache2/conf.d
mv nagios.conf nagios.conf.old

Natürlich ist auch hier ein Neustart von Apache notwendig

Fehler:

Bei SUSE 11.4 kann es sein, dass es beim Zugriff auf die Statusmeldungen einen Fehler gibt. Im Logfile (/var/log/nagios/nagios.log) erscheint dazu die Meldung Error: Unable to create temp file for writing status data!. Die Lösung ist ganz einfach. Das Verzeichnis /var/lib/nagios darf nur von root beschrieben werden.

Lösung:

Herausfinden, unter welchem User und Gruppe Nagios läuft: In /etc/nagios/nagios.cfg nach nagios_user und nagios_group suchen. Diese Werte dann in folgender Zeile eintragen

chown -R <nagios_user>:<nagios_group> /var/lib/nagios

Jetzt noch Nagios restarten und die Welt ist in Ordnung

Alle Konfigurationsdateien für Nagios sind unter /etc/nagios abgelegt

Die Verzeichnisstruktur ist wie folgt:

DateiZweck
htpasswd.usersFile für die Namen und Passwörter für die Benutzeroberfläche
cgi.cfgWelcher Webuser hat worauf Zugriff. Außerdem stehen hier die Pfade für weitere Konfigurationsdateien
resource.cfgGlobale Umgebungsvariablen ($USER$) werden hier gesetzt
nagios.cfgGrundsätzliche Einstellungen, die Nagios betreffen z.B.: Objektpfade, Logpfade, Tempdateien
command.cfg
nrpe.cfgKonfiguration für den nrpe-Dienst
objectsVerschieden Objectdateien, die, je nach Dienst/Verwendung, anders konfiguriert werden. Man könnte auch alle Objekte in eine Datei schreiben, wäre aber sehr unübersichtlich
objects/templates.cfgVorlagen für die Objektfiles. diese Einstellungen werden für das jeweilige Objekt verwendet, solange sie nicht überschrieben werden (Vererbung)
objects/linux.cfgalle Linux-Rechner werden hier eingetragen und konfiguriert
objects/windows.cfgLogische Datei für Windowsrechner aller Art
objects/switch.cfgAlle Switche und Switchprüfungen werden hier eingetragen
objects/localhost.cfgAlle zu überwachenden Dienste, die auf dem Lokalen Rechner sind
objects/contacts.cfgAlle zu benachrichtigen Email-Adressen im Notfall
objects/printer.cfgAlle Drucker werden hier zusammengefasst. man könnte auch die Verschieden Druckertypen als Objekte machen (bei vielen Druckern)
objects/timesrv.cfgEinstellungen für den Zeitserver, da dieser weder Linux noch Windows ist
objects/commands.cfg
objects/timeperiods.cfgZeitdefinitionen z.B.: Arbeitstage = Mo - Fr, 08:00 - 16:00; immer = Mo - So, 0:00 - 24:00

Plugins werden unter /usr/lib/nagios/plugins gespeichert Diese können meistens ohne nagios getestet werden. Auf der Konsole folgenden Befehl eingeben

/usr/lib/nagios/plugins/<Pluginname> --help
Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
   ___    ____   _  __   __    __  ___
  / _ |  / __/  | |/_/  / /   /  |/  /
 / __ | _\ \   _>  <   / /__ / /|_/ / 
/_/ |_|/___/  /_/|_|  /____//_/  /_/
 
  • wiki/programme/nagios/nagios.txt
  • Zuletzt geändert: 2012/10/08 14:31
  • von 127.0.0.1