Im Normalen Leben weis ein guter Admin, was auf seiner Maschine los ist. Das gestaltet sich mit zunehmender Anzahl der Server schwieriger. Bis zu einem Zeitpunkt, an dem man nicht mehr ohne ein Monitoring Tool auskommt. Hier kommt das Netzwerkmonitoring Tool Nagios zum Zuge. Nagios ist neben Big Brother, Big Sister und Little Sister einer der beliebtesten Monitoring Tools, die es derzeit auf dem Open Source Markt gibt.
Sollten sie sich für eine Stable Version im Debian Sinne entscheiden, dann können sie diese mit dem folgenden Befehl installieren. Sofern sie eine akutellere Nagios Version wünschen, dann führt an der Installation aus den Sourcen leider kein weg dran vorbei.
apt-get -u install nagios-common nagios-text
Auf der Projektwebsite von Nagios finden sie alle Notwendigen Informationen zu Nagios. Dort können sie sich ebenfalls die Quellen von Nagios herunterladen.
Nagios können sie ebenfalls wieder mit Hilfe von fertigen Debian Paketen über den Befehl APT-GET Install Nagios installieren. Hierzu müssen sie aber teilweise Sourcen verwenden, die nicht im Woody Sourcen enthalten sind. Fügen sie aus diesem Grund die folgenden Zeilen ihrer /etc/apt/sources.list hinzu.
Zunächsten laden sie sich die Sourcen aus dem Netz und entpacken diese in das /tmp Verzeichnis
juliane:~# tar xzf nagios-1.2.tar.gz
Danach wechseln sie in das soeben erstellte neue Verzeichnis Nun sollten wir uns ein entsprechendes Installationsverzeichnis anlegen. Am besten bennen wir das mit unserem Arbeitsnamen „nagios“ - so wissen wir immer was sich in dem Ordner befindet.
mkdir /usr/local/nagios
Um Nagios unter einen „normalen“ User Account laufen lassen zu können müssen sie einen User Nagios einrichten-
<pre> Adduser nagios juliane:~/nagios-1.2# adduser nagios Adding user nagios… Adding new group nagios (1001). Adding new user nagios (1001) with group nagios. Creating home directory /home/nagios. Copying files from /etc/skel Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for nagios Enter the new value, or press return for the default
Full Name []: Nagios
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [y/n] y </pre>
Wir haben hier der Einfachheit wegen dem Benutzer das Passwort mit dem selbigen Namen gegeben. Falls sie das auf einem Produktiv Server tun, dann ändern sie das bitte nach Vollendung der Installation.
Nun haben wir teilweise die vorarbeiten schon getan. Also können sie weiter zum nächsten schritt gehen.
Das initialisieren der Variablen und das erstellen des Makefiles wird über das mitgelieferte configure Skript vollzogen. Hierzu sollten sie sich in dem Verzeichnis befinden, welches vorher beim entpacken erstellt wurde.
Also geben sie am besten den Befehl ./configure ein, damit das makefile geschrieben werden kann.
'''./configure <optionen>'''
Wenn sie einfach so, ./configure eingeben, dann werden die Standard vorgeben von Nagios verwenden. Dennoch besteht die Möglichkeit weitere Optinen mit an zugeben. So können sich an den Befehl ./configure folgende Optinen anschliessen.
* –prefix=prefix
Hier können sie ein abweichendes Installationsverzeichnis angeben, sofern gewünscht. Der Standard ist das zuvor angelegt /usr/local/nagios Verzeichnis.
* –with-cgiurl
Sollten sie ein abweichendes CGI Verzeichnis unter einer anderen Url verwenden wollen, dann geben sie hier das ganze an. Normalerweise ist das Verzeichnis /nagios/cgi-bin/
* –with-htmurl=htmurl
Selbiges gilt mit dem HTML Verzeichnis. Das Hauptverzeichnis befindet sich unter /nagios/
* –with-nagios-user=someuser
Wollen sie Nagios nicht unter dem User Nagios betreiben, dann können sie hier den Benutzer angeben. Standard-User ist Nagios
* –with-nagios-grp=somegroup
Gleiches gilt für die Benutzergruppe. Default-Wert ist die Gruppe Nagios
Bei der ersten Installation von Nagios sollten sie keine abweichenden Einstellungen vornehmen. Nachfolgend ihre Eingaben in Form einer Zusammenfassung durch Nagios Configurations-Skript.
<pre> * Configuration summary for nagios 1.2 02-02-2004 *:
General Options:
Nagios executable: nagios
Nagios user/group: nagios,nagios
Command user/group: nagios,nagios
Embedded Perl: no
Install ${prefix}: /usr/local/nagios
Lock file: ${prefix}/var/nagios.lock
Init directory: /etc/init.d
Web Interface Options:
HTML URL: http://localhost/nagios/
CGI URL: http://localhost/nagios/cgi-bin/
Traceroute (used by WAP):
External Data Routines:
Status data: Default (text file)
Object data: Template-based (text file)
Comment data: Default (text file)
Downtime data: Default (text file)
Retention data: Default (text file)
Peformance data: Default (external commands)
Extended info data: Template-based (text file)
Review the options above for accuracy. If they look okay, type 'make all' to compile the main program and CGIs. </pre>
Mit dem Befehl make all starten wir den Kompiler Vorgang. Dieser Vorgang wird je nach Geschwindigkeit ihres Rechner ein paar Minuten in Anspruch nehmen.
Auf meinem Rechner ein PII mit 6001 Mhz dauerte das ganze knapp 10 Minuten.
Sollten sie die folgende Mitteilung lesen, dann haben sie auch den 2. Schritt geschafft und können weitergehen.
<pre> * Compile finished *
If the main program and CGIs compiled without any errors, you can continue with installing Nagios as follows (type 'make' without any arguments for a list of all possible options):
make install - This installs the main program, CGIs, and HTML files
make install-init - This installs the init script in /etc/init.d
make install-commandmode
- This installs and configures permissions on the
directory for holding the external command file
make install-config
- This installs *SAMPLE* config files in /usr/local/nagios/etc
You'll have to modify these sample files before you can
use Nagios. Read the HTML documentation for more info
on doing this. Pay particular attention to the docs on
object configuration files, as they determine what/how
things get monitored!
* Support Notes *
If you have questions about configuring or running Nagios, please make sure that you:
before you post a question to one of the mailing lists. Also make sure to include pertinent information that could help others help you. This might include:
For those of you who are interested in contract support or consulting services for Nagios, please visit:
http://www.nagios.org/contractsupport
*
Enjoy. </pre>
Wie bereits erwähnt bietet es sich bei der ersten Installation an, wenn sie den größteil der Standardeinstellungen so übernehmen wie diese vorgegeben werden. Sie können auf der einen Seite mit der Installation weitermachen und zum anderen können wir mit der init Installation das ganze mit einem Beispiel Skript installieren und auch gleich dem rc.d zuordnen. Außerdem können sie bei Schwierigkeiten auf schnelle und aussagekräftige Hilfe der Community hoffen.
Hierbei müssen wir aber das Skript ein wenig anpassen, die Pfade zum Betriebssystem ebenfalls.
<pre> juliane:~/nagios-1.2# make install-init /usr/bin/install -c -m 755 -d -o root -g root /etc/init.d /usr/bin/install -c -m 774 -o root -g root daemon-init /etc/init.d/nagios </pre>
Mit dem Aufruf make install-init beginnt die Init Installation
<pre> * Init script installed *
You can continue with installing Nagios as follows (type 'make' without any arguments for a list of all possible options):
make install-commandmode
- This installs and configures permissions on the
directory for holding the external command file
make install-config
- This installs *SAMPLE* config files in /usr/local/nagios/etc
You'll have to modify these sample files before you can
use Nagios. Read the HTML documentation for more info
on doing this. Pay particular attention to the docs on
object configuration files, as they determine what/how
things get monitored!
</pre>
Sie wollen Nagios besser kennen lernen, deswegen nehmen wir die SAMPLE (Beispiel) Dateien und passen diese auf unser System an. Also geben sie make install-config ein.
<pre> juliane:~/nagios-1.2# make install-config /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/etc /usr/bin/install -c -m 664 -o nagios -g nagios sample-config/nagios.cfg /usr/local/nagios/etc/nagios.cfg-sample /usr/bin/install -c -m 664 -o nagios -g nagios sample-config/cgi.cfg /usr/local/nagios/etc/cgi.cfg-sample /usr/bin/install -c -m 660 -o nagios -g nagios sample-config/resource.cfg /usr/local/nagios/etc/resource.cfg-sample /usr/bin/install -c -m 664 -o nagios -g nagios sample-config/template-object/checkcommands.cfg /usr/local/nagios/etc/checkcommands.cfg-sample /usr/bin/install -c -m 664 -o nagios -g nagios sample-config/template-object/contactgroups.cfg /usr/local/nagios/etc/contactgroups.cfg-sample /usr/bin/install -c -m 664 -o nagios -g nagios sample-config/template-object/contacts.cfg /usr/local/nagios/etc/contacts.cfg-sample /usr/bin/install -c -m 664 -o nagios -g nagios sample-config/template-object/dependencies.cfg /usr/local/nagios/etc/dependencies.cfg-sample /usr/bin/install -c -m 664 -o nagios -g nagios sample-config/template-object/escalations.cfg /usr/local/nagios/etc/escalations.cfg-sample /usr/bin/install -c -m 664 -o nagios -g nagios sample-config/template-object/hostgroups.cfg /usr/local/nagios/etc/hostgroups.cfg-sample /usr/bin/install -c -m 664 -o nagios -g nagios sample-config/template-object/hosts.cfg /usr/local/nagios/etc/hosts.cfg-sample /usr/bin/install -c -m 664 -o nagios -g nagios sample-config/template-object/misccommands.cfg /usr/local/nagios/etc/misccommands.cfg-sample /usr/bin/install -c -m 664 -o nagios -g nagios sample-config/template-object/services.cfg /usr/local/nagios/etc/services.cfg-sample /usr/bin/install -c -m 664 -o nagios -g nagios sample-config/template-object/timeperiods.cfg /usr/local/nagios/etc/timeperiods.cfg-sample
* Sample config file installed *
Remeber, these are *sample* config files. You'll need to read the documentation for more information on how to actually define services, hosts, etc. to fit your particular needs.
If you have questions about configuring Nagios properly, please:
*BEFORE* you post a question to one of the mailing lists. </pre>
Wie sie sehen legt dieses Skript einige Beispiel Files an und legt diese im Verzeichnis unseres Nagios arbeitsverzeichnis ab.
Nun wechseln wir in das Arbeitsverzeichnis.
# cd /usr/local/nagios/
Dort wurden durch die zuvor aufgerufen Schritte die folgenden Unterverzeichnise angelegt :
* /bin/ Darin befindet sich das Nagios CORE Programm nagios
* /etc/
Hierin werden die Konfigurationsfiles, Beispiel Konfigurationsfiles, CGI-Files abgelegt.
<pre> cgi.cfg-sample escalations.cfg-sample resource.cfg-sample checkcommands.cfg-sample hostgroups.cfg-sample services.cfg-sample contactgroups.cfg-sample hosts.cfg-sample timeperiods.cfg-sample contacts.cfg-sample misccommands.cfg-sample dependencies.cfg-sample nagios.cfg-sample
</pre>
Auf diese werden wir bei der Konfigurationsphase noch einmal zu sprechen kommen.
* /sbin/ Hierin liegen die CGI's für Nagios, diese werden für die Darstellung der Websiten die unterschiedlichen Status anzeigen sollen.
<pre> avail.cgi extinfo.cgi outages.cgi statuswml.cgi tac.cgi cmd.cgi history.cgi showlog.cgi statuswrl.cgi config.cgi notifications.cgi status.cgi summary.cgi </pre>
* /share/ Darin lagern die HTML Files für das Webinterface und die Online Dokumentation zu nagios.
<pre> contexthelp images main.html robots.txt ssi docs index.html media side.html stylesheets </pre>
* /var/ Ist derzeit noch ein leeres Verzeichnis – hier sollen aber küftig die Log Files abgelegt werden.
Nagios ruft Plugins auf, um Information über den Status von Hosts oder Diensten zu sammeln. Die Plugin können hierbei beliebige Skripte sein oder auch Externe Programme, die durch Nagios aufgerufen werden können. Wichtig hierbei ist nur, dass diese Plugins oder Programme sich an die Statusinformationen von Nagios halten
Returncode Beschreibung Status
Um Nagios benutzen zu können und daten sammeln zu lassen gibt's schon fertig Plugin. Diese können wir auf der Website von www.nagios.org herunterladen. Für den Anfang sollten die auch reichen.
Die Plugins werden in der Regel im Verzeichnis /usr/local/nagios/libexec installiert. Dazu werden wir aber im weiteren Verlauf noch kommen.
Lassen sie uns nun das WWW-Interface installieren und konfigurieren. Ich gehe davon aus, dass sie das Buch von Anfang an gelesen haben und ihr Apache Webserver bereits läuft. Nun sollten wir einen alias für die CGI's anlegen. Das geht normalerweise am einfachsten über httpd.conf – die wir auch bereits kennengelernt haben. Sollten sie beim starten des ./configure- Skript einen alternativen Pfad für das CGI's angegeben haben, dann können wir das hier weiter konfigurieren.
<pre> ### Configure the Script Alias 4 CGI's ### ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/sbin/ <Directory “/usr/local/nagios/sbin/“>
AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
### Configure the Alias 4 HTML Files #### Alias /nagios/ /usr/local/nagios/share/ <Directory “/usr/local/nagios/share“>
Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory> </pre>
Wenn sie die Zeilen in Ihre httpd.conf eingefügt haben, müssen sie den Webserver neu starten, damit diese wirksam werden.
Hier könnte ein anderer Autor weiterschreiben….
[http://nagiosmanager.dyndns.info Nagiosmanager]
[http://forum.luebben-home.de/ Das deutsche Nagios Forum]
[http://www.nagios.org/ Die Nagios Projektseite]
Dies ist ein Artikel von — schroedi 13.09.2005 22:31 aus dem RootserverWIKI unter http://www.schroedi.org