Navigation
Grafische Visualisierung
- Nachdem nun alle Hosts eingebunden worden sind, ist es an der Zeit, den Status auf eine Art zu präsentieren, der viele kleine Checks zu einem Ganzen zusammenfasst. Dazu wurden zwei Programme eingerichtet. Zum einen Nagios Business Process View und zum anderen NagVis. Hier findet sich nun eine kleine Anleitung, wie beide zu verwenden sind.
Nagios Process Business View - Übersicht
- Nagios Process Business View (im folgenden NPBV genannt) kann aus einzelnen Checks und Hosts ein Konstrukt schaffen, welches dem Arbeitsablauf einer funktionieren IT entgegenkommt. Eine Webmail-Oberfläche bringt nichts, wenn der dazu gehörige Mailserver nicht arbeitet. Der Mailserver kann seine Arbeit nicht aufnehmen, wenn seine Konten in einer Datenbank liegen und diese nicht erreichbar ist. NPBV verknüpft diese und somit wird schnell ersichtlich, ob das System im Ganzen arbeitet.
Nagios Process Business View - Konfiguration
- Ein Beispiel an unserem Testsystem
- Um unsere Checks in NBPV einzubinden, gibt es eine entsprechende Konfigurations-Datei. Diese haben wir zu editieren und unseren Bedürfnissen anzupassen.
- Dazu müssen wir die Datei /usr/local/nagios-ext/etc/nagios-bp.conf bearbeiten. Die Syntax sieht dabei im folgenden aus:
(host);(service) (|&) (host);(service)
- Am Anfang steht der Host, getrennt von einem Semikolon, worauf eine Verknüpfung folgt. Diese kann entweder ein logisches Oder darstellen, in Form einer Pipe, oder eines logischen Und's, dargestellt durch das Kaufmännische Und. Dann folgen erneut Host und Service. Es ist unbedingt notwendig, dass die Namen exakt dem entsprechen, wie sie in Nagios eingetragen wurden - respektive auf der Nagios-Webseite erscheinen. Denn diese Einträge werden der Datenbank (gefüttert durch die NDO-Utils) entnommen.
mail = mail;check_generic & mail;check_mail
display 0;mail;mail;Mail Server
db = db;check_generic & db;check_db
display 0;db;db;DB Server
- Hier definieren wir zuerst einmal unsere beiden Hosts, deren Checks und wie sie auf der Webseite angezeigt werden sollen. In diesem Fall beschreibt display 0, dass sie nur bei einem Klick auf die oberste Wurzel erscheinen.
- Sowohl der generische Test als auch der spezifische Test dürfen kein Critical aufweisen, damit die Wurzel ebenfalls kein Critical erhält.
mailsetup = mail & db
display 1;mailsetup;mailsetup;Mail Setup
- Hier verknüpfen wir unseren Mailserver mit der Datenbank. Beide müssen also korrekt arbeiten (von Nagios ein O.K bekommen), damit das Konstrukt mailsetup im NBPV ein O.K. Status erhält. Dieser Eintrag bildet die oberste Hierarchie.
- Hätten wir dagegen nicht nur einen Datenbank-Server und nur einen E-Mail-Server, sondern die Server wären redundant ausgelegt, ließe sich auch folgendes Konstrukt verwenden:
mail1 = mail1;check_generic
mail2 = mail2;check_generic
mxcluster = mail1 | mail2
- Nun dürfte entweder mail1 od. mail2 ausfallen, ohne dass unser mxcluster ein Critical darstellen würde.
- Wenn wir nun auch noch den Webserver einbinden, sieht es wie im Folgenden aus:
web = web;check_generic & web;check_web
display 0;web;web;Webserver
webseite = db & web
display 1;webseite;webseite;Webseite
- Auf diese Weise lassen sich Verknüpfungen bilden, um sich so schnell einen Überblick zu verschaffen. Mittels der eingebundenen Templates sind nun so auch Benachrichtigungen möglich und auch eine Verfolgung der Historie.
- Wenn etwas nicht klappen sollte, empfiehlt sich ein Blick in die lesenswerte README-Datei. Desweiteren kann ein Syntax-Check durchgeführt werden, mit folgendem Befehl:
|
master: ~# /usr/local/nagios-ext/bin/nagios-bp-consistency-check.pl
Checking consistency of /usr/local/nagios-ext/etc/nagios-bp.conf
OK
|
Benachrichtigung
- Um auch in den Genuss einer Benachrichtigung zu kommen, wenn im Business-Process etwas rot statt in dem wünschenswerten Grün leuchtet, müssen noch Templates für Nagios eingerichtet werden. Dies müssen wir einmal für die Checks selbst erledigen und dann für die Hosts. Dazu erzeugen wir zwei neue Template-Dateien und binden sie in Nagios über die /usr/local/nagios/etc/nagios.cfg ein:
- /usr/local/nagios/etc/objects/service-business.cfg
|
define service{
name generic-bp-service
use generic-service
contact_groups admins
notification_interval 60
notification_period 24x7
notification_options u,c,r
notifications_enabled 1
max_check_attempts 5
check_period 24x7
register 0
}
define service{
name generic-bp-detail-service
use generic-service
contact_groups admins
notification_interval 60
notification_period 24x7
notification_options u,c,r
notifications_enabled 0
max_check_attempts 1
normal_check_interval 5
retry_check_interval 1
check_period 24x7
register 0
}
|
- /usr/local/nagios/etc/objects/hosts-business.cfg
|
define host {
host_name business_processes_detail
alias untergeordnete Business Processe
address 1.2.3.4
check_command return_true
max_check_attempts 5
check_interval 5
active_checks_enabled 1
passive_checks_enabled 1
check_period 24x7
obsess_over_host 1
check_freshness 1
event_handler_enabled 1
flap_detection_enabled 1
process_perf_data 0
retain_status_information 1
retain_nonstatus_information 1
contact_groups admins
notification_interval 120
notification_period 24x7
notification_options d,u,r
notifications_enabled 1
register 1
}
define host {
host_name business_processes
alias Business Processe
address 1.2.3.4
check_command return_true
max_check_attempts 5
check_interval 5
active_checks_enabled 1
passive_checks_enabled 1
check_period 24x7
obsess_over_host 1
check_freshness 1
event_handler_enabled 1
flap_detection_enabled 1
process_perf_data 0
retain_status_information 1
retain_nonstatus_information 1
contact_groups admins
notification_interval 120
notification_period 24x7
notification_options d,u,r
notifications_enabled 1
register 1
}
|
- Nun folgen noch die beiden Einträge für die nagios.cfg:
- /usr/local/nagios/etc/nagios.cfg
|
[...]
cfg_file=/usr/local/nagios/etc/objects/hosts-business.cfg
cfg_file=/usr/local/nagios/etc/objects/service-business.cfg
[...]
|
- Desweiteren muss aus der Business-Konfiguration eine nagiosfähige Datei erzeugt werden. Dafür dient das Script: /usr/local/nagios-ext/bin/bp_cfg2service_cfg.pl. Es erzeugt eine /usr/local/nagios/etc/services-bp.cfg-Datei, welche dann eingebunden werden muss. Dies sollte nach jeder Änderung der NBPV-Datei erledigt werden.
- /usr/local/nagios/etc/nagios.cfg
|
[...]
/usr/local/nagios/etc/services-bp.cfg
[...]
|
- Der letzte Akt besteht darin, zwei neue Kommandos hinzu zu fügen, um einen Pseudo-Return-Code auszugeben. Dieses Kommandos sieht wie im Folgenden aus:
- /usr/local/nagios/etc/objects/commands.cfg
|
[...]
define command{
command_name check_bp_status
command_line /usr/local/nagios-ext/libexec/check_bp_status.pl $ARG1$
}
define command{
command_name return_true
command_line $USER1$/check_dummy 0
}
[...]
|
NagVis - Übersicht
- Um einen Eindruck des Gesamtbildes zu erhalten, würde Nagios Process Business View ausreichen, doch Personen mit leitenden Funktionen wünschen sich oftmals hübsche Grafiken, um den derzeitigen Status zu sehen. In diese Kerbe schlägt NagVis, indem es auf eine vorgefertigte Grafik Icons ablegt, welches den Status widerspiegeln.
- Unsere eingangs mit Dia erzeugte Grafik eignet sich für ein solches Testunterfangen. Die unten stehende Grafik zeigt eine mögliche Variante, wobei der künstlerischen Kreativität keine Grenzen gesetzt sind:
- Da die Konfiguration bereits abgeschlossen ist, muss nur diese Grafik erzeugt werden, um dann über den Link http://master/nagios/nagivs/wui/index.php?map= (od. auf Diese Map bearbeiten klicken), um dann diese Vorlage hochladen zu könnnen. Dabei per rechter Maustaste auf den freien Bereich klicken. Unter dem Firefox kann es sein, dass dies zweimal geschehen muss (FF2.x), um dann ein Menü zu erhalten. Dort wählt man den Punkt Verwalten -> Hintergrund und lädt seine Grafik hoch. Ist dies geschehen, kann eine neue Map erstellt werden. Dazu erneut die rechte Maustaste bemühen, um dann über Verwalten -> Map eine neue zu erstellen. Dabei kann der gerade hochgeladene Hintergrund ausgewählt werden.
- Wurde diese Aufgabe bewältigt, können nun die ersten Objekte über das gleiche Schema hinzugefügt werden. Da die Erstellung recht intuitiv ist, bedarf es sicher keiner genaueren Einführung. Wer mehr Wert auf Tastaturkomfort legt, kann die Position der einzelnen Elemente auch durch nüchterne Zahlen setzen. Dazu muß lediglich die Konfigurations-Datei der Map editiert werden. Sie findet sich unter /usr/local/nagios/share/nagvis/etc/maps/<mapname>.
Benachrichtigung mit Ticketsystem
- Den Abschuß dieser Anleitung bildet der Teil für die Benachrichtigung mittels des Ticketsystems OTRS. Teil 5.