nagios PROJEKTARBEIT FISI

27
Einführung einer Netzwerk Einführung einer Netzwerk Einführung einer Netzwerk Einführung einer Netzwerk- Mon Mon Mon Monitoring oring oring oring-Lösung im Lösung im Lösung im Lösung im firmeninternen LAN firmeninternen LAN firmeninternen LAN firmeninternen LAN Projektdokumentation der betrieblichen Projektarbeit von Admin Prüf-Nr. 66666 Betrieb: IT GROUP Musterstadt Projektbetreuer: Trapp Trapp Ausführungszeit: 15. Oktober 2007 bis 05. November 2007

Transcript of nagios PROJEKTARBEIT FISI

Page 1: nagios PROJEKTARBEIT FISI

Einführung einer NetzwerkEinführung einer NetzwerkEinführung einer NetzwerkEinführung einer Netzwerk----

MonMonMonMoniiiittttoringoringoringoring----Lösung im Lösung im Lösung im Lösung im

firmeninternen LANfirmeninternen LANfirmeninternen LANfirmeninternen LAN

Projektdokumentation der betrieblichen Projektarbeit von

Admin

Prüf-Nr. 66666

Betrieb: IT GROUP

Musterstadt

Projektbetreuer: Trapp Trapp

Ausführungszeit: 15. Oktober 2007 bis 05. November 2007

Page 2: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 2 von 27

Inhaltsverzeichnis

1. Projektbeschreibung........................................................................................... 3 1.1 Überblick Gesamtprojekt ........................................................................................................3

1.2 Problembeschreibung des Projekts und Zielsetzung .............................................................3

1.3 Projektumfang.........................................................................................................................4

2. Projektplanung .................................................................................................... 4 2.1 Zeitansatz ...............................................................................................................................4

2.2 Ressourcenplanung................................................................................................................5

3. Produktphase ...................................................................................................... 5 3.1 Auswahl des Betriebssystem des Servers .............................................................................5

3.2 Auswahl der Hardware für den Server ...................................................................................5

3.3 Auswahl der Software für den Server .....................................................................................5

4. Realisierungsphase ............................................................................................ 6 4.1 Installation des Nagios Servers ..............................................................................................6

4.2 Installation der Nagios Plugins ...............................................................................................7

4.3 Einrichten des Webinterface...................................................................................................7

4.4 Nagios Grundkonfiguration ...................................................................................................10

4.4.1 Nagios.cfg...................................................................................................................10

4.4.2 Timeperiods.cfg ..........................................................................................................10

4.4.3 Contactgroups.cfg....................................................................................................... 11

4.4.4 Contacts.cfg................................................................................................................ 11

4.4.5 Hostgroups.cfg............................................................................................................12

4.4.6 Servicegroups.cfg.......................................................................................................12

4.4.7 Resource.cfg ..............................................................................................................12

4.4.8 Host Definition ...........................................................................................................12

4.4.9 Service Definition........................................................................................................13

4.4.10 Abschließen der Grundkonfiguration..........................................................................14

4.5 Erweiterte Konfiguration .......................................................................................................15

4.5.1 Performancedaten grafisch darstellen mittels PNP....................................................15

4.5.2 SMS Benachrichtigung über HTTP-Gateway.............................................................17

4.5.3 Konfiguration von NRPE.............................................................................................18

5. Projektbewertung.............................................................................................. 21 5.1 Fazit ......................................................................................................................................21

6. Anhang: ........................................................................................................... 23 6.1 Dodekatex.de PHP Script zur Übermittlung der Nagios Notifions an den HTTP-Gateway

von Mobilant.net: ..................................................................................................................23

6.2 Abbildungsverzeichniss ........................................................................................................24

6.3 Quellenverzeichnis ...............................................................................................................25

6.4 Glossar..................................................................................................................................26

6.4.1 Compiler .....................................................................................................................26

6.4.2 OpenSSL ....................................................................................................................26

6.4.3 Webserver ..................................................................................................................26

6.4.4 OpenSuSE..................................................................................................................26

6.4.5 PHP ............................................................................................................................26

6.4.6 Host ............................................................................................................................26

6.4.7 Service........................................................................................................................26

6.4.8 HTTP-Gateway...........................................................................................................26

Page 3: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 3 von 27

1. Projektbeschreibung

1.1 Überblick Gesamtprojekt Im Rahmen meiner Ausbildung zum Fachinformatiker für Systemintegration in der Firma IT GmbH bin ich zurzeit in der Abteilung Support für die Anwender in der Friedrichshofener Straße 1s tätig.

Als Teil eines zweiköpfigen Teams sind wir für die Instandhaltung des firmeninternen Netzwerkes, sowie den Endanwendersupport verantwortlich. Aufgrund der rasch wachsenden Mitarbeiterzahl nimmt das firmeninterne Netzwerk an Umfang und Komplexität stark zu. Das Tagesgeschäft sieht vor Anwender zu unterstützen, gleichzeitig soll jedoch das Netzwerk sowie die verbauten aktiven Komponenten überwacht und gewartet werden. Mir wurde übertragen eine Lösung zu erarbeiten, die möglichst alle relevanten Geräte überwacht und bei einem Ausfall oder einer Störung die Administratoren zeitnah darüber unterrichtet. Ziel ist, die Dauer zwischen Störungsauftritt und Beseitigung der Störung zu reduzieren. Außerdem sollen Performance Daten aufgezeichnet werden, um die Systeme besser skalieren zu können. Angedacht ist systemspezifische Daten, wie z.B Festplattenauslastung bei Fileservern, zu überwachen oder die CPU- und Arbeitsspeicherauslastung bei Webservern. Nach Recherche im Internet und Fachpublikationen fiel die Wahl auf das OpenSource Produkt Nagios. Diese Lösung wird bei unserem Großkunden eingesetzt und von der Serverbetreuung der IT GmbH gepflegt. Die Entscheidung Nagios einzusetzen beruht auf drei Eckpunkten:

- Nagios bietet alle gewünschten Features und lässt sich leicht erweitern.

- Keine Plattformbeschränkung: Nagios kann Dank seiner großen Anzahl an Schnittstellen nicht nur Windows oder Linux Maschinen überwachen.

- Nagios wird von der IT GmbH schon eingesetzt.

1.2 Problembeschreibung des Projekts und Zielsetzung Zu diesem Zeitpunkt wird in den Büroräumen der IT GmbH in der Friedrichshofener Straße kein Monitoring eingesetzt. Eine Störung wird vom Support Team erst durch Anrufe oder Emails der Anwender erkannt. Nachdem eine Störung festgestellt wurde, versucht das Team das Problem zu lokalisieren. Fällt zum Beispiel ein Server aus, muss festgestellt werden, ob der Server selbst das Problem darstellt oder ob ein Switch oder Router der Auslöser der Störung ist. Funktionieren beide Geräte jedoch korrekt, muss herausgefunden werden, ob ein Problem am Arbeitsplatz des Anwenders vorliegt oder ein Netzwerkproblem.

Zur Lösung des Problems sollen alle aktiven Netzwerkkomponenten überwacht werden. Fällt ein Switch aus erhält ein Administrator eine Benachrichtigung, dass der Switch ausgefallen ist und der in Abhängigkeit zu diesem stehende Server somit obsolet ist. Der Administrator soll die Möglichkeit haben den Ausfall zu beheben, bevor ein Anwender auf diesen aufmerksam wird. Zum einen soll so die Zeit für die

Page 4: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 4 von 27

Fehlersuche reduziert werden, zum anderem soll ein unterbrechungsfreies Tagesgeschäft für die vom Funktionieren der Infrastruktur abhängigen Anwender sichergestellt werden.

1.3 Projektumfang Das Projekt als Teil der Abschlussprüfung besteht darin, nach Planung und Konzeption einen Nagios Server zu installieren und zu konfigurieren. Der Schwerpunkt liegt auf der Grundkonfiguration des Servers. Es sollen die wesentlichen Merkmale eingepflegt werden. Dazu gehören: Monitoren der Komponenten, Benachrichtigungssystem per Email/SMS, grafisches Aufbereiten der Performancedaten.

Es sollen Windowsserver, Linuxserver, Printserver, Switches, Netzwerkdrucker sowie Router und Accesspoints überwacht werden.

Der Nagios Server soll später durch das Support Team stetig erweiterbar und an das Wachstum des Netzwerks und der verwendeten Komponenten anpassbar sein.

2. Projektplanung

2.1 Zeitansatz Die Durchführung findet im Zeitraum vom 15.10.2007 bis zum 05.11.2007 statt. Die tägliche Bearbeitungszeit muss an das Tagesgeschäft angepasst werden.

Für die einzelnen Projektschritte ist folgender Zeitplan vorgesehen, der sich mit dem Konzept deckt:

- Projektvorfeld - - - - - - - - - - - - - - - - - ca. 7 Std.

- Problembeschreibung ca. 1 Std.

- Projektziele (Soll-Konzept) ca. 2 Std.

- Analyse der Netzwerkumgebung ca. 2 Std.

- Mögliche Softwarelösungen ca. 2 Std.

- Produktphase - - - - - - - - - - - - - - - - - ca. 6 Std.

- Auswahl des Betriebssystems für den Server ca. 1 Std.

- Auswahl der Hardware für den Server ca. 1 Std.

- Auswahl der Software für den Server ca. 4 Std.

- Realisierungsphase - - - - - - - - - - - - - - - ca. 10 Std.

- Installation und Konfiguration der erforderlichen Komponenten ca. 10 Std.

- Testphase - - - - - - - - - - - - - - - - - - ca. 6 Std.

- Ausführlicher Test aller Komponenten in einer Testumgebung ca. 6 Std.

- Ausarbeitung der Projektdokumentation - - - - - - - - ca. 6 Std.

Geplanter Zeitaufwand ca. 35 Std.

Page 5: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 5 von 27

2.2 Ressourcenplanung Zur Realisierung des Projekts wird ein Server benötigt auf dem der Nagios Server installiert werden kann. Dieser Server sollte autark von der restlichen IT-Infrastruktur sein.

Installations- und Konfigurationsarbeiten werden von einem Standard Arbeitsplatz der IT GmbH erledigt (Intel Pentium D 3,0 GHz, 2048MB RAM).

3. Produktphase

3.1 Auswahl des Betriebssystem des Servers Nagios wurde für Linuxsysteme entwickelt, eine Portierung für Windows ist mir derzeit nicht bekannt. Die Vorraussetzung zum Betrieb und der Installation eines Nagios Servers sind gering gehalten:

- Ein Compiler zum Übersetzen des Quelltextes

- Libgd eine Grafikbibliothek

- OpenSSL

- Ein SnmpClient

- Ein Webserver der CGI Scripte verarbeiten kann

Jede aktuelle Linux Distribution bringt diese Vorraussetzungen mit, für dieses Projekt kommt die Distribution OpenSuSe 10.2 zum Einsatz. Die gute Paketverwaltung und die Tatsache, dass in vorausgegangen Projekten auch OpenSuSe 10.x zum Einsatz kam, begünstigen diese Entscheidung.

3.2 Auswahl der Hardware für den Server Die zu erwartende Last des Nagios Servers zu Beginn der Einführung ist als gering einzuschätzen. Die verursachte Last richtet sich nach der Anzahl der überwachten Hosts und die Anzahl der auf den Hosts ausgeführten Dienste. Das System soll auf maximal 50 Hosts und ca. 200 Services skaliert werden. Hierfür wurde folgende Hardwarekonfiguration als ausreichend befunden: Intel Pentium 4 2,8 GHz, 1024 MB RAM. Des Weiteren kommt ein Raid 1 Verbund aus zwei 36 GB SCSI Festplatten zum Einsatz um die Verfügbarkeit bei einem Festplattenschaden zu gewährleisten. Der Server konnte dem Bestand der IT GmbH entnommen werden.

3.3 Auswahl der Software für den Server Nachdem als Betriebssystem OpenSuSE 10.2 festgelegt wurde, mussten die Software Vorraussetzungen für eine Nagios Installation geschaffen werden. OpenSuSE wurde im Minimalmodus ohne grafische Oberfläche installiert. Als Compiler kommt gcc in der Version 4.1.2 zum Einsatz. Für die Anzeige des Webinterfaces wurde der HTTP Server Apache 2.2.3 installiert, um später die Performance Graphen erzeugen zu können wird php5 mit den Modulen zlib, gd und curl nachinstalliert.

Page 6: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 6 von 27

4. Realisierungsphase

4.1 Installation des Nagios Servers Zuerst muss ein User und eine Gruppe für den Nagios Dienst angelegt werden. Unter diesem User läuft später der Nagios Dienst:

Anlegen der Gruppen „nagios“ und „nagcmd“:

nagios:/tmp # groupadd -g 9000 nagios

nagios:/tmp # groupadd -g 9001 nagcmd

Anlegen des Users „nagios“, der Mitglied in beiden Gruppen ist mit dem Home Verzeichnis „/usr/local/nagios“:

nagios:/tmp # useradd -u 9000 -g nagios -G nagcmd -d /usr/local/nagios -c "Nagios Admin" nagios

Damit der Webserver später auf die von Nagios erzeugten Daten (z.b Konfigurationsdateien) zugreifen kann, wird der User unter dem der Webserver läuft, in die Gruppe „nagcmd“ aufgenommen:

nagios:/tmp # usermod -G nagcmd wwwrun

Durch das Anlegen des Users wurden keine Ordner erzeugt in denen Nagios seine Konfigurationsdateien und Logdateien speichern kann. Dies wird nun händisch vorgenommen:

nagios:/tmp # mkdir /usr/local/nagios /etc/nagios /var/nagios

nagios:/tmp # chown nagios.nagios /usr/local/nagios/ /etc/nagios/ /var/nagios/

Nach dem Herunterladen und Entpacken des Sourcecodes in „/tmp“ beginnt die Installation des Nagios Servers:

nagios:/tmp/nagios-2.9 # ./configure --sysconfdir=/etc/nagios --localstatedir=/var/nagios --with-command-group=nagcmd

Beim Configure werden die nötigen Parameter übergeben um sicher zu stellen, dass alle Dateien im richtigen Verzeichnis initialisiert werden und Nagios der richtigen Gruppe zugeordnet wird. Das Configure Script bestätigt die erfolgreiche Verarbeitung mit einem Übersichtsscreen (siehe Abbildung 1).

Abbildung 1: Zusammenfassungsscreen des Configure Scripts

Page 7: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 7 von 27

Durch das Übergeben der nötigen Parameter im Configure Script waren alle Vorgaben korrekt und die Installation konnte mittels der folgenden Befehle beendet werden:

nagios:/tmp/nagios-2.9 # make all (Übersetzen des Source Codes)

nagios:/tmp/nagios-2.9 # make install (Kopieren der Daten in die vorgegebenen Verzeichnisse)

nagios:/tmp/nagios-2.9 # make install-init (Kopieren des Init Scripts nach /etc/init.d/nagios)

nagios:/tmp/nagios-2.9 # make install-config (Installieren einer Grundkonfiguration)

4.2 Installation der Nagios Plugins Ohne die Installation der Plugins bringt der Nagios Server selbst keinen Nutzen. Plugins sind kleine Programme oder Shell Scripte (perl, cgi, bash), die mit Parametern von Nagios ausgeführt werden und verschiedene Zustände zurückgeben. Über die Plugins werden die Dienste des zu Überwachenden Rechners geprüft. Im Nagios Umfeld heißen diese Dienste „Services“.

Die Plugins wurden wieder nach „/tmp“ herunter geladen und entpackt. Analog zur Nagios Server Installation werden dem Configure Script Parameter übergeben, der Quellcode übersetzt und die kompilierten Dateien in den richtigen Ordner kopiert:

nagios:/tmp/nagios-plugins-1.4.10 # ./configure --sysconfdir=/etc/nagios/ --localstatedir=/var/nagios/

nagios:/tmp/nagios-plugins-1.4.10 # make

nagios:/tmp/nagios-plugins-1.4.10 # make install

4.3 Einrichten des Webinterface Die Weboberfläche von Nagios ist optional, hilft den Administratoren jedoch den Überblick zu bewahren und die Zusammenhänge der Komponenten zu verdeutlichen. Des Weiteren kann hier z.B eine „Downtime“ für Wartungsarbeiten festgelegt werden.

Der Apache Webserver wurde so konfiguriert, dass die Weboberfläche unter http://dnsname/nagios aufgerufen werden kann, dies geschah über ein Alias.

Dazu muss in die Konfigurationsdatei des Webservers (httpd.conf) folgendes eingefügt werden:

ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin

<Directory "/usr/local/nagios/sbin">

AllowOverride AuthConfig

Options ExecCGI

SetHandler cgi-script

Order allow,deny

Allow from ALL

</Directory>

Page 8: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 8 von 27

Alias /nagios /usr/local/nagios/share

<Directory "/usr/local/nagios/share">

Options None

AllowOverride AuthConfig

Order allow,deny

Allow from ALL

</Directory>

Nagios beinhaltet eine rudimentäre Rechteverwaltung, um diese zu verwenden muss eine Authentifizierung am Webserver über .htaccess erfolgen. So können sich Anwender im Webinterface anmelden und die Hosts und Services überwachen, für die sie als Contact definiert sind.

Dazu wurde unter „/usr/local/nagios/sbin“ die .htaccess Datei, mit folgendem Inhalt, angelegt:

nagios:/usr/local/nagios/sbin # touch .htaccess

AuthName "IT GmbH Nagios Monitoring"

AuthType Basic

AuthUserFile /etc/nagios/htpasswd

require valid-user

In die Datei „/etc/htpasswd“ wird der Benutzername, analog zur Definition in der Nagios Konfiguration, und das verschlüsselte Passwort eingetragen:

nagios:/etc/nagios # touch htpasswd

admin:$1$7QPT8hFG$XCiLYnzo6Ce2nFwBPFNMh.

Nagios musste noch mitgeteilt werden, dass eine Benutzerauthentifizierung verwendet werden soll. Dazu wurden die sample Konfigurations- Dateien, die beim Kompilieren mittels make install-config erstellt wurden, umbenannt und die Standard Einstellungen angepasst:

nagios:/etc/nagios # mv cgi.cfg-sample cgi.cfg

nagios:/etc/nagios # mv commands.cfg-sample commands.cfg

nagios:/etc/nagios # mv localhost.cfg-sample localhost.cfg

nagios:/etc/nagios # mv nagios.cfg-sample nagios.cfg

nagios:/etc/nagios # mv resource.cfg-sample resource.cfg

Änderungen in der cgi.cfg:

authorized_for_all_services=admin

authorized_for_all_hosts=admin

Page 9: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 9 von 27

authorized_for_all_service_commands=admin

authorized_for_all_host_commands=admin

authorized_for_all_services=admin

authorized_for_all_hosts=admin

authorized_for_system_commands=admin

authorized_for_configuration_information=admin

authorized_for_system_information=admin

Nach dem ersten Start von Nagios über „/etc/init.d/nagios start“ wurde die Authentifizierung getestet, indem das Webinterface aufgerufen wurde (siehe Abbildung 2).

(Abbildung 2: Aufforderung zum Login per .htaccess)

Nach dem erfolgreichen Login zeigt das Webinterface einen Host und 5 Services an. Dies beruht auf der Standard Konfiguration und zeigt, dass der Nagios Server funktioniert (siehe Abbildung 3).

(Abbildung 3: Ansicht des Webinterfaces nachdem erstem erfolgreichem Login)

Page 10: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 10 von 27

4.4 Nagios Grundkonfiguration Nagios wird komplett über .cfg Dateien gesteuert. Nagios bietet sehr viele individuelle und umfangreiche Möglichkeiten, das Monitoring auf spezielle Bedürfnisse abzustimmen. Bei dieser Installation wurden wenige Abweichungen von einer „Standard Konfiguration“ vorgenommen. Die folgenden Unterpunkte erklären zusammenfassend, wie die Konfigurationen ineinander greifen und was grundsätzlich bezweckt wird. Es wird nicht auf jede Option explizit eingegangen.

4.4.1 Nagios.cfg

Im ersten Schritt wurde Nagios mitgeteilt, welche Konfigurationsdateien eingelesen werden sollen. Dies dient dazu die Konfiguration übersichtlich zu halten.

Dazu müssen die Dateipfade der einzelnen .cfg Files in die „nagios.cfg“ eingetragen werden. Diese Datei wird zuerst eingelesen und von dort aus werden weitere Konfigurationen inkludiert:

cfg_file=/etc/nagios/contactgroups.cfg � Kontaktgruppen, mehrere Benutzer können zu einer Kontaktgruppe zusammengefasst werden, z.b „Linux-Admins“.

cfg_file=/etc/nagios/contacts.cfg � Kontakte, beinhaltet die Definition der einzelnen Mitarbeiter an die Benachrichtigungen geschickt werden sollen.

cfg_file=/etc/nagios/timeperiods.cfg � Checkperioden, für jeden Host und Service kann definiert werden in welchem Zeitraum er überwacht werden soll.

cfg_file=/etc/nagios/hostgroups.cfg � Gruppen der Hosts, wurde zur Strukturierung der Geräte verwendet, z.b „Printserver“.

cfg_file=/etc/nagios/servicegroups.cfg � Gruppen der Services, wurde zur Strukturierung der Services verwendet, z.b „FTP“.

cfg_file=/etc/nagios/checkcommands.cfg � Definition der Befehle wie Nagios einen Service oder Host überprüft.

cfg_dir=/etc/nagios/IT/hosts � Hosts Definitionen, Einbinden eines Ordners, in diesem wurde pro Gerät eine .cfg für jeden Host angelegt

cfg_dir=/etc/nagios/IT/services � Service Definitionen, Einbinden eines Ordners, in diesem wurde pro Gerät eine .cfg für jeden Host angelegt

cfg_dir=/etc/nagios/IT/serviceextinfo � Extensions Definitionen, hier wurden Erweiterungen für das Webinterface eingepflegt.

#cfg_file=/etc/nagios/localhost.cfg � Auskommentieren

4.4.2 Timeperiods.cfg

In dieser Phase des Projekts wurde beschlossen alle Geräte 24 Stunden 7 Tage die Woche zu überwachen. Es gibt keine Geräte die zum Beispiel am Wochenende herunter gefahren werden. Weiterhin bietet sich so die Möglichkeit frühzeitig zu reagieren, sollte ein Gerät am Wochenende ausfallen. Der einzige Eintrag in dieser Datei definiert eine Zeitperiode die 24x7 heißt und Montag bis Sonntag 24 Stunden überwacht:

Page 11: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 11 von 27

define timeperiod {

timeperiod_name 24x7

alias 24 Stunden, 7 Tage die Woche

sunday 00:00-24:00

monday 00:00-24:00

tuesday 00:00-24:00

wednesday 00:00-24:00

thursday 00:00-24:00

friday 00:00-24:00

saturday 00:00-24:00

}

4.4.3 Contactgroups.cfg

Auch hier reicht für den aktuellen Konfigurationsumfang eine Kontaktgruppe. in die die Mitglieder des Support Teams eingetragen werden:

define contactgroup {

contactgroup_name admin

alias admin

members admin

}

4.4.4 Contacts.cfg

In dieser Datei wurden alle Benutzer angelegt, die benachrichtigt werden oder Zugriff auf das Webinterface haben sollten. Definiert wird, in welcher „Timeperiod“, über welche Zustände und über welches Medium der User benachrichtigt werden soll:

define contact {

contact_name Admin

alias Andreas Admin

host_notifiion_period 24x7

service_notifiion_period 24x7

host_notifiion_options d,u,r

service_notifiion_options w,u,c,r

host_notifiion_commands host-notify-by-email,host-notify-by-mobilant

service_notifiion_commands notify-by-email,notify-by-mobilant

email [email protected]

pager 00491776666666

}

Page 12: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 12 von 27

4.4.5 Hostgroups.cfg

Es wurde für jede Gerätegattung eine Hostgruppe definiert. (Server, Printserver, Drucker, Swichtes, etc..). Als Beispiel hier die Definition für die Router:

define hostgroup {

hostgroup_name router

alias Router

members FVL328

}

4.4.6 Servicegroups.cfg

Analog wurden für die zu überwachenden Services Gruppen definiert um die Services strukturiert anzeigen zu können. Beispiel http Gruppe:

define servicegroup {

servicegroup_name all-http

alias ALL HTTP

}

4.4.7 Resource.cfg

In dieser Datei wurden Parameter definiert, die später global von Nagios verwendet werden können. Vorerst wurde hier nur der Pfad definiert, indem die Plugins zum überwachen eines Services liegen:

$USER1$=/usr/local/nagios/libexec

4.4.8 Host Definition

Für jeden Host wurde unter „/etc/nagios/IT/hosts“ eine eigene CFG angelegt. Der Dateiname gibt den Namen des Geräts wieder, als Beispiel wird hier wieder der Router FVL328 aufgeführt:

define host {

host_name FVL328 � Gerätname.

alias DSL Router � Beschreibung.

address 10.197.147.1 � IP Adresse (DNS Name möglich).

hostgroups router � zu welcher Gruppe das Gerät gehört.

check_command check-host-alive � Befehl zum Ausführen des Host Checks, wurde in checkcommands.cfg vordefiniert.

max_check_attempts 6 � Wie oft soll der Check bei einem Fehlschlag wiederholt werden bis

Page 13: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 13 von 27

eine Benachrichtigung ausgelöst wird.

check_period 24x7 � Zeitraum in dem überwacht werden soll.

flap_detection_enabled 1 � Nagios versucht schnell wechselnde Zustände zu erkennen.

process_perf_data 1 � Performance Daten werden aufgezeichnet, werden später durch PNP weiterverarbeitet.

contact_groups admin � Gruppe die für diesen Host zuständig ist.

notifiion_interval 60 � Es wird jede Stunde neu benachrichtigt.

notifiion_period 24x7 � Zeitraum in dem benachrichtigt werden soll.

notifiion_options d,u,r,f � Es soll bei „down“, „unrechable“, „recovery“ sowie „flapping“ Benachrichtigt werden.

notifiions_enabled 1 � Aktivieren der Benachrichtigung.

}

4.4.9 Service Definition

Jeder Service, der überwacht werden soll, muss unter Nagios konfiguriert werden. Es gibt die Möglichkeit in einer Service Definition mehrere Hosts aufzunehmen. Analog zu den Hosts wurde jedoch unter „/etc/nagios/IT“ ein Verzeichnis „services“ angelegt. In diesem Verzeichnis wurde für jeden Host eine separate Konfiguration angelegt. Auch hier wurde auf die Übersichtlichkeit Wert gelegt, weswegen auf die Verschachtelung der Konfiguration verzichtet wurde. Als Beispiel soll hier die Konfiguration zur Überwachung eines http Servers gezeigt werden:

define service {

host_name FVL328 � bezieht sich auf den definierten Hostnamen in der zugehörigen Host-Definition.

service_description http � Servicebeschreibung.

servicegroups all-http � Gruppenzugehörigkeit.

check_command check_http � Checkcommand, definiert in der Checkcommands.cfg.

Page 14: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 14 von 27

max_check_attempts 5 � Maximale Anzahl an Checks bis zum Statuswechsel des Services.

normal_check_interval 5 � Zeit zwischen den Checks bei keinem Problem.

retry_check_interval 4 � Abstand der Durchführung des Checks nach Änderung des Zustands (Bsp. OK zu Critical).

check_period 24x7 � Zeitraum in dem der Service überwacht werden soll.

parallelize_check 1 � ermöglicht parallele Checks.

event_handler_enabled 1 � der Eventhandler wird aktiviert, dieser kann nach definierten Zuständen selbständig eingreifen und z.b Dienste neustarten.

flap_detection_enabled 1 � Nagios versucht schnell wechselnde Zustände zu erkennen.

process_perf_data 1 � Mitschneiden der Performancedaten für PNP.

contact_groups admin � Zu benachrichtigende Gruppe.

notifiion_interval 720 � Abstand nach dem wiederholt Benachrichtigungen verschickt werden.

notifiion_period 24x7 � Zeitraum in dem benachrichtigt wird

notifiion_options w,u,c,r,f � Es soll bei „down“, „unrechable“, „recovery“ sowie „flapping“ benachrichtigt werden.

notifiions_enabled 1 � Aktivieren der Benachrichtigung.

}

4.4.10 Abschließen der Grundkonfiguration

Nach dem Anlegen der oben beschriebenen Konfigurationsdateien kann Nagios gestartet werden. In der Konfiguration wurde zuerst nur ein Host eingebunden mit den zwei Services „http“ und „icmp“. Weiterhin wurde die von Nagios mitgelieferte Konfigurationsdatei checkcommands.cfg nicht verändert. Sie enthielt zu Beginn der Testphase alle nötigen check commands und wurde erst später angepasst. Das Webinterface zeigte wie konfiguriert einen Host mit zwei aktiven Services (siehe Abbildung 4).

Page 15: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 15 von 27

(Abbildung 4: Nagios Webinterface nachdem ersten Start mit der Grundkonfiguration)

4.5 Erweiterte Konfiguration Nach der Grundkonfiguration und dem erfolgreichen Test wurde mit der Konfiguration der Zusatzanforderungen begonnen. Darunter fallen das Benachrichtigungsscript für den SMS Versand, die grafische Aufbereitung der von Nagios aufgezeichneten Performancedaten sowie die erweiterte Überwachung von lokalen Systemeigenschaften mittels NRPE.

4.5.1 Performancedaten grafisch darstellen mittels PNP

PNP basiert auf dem „rrdtool“, das über yast nachinstalliert wurde. Anschließend wurde der Quellcode von PNP herunter geladen und entpackt:

cd /usr/local/src/

nagios:/usr/local/src # wget http://ovh.dl.sourceforge.net/sourceforge/pnp4nagios/pnp-0.4.3.tar.gz

nagios:/usr/local/src # tar xzvf pnp-0.4.3.tar.gz

nagios:/usr/local/src # cd pnp-0.4.3/

Die bei der Nagios Kompilierung angewandten Daten werden auch in das Configure Script von PNP übernommen. Mittels einem „make all“ sowie dem anschließendem „make install“ wurde die Installation abgeschlossen:

nagios:/usr/local/src/pnp-0.4.3 # ./configure --with-nagios-use=nagios --with-nagios-group=nagios --with-rrdtool --with-perfdata-dir=/usr/local/nagios/share/perfdata --with-rrdtool=/usr/bin/rrdtool

make all

make install

In der nagios.cfg unter „/etc/nagios“ musste das Performance Data Handling aktiviert werden. Dazu wurden folgende Parameter für die vordefinierten Variablen gesetzt:

process_performance_data=1

service_perfdata_command=process-service-perfdata

In die Datei „/etc/nagios/checkcommands.cfg“ wurde folgende Definition zur Verarbeitung der Daten eingefügt:

define command{

Page 16: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 16 von 27

command_name process-service-perfdata

command_line /usr/local/nagios/libexec/process_perfdata.pl

}

Zuletzt wurde unter „/etc/nagios/IT/serviceextinfo“ für jeden Host, dessen Performancedaten aufgezeichnet werden sollen, eine Konfigurationsdatei angelegt. Über diese Definition wird im Nagios Webinterface ein Button eingefügt. Dieser verlinkt auf die PNP Graphen. Der Dateiname ist analog zu den Dateinamen in „/etc/nagios/hosts“ sowie „/etc/nagios/services“. In der unter „serviceextinfo“ abgelegten Datei wird für jeden Service separat definiert, wo die Grafiken zu finden sind:

define serviceextinfo{

host_name webserver � Hostname

service_description HTTP � Servicename

action_url /nagios/pnp/index.php?host=webserver&srv=http � Als URL wird die index.php Datei im PNP Verzeichnis angegeben, welches unterhalb des Nagios Webinterface Verzeichnis liegt. Als Parameter werden der Hostname und der Servicename übergeben.

}

Nachdem die Nagios Konfiguration neu eingelesen wurde, konnte ein erster Test durchgeführt werden, beim aufrufen der URL meldete PNP „HTTP rrd not found“ was darauf zurück zu führen war, dass noch keine Daten aufgezeichnet wurden. Bei einem späterem Test zeigte sich eine erste Messung (siehe Abbildung 5).

Page 17: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 17 von 27

(Abbildung 5: PNP Grafiken nach einigen Servicechecks)

4.5.2 SMS Benachrichtigung über HTTP-Gateway

Nagios soll zusätzlich zur Email Benachrichtigung auch per SMS mitteilen, falls ein Problem auftritt. Zu dieser Phase des Projekts wurde beschlossen, die SMS über einen externen Anbieter zu versenden. Die Nachricht wird von Nagios generiert und an ein PHP Script übergeben. Anschließend wird die Nachricht an einen HTTP-Gateway verschickt, welches die Eingabe abfängt und als SMS verschickt. Das PHP Skript stammt nicht von mir und ist in der Quellenangabe hinterlegt (siehe Quelle 5).

Das PHP Skript wird unter „/etc/nagios/notify_mobilant.php“ abgelegt (siehe Anhang 6.1 ). Die „checkcommands.cfg“ musste um die Definition zum SMS Versand erweitert werden:

define command {

command_name host-notify-by-mobilant

command_line /etc/nagios/notify_mobilant.php "$CONTACTPAGER$" "Host '$HOSTALIAS$' is $HOSTSTATE$ Info: $HOSTOUTPUT$ Time: $LONGDATETIME$" >> /tmp/test

}

define command {

command_name notify-by-mobilant

command_line /etc/nagios/notify_mobilant.php "$CONTACTPAGER$" "Service: $SERVICEDESC$ Host: $HOSTNAME$ Address: $HOSTADDRESS$ State:

Page 18: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 18 von 27

$SERVICESTATE$ Info: $SERVICEOUTPUT$ Date: $LONGDATETIME$" >> /tmp/test

}

Der erste Eintrag dient zur Benachrichtigung bei Host Fehlern, der zweite für die Services. Die Parameter konnten bei den vordefinierten Email Versand Definitionen entnommen werden. Zuletzt wurde in der „contacts.cfg“ noch die Handynummer des Empfängers definiert. Dazu wurde die Zeile „pager 00491773640599“ eingefügt. Nach einem mutwillig herbeigeführten „Down“ des Hosts „webserver“ konnte das Funktionieren des SMS Versands festgestellt werden (siehe Abbildung 6).

(Abbildung 6: Beispiel einer von Nagios versendeten Benachrichtigung)

4.5.3 Konfiguration von NRPE.

In den Anforderungen an das Netzwerk Monitoring Tool wurde definiert, dass lokale Systemeigenschaften ebenfalls überwacht werden sollen. Dazu gehören zum einen Performance Eigenschaften wie CPU-Last, Arbeitsspeicherverbrauch oder Festplatten Kapazitäten. Zum anderen soll Nagios aber auch überwachen, ob z.b der Prozess des Backupprogramms läuft.

Die IT GmbH verfügt über ein heterogenes Netz, d.h es kommen Windows und Linux Maschinen zum Einsatz die überwacht werden sollen. Um lokale Prozesse und Systemeigenschaften überwachen zu können, muss Nagios Zugriff auf die Maschine gewährt werden. Nagios bietet hierfür verschiedene Möglichkeiten an. Die Wahl fiel auf die NRPE Lösung, da es diesen Client für Windows und Linux Systeme gibt.

Alternativen wären für Linux Systeme „check_by_ssh“ und für Windows Maschinen „NC_Net“.

4.5.3.1 NRPE Installation am Nagios Server.

NRPE setzt das OpenSSL Development Packet voraus. Dieses wurde per „yast“ nachinstalliert, anschließend der Source Code von NRPE herunter geladen, entpackt, konfiguriert und übersetzt:

nagios:/usr/local/src # tar xzvf nrpe-2.0.tar.gz

nagios:/usr/local/src # cd nrpe-2.0/

Page 19: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 19 von 27

nagios:/usr/local/src/nrpe-2.0 # ./configure --sysconfdir=/etc/nagios/ --enable-ssl

make all

Das so erzeugte Plugin „check_nrpe“ wurde in das Nagios Plugins Verzeichnis kopiert, womit die Konfiguration vorerst am Nagios Server selbst abgeschlossen wurde.

4.5.3.2 NRPE Installation am Linux Client.

Zuerst wurde ein Verzeichnis „nagios“ unter „/etc“ angelegt, analog zum Nagios Server.

Vom Server wurde die ausführbare NRPE Datei und die zugehörige Konfigurationsdatei auf den Client kopiert:

nagios:/usr/local/src/nrpe-2.0/src # scp nrpe root@webserver:/usr/local/sbin/

nrpe 100% 83KB 83.4KB/s 00:00

nagios:/usr/local/src/nrpe-2.0/src # scp ../nrpe.cfg root@webserver:/etc/nagios/

nrpe.cfg 100% 5051 4.9KB/s 00:00

Der NRPE Client wurde mittels xinetd in das System integriert:

webserver:~ # cd /etc/xinetd.d/

webserver:/etc/xinetd.d # touch nrpe

Inhalt der Datei „/etc/xinetd.d/nrpe“:

# /etc/xinetd.d/nrpe

# description: NRPE

# default: on

service nrpe

{

flags = REUSE

socket_type = stream

wait = no

user = nobody

group = nogroup

server = /usr/local/sbin/nrpe

server_args = -c /etc/nagios/nrpe.cfg --inetd

log_on_failure += USERID

disable = no

only_from = 127.0.0.1 10.197.147.50

}

Neustarten des xinetd Dämons zum aktiveren von NRPE:

webserver:~ # /etc/init.d/xinetd restart

Shutting down xinetd: done

Starting INET services. (xinetd) done

Page 20: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 20 von 27

Das Script startet den NRPE Client mit dem User „nobody“ und der Konfigurationsdatei unter „/etc/nagios/nrpe.cfg“.

4.5.3.3 NRPE Installation am Windows Client

Nachdem der aktuelle Windows Client (siehe Quelle 6) und die zugehörigen Windows Plugins (siehe Quelle 7) heruntergeladen wurden, wurde der Client nach „C:\Windows\NRPE“ und die Plugins nach „C:\Windows\NRPE\bin“ entpackt. Als nächstes wurde NRPE als Dienst installiert (siehe Abbildung 7).

(Abbildung 7: Installation des NRPE Dienstes)

Unter „C:\NRPE\bin\“ findet sich die Datei „nrpe.cfg“ in der die Pfade zu den Check Plugins angepasst wurden:

allowed_hosts=10.10.9.100,10.10.9.101,192.168.1.100,10.197.147.50

command[nt_check_disk_c]=C:\NRPE\bin\diskspace_nrpe_nt.exe c: 70 90

command[nt_check_disk_d]=C:\NRPE\bin\diskspace_nrpe_nt.exe d: 70 90

command[nt_check_disk_e]=C:\NRPE\bin\bin\diskspace_nrpe_nt.exe e: 70 90

command[nt_cpuload]=C:\NRPE\bin\cpuload_nrpe_nt.exe 50 80

command[nt_memload]=C:\NRPE\bin\memload_nrpe_nt.exe 70 90

command[nt_service]=C:\NRPE\bin\service_nrpe_nt.exe "Event Log,DNS Client"

command[nt_eventlog]=C:\NRPE\bin\eventlog_nrpe_nt.exe -m 7200 -s "Service Control Manager"

Nach dem Start des NRPE Plugins ist der Client einsatzbereit (siehe Abbildung 8).

(Abbildung 8: Erfolgreicher Start des NRPE Clients)

4.5.3.4 Test und abschließende Konfiguration am Nagios Server.

Bevor ein Service und ein Checkcommand für Nagios definiert wurde, wurde überprüft ob der NRPE Client die Anfragen vom Nagios Server annimmt. Dazu wurde das „check_nrpe“ Plugin manuell aufgerufen:

nagios:/usr/local/nagios/libexec # ./check_nrpe -H webserver -c check_load

OK - load average: 0.61, 0.54, 0.22|load1=0.610;15.000;30.000;0; load5=0.540;10.000;25.000;0; load15=0.220;5.000;20.000;0;

Da der Test erfolgreich war, wurde ein neuer Service definiert, analog zur vorangegangenen Service Definitionen. Lediglich der Paramater “check_command” lautet: „check_command check_nrpe!check_load“.

Unter „/etc/nagios/checkcommands.cfg“ wurde für das NRPE Plugin folgender Command definiert:

Page 21: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 21 von 27

# 'check_nrpe' command definition

define command{

command_name check_nrpe

command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1"

}

Dem NRPE Plugin wird nur übergeben, welchen Check es auszuführen hat. Weitere Parameter, wie die Warnschwellen, ließt der NRPE Client aus der lokalen Datei „nrpe.cfg“ Datei aus. Nur wenn ein Check in der „nrpe.cfg“ auf dem Client definiert, ist kann er vom Nagios Server aufgerufen werden. Aus Sicherheitsgründen werden keine weiteren Parameter übergeben, da es sonst unter Umständen möglich wäre dem Plugin beliebige Parameter und ausführbaren Code „unterzuschieben“. In der „nrpe.cfg“ wurden mehrere, nicht in der Standard-Konfiguration enthaltene Services, definiert. Als Beispiel hier die Definition zum Überwachen der Auslagerungsdatei:

command[check_swap]=/usr/local/nagios/libexec/check_swap -w 10% -c 5%

Die Service Definitonen am Nagios Server sind für Windows sowie Linux Maschienen identisch, einzig die auf dem zu überwachendem Rechner liegende NRPE.cfg unterscheidet sich.

5. Projektbewertung

5.1 Fazit Das Projekt konnte im vorgegeben Zeitrahmen erfolgreich abgeschlossen werden. Alle Anforderungen konnten umgesetzt werden. Während des Projektes wurden neue Anforderungen diskutiert und beschlossen, diese Erweiterungen werden aber zu einem späteren Zeitpunkt realisiert. Nachdem analog zur oben beschriebenen Konfiguration weitere Hosts und Services eingepflegt wurden, wurde der Nagios Server produktiv gesetzt. Aufgrund der leichten Erweiterbarkeit wird der aktuelle Status wie er in dieser Dokumentation beschrieben ist, vorerst beibehalten. Im Laufe der nächsten Wochen will das Support Team Erfahrungen sammeln und feststellen, ob die Konfiguration optimiert werden muss. Nach dieser Phase sollen dann Erweiterungen eingepflegt werden. Darunter fallen z.B Escalations oder der Event Handler. Die ersten Rückmeldungen sind positiv. Probleme und Engpässe werden in Echtzeit erfasst und die Reaktionszeit hat sich drastisch verkürzt. Auch die Problemlösungsphase hat sich nahezu halbiert.

Page 22: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 22 von 27

Page 23: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 23 von 27

6. Anhang:

6.1 Dodekatex.de PHP Script zur Übermittlung der Nagios Notifions an den HTTP-Gateway von Mobilant.net:

#!/usr/bin/php5

/*

Dieses Skript von Philipp Neuhaus ([email protected]) steht unter der GPL

*/

<?php

// phpinfo(); // (DEBUG)

// Dieses Skript steht unter der GPL

// Geschrieben von Philipp Neuhaus, [email protected]

// Key fuer mobilant:

$key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

// URL von Mobilant:

$hosturl = "http://gateway.mobilant.net/";

// weitere Mobilant-Argumente (Absenderadresse, Service etc)

// in der Form: "&service=foo&absender=0000"

$mobilantoptionen="";

$handynr=$_SERVER['argv'][1];

$smstext=$_SERVER['argv'][2];

//Nun wird die Handynummer ueberprueft:

//Am Anfang zwei Nullen

// dann 3 Ziffern,die nicht 0 sein duerfen

// Dann mindestens 5 Zeichen, wobei dies Ziffern sein muessen

// Nach den Ziffern das Ende des Strings

// (Keine Leerzeichen erlaubt)

if (preg_match("/^00[1-9]{3}[0-9]{5,}$/m", $handynr) == 0) {

die ("Falsches Format der Handynumer\n");

}

//Den String auf 155 Zeichen kuerzen, damit keine zwei SMS verschickt werden

$smstext = substr($smstext, 0, 155);

//Den Text URL-Encoden

$smsurltext = urlencode($smstext);

$hosturl = $hosturl."?key=".$key."&handynr=".$handynr.$mobilantopionen."&text=".$smsurltext;

//Ab jetzt: Curl-anfrage spezifizieren

$curlanfrage = curl_init();

//URL setzen

curl_setopt($curlanfrage, CURLOPT_URL,$hosturl);

Page 24: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 24 von 27

//Damit nicht die Rueckgabe ausgegeben wird:

curl_setopt($curlanfrage, CURLOPT_RETURNTRANSFER, 1);

$curlresponse = curl_exec($curlanfrage);

//Zu DEBUG-Zecken letzte Zeile auskommentieren und naechste Zeile aktivieren, dann kostet es nicht so viel ;-)

//$curlresponse = "100";

if ($curlresponse=="100") {

if ($abrechnen==true){

$anfrage="INSERT into $abrechnung_tabelle ( nummer, text, datum ) values ( '$handynr', '$smsurltext', '".mktime()."')";

$link = mysql_connect( $abrechnung_host, $abrechnung_benutzer, $abrechnung_kennwort);

if (!$link) die ("Verbindung zu mySQL nicht moeglich, SMS trotzdem verschickt");

mysql_select_db ($abrechnung_db, $link) or die ("mySQL-select-DB nicht moeglich, SMS trotzdem verschickt\n".mysql_error()."\n");

mysql_query ($anfrage) or die ("mySQL-Eintragung nicht moeglich, SMS trotzdem verschickt\n".mysql_error()."\n");

mysql_close ($link);

}

} else {

print("FEHLER:\n");

print("mobilant-Response:\n".$curlresponse."curl_error:\n");

print(curl_error($curlanfrage));

}

curl_close($curlanfrage);

print("\n");

6.2 Abbildungsverzeichniss Abbildung 1: Zusammenfassungsscreen des Configure Scripts…………………………………6

Abbildung 2: Aufforderung zum Login per .htaccess………………………………………………9

Abbildung 3: Ansicht des Webinterfaces nach erstem erfolgreichem Login…………………….9

Abbildung 4: Nagios Webinterface nach dem ersten Start mit der Grundkonfiguration………15

Abbildung 5: PNP Grafiken nach einigen Servicechecks………………………………………...16

Abbildung 6: Beispiel einer von Nagios versendeten Benachrichtigung………………………..17

Abbildung 7: Installation des NRPE Dienstes……………………………………………………...19

Abbildung 8: Erfolgreicher Start des NRPE Clients………………………………………………..19

Page 25: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 25 von 27

6.3 Quellenverzeichnis (1) Nagios Dokumentation : http://nagios.sourceforge.net/docs/2_0/toc.html

(2) Nagios Portal : http://www.nagios-portal.de

(3) Nagios Wiki : http://www.nagios-wiki.de/

(4) Nagios Exchange : http://www.nagiosexchange.org/

(5) Dodekatex.de SMS Script : http://dodekatex.de/index.php?id=38

(6) NRPE_NT Client für Windows: http://www.miwi-dv.com/nrpent/

(7) NRPE_NT Windows Plugins: http://www.nagiosexchange.org/NRPE_Plugins.66.0.html?&tx_netnagext_pi1[p_view]=62

(8) OpenSuSE: http://de.opensuse.org

(9) Wikipedia: http://de.wikipedia.org/wiki/

(10) OpenSSL: http://de.wikipedia.org/wiki/OpenSSL

(11) Compiler: http://de.wikipedia.org/wiki/Compiler

(12) Barth, Wolfgang.: Nagios. System- und Netzwerk-Monitoring

Open Source Press; Auflage: 1 (November 2005), ISBN 3937514090

Page 26: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 26 von 27

6.4 Glossar

6.4.1 Compiler

Ein Compiler ist ein Computerprogramm, das ein in einer Quellsprache geschriebenes Programm in eine Zielsprache (Zielprogramm) umwandelt. Üblicherweise handelt es sich dabei um die Übersetzung eines von einem Programmierer in einer Programmiersprache geschriebenen Quelltextes in Assemblersprache, Bytecode oder Maschinensprache. Das Übersetzen eines Quellprogramms in ein Zielprogramm durch einen Compiler wird auch als Kompilierung bezeichnet. (siehe Quelle 11)

6.4.2 OpenSSL

OpenSSL ist eine Open-Source-Implementierung des SSL/TLS-Protokolls und bietet darüber hinaus weitergehende Funktionen zur Zertifikatsverwaltung und zu unterschiedlichen kryptographischen Funktionen. (siehe Quelle 10)

6.4.3 Webserver

Ein Webserver ist ein Computerprogramm das auf einem Server ausgeführt wird, es dient dazu über das http Protokoll Informationen zur Verfügung zu stellen. Die zwei bekanntesten Webserver sind Apache und der Internet Information Server.

6.4.4 OpenSuSE

OpenSuSE ist eine freie Linux Distribution die von Novell gefördert wird.

6.4.5 PHP

PHP bedeutet Hypertext Preprocessor und ist eine an C beziehungsweise C++ angelegte Skriptsprache die im Webbereich zum Einsatz kommt

6.4.6 Host

Im Nagios Chargon wird ein physikalischer Rechner als Host definiert.

6.4.7 Service

Im Nagios Chargon wird ein Dienst als Service definiert.

6.4.8 HTTP-Gateway

Bei einem HTTP Gateway wird über die aufgerufene Adresse ein Programm aufgerufen, die Paramter werden in der URL mitübergeben.

Page 27: nagios PROJEKTARBEIT FISI

Einführung einer Netzwerk-Monitoring-Lösung im firmeninternen LAN.

Admin 05.11.2007 Seite 27 von 27

Selbsterklärung

Ich versichere durch meine Unterschrift, dass ich das zugrunde liegende Projekt und diesen

Bericht zur betrieblichen Projektarbeit (Projektbericht) selbstständig und ohne fremde Hilfe

angefertigt habe.

Alle fremden Quellen wie:

Softwaremodule,

Veröffentlichungen,

Andere Projektberichte

und Zuarbeiten,

die ich funktionsmäßig, wörtlich oder auch nur sinngemäß übernommen habe, sind von mir als

solche gekennzeichnet worden.

Die Arbeit hat in dieser Form keiner anderen Prüfungssituation vorgelegen!

Ort, Datum Unterschrift

Das Projekt wurde

� abgenommen

� nicht abgenommen

_______________ ___________________ ________________

Ort, Datum Projektverantwortlicher Stempel des Betriebs