Login
Newsletter
Werbung

So, 22. Februar 2009, 00:00

Nagios - Automatische Überwachung einer IT-Infrastruktur, Teil 1

Installation und Konfiguration

Dependencies

Durch die Host- und Serviceabhängigkeiten lassen sich Benachrichtigungen und Checks unterdrücken, basierend auf den Zuständen, in denen sich die jeweiligen Komponenten befinden, z.B.

define servicedependency {
 host_name linux01, linux02
 service_description NRPE, NSCA
 inherits_parent 1
 dependent_host_name linux03, linux04
 dependent_service_description Users, Load, Disks
 notification_failure_criteria c,u
 execution_failure_criteria n
}

Die Variablen host_name und service_description legen die Master-Services fest, deren Ausfall zum Ausfall der in dependent_service_description genannten Dienste auf den in dependent_host_name angegebenen Rechnern führt. (Zu beachten ist, dass jeder abhängige Service von jedem möglichen Master-Service abhängig ist.)

Die verbleibenden Variablen legen die Optionen fest, bei welchen Zuständen der Master-Services, Benachrichtigungen und Checks ausbleiben sollen.

Im obigen Beispiel bedeutet dies konkret, dass Nagios die zuständigen Kontakte nicht über die Zustände der Dienste Users, Load und Disks auf linux03 und linux04 informiert, wenn die Master-Services sich im Zustand critical oder unknown befinden. Checks werden jedoch auf alle Fälle ausgeführt.

Mögliche Optionen für die failure_criteria sind u (unknown), w (warning), c (critical), p (pending), o (ok) und n (none). Die Variable inherits_parent prüft zusätzlich die Master-Services, ob diese nicht von weiteren definierten servicedependencies abhängig sind.

Bei hostdependency gilt das gleiche, nur fallen die Variablen service_description und dependent_service_description weg. (Abhängigkeitsüberprüfungen erfolgen normalerweise nur für Hard-States. Will man dass diese auch in den Soft-States möglich sind, muss man in der Hauptkonfigurationsdatei die Variable soft_state_dependencies auf 1 setzen.)

Überwachung verschiedener Systeme

Nachdem man sich mit der allgemeinen Konfiguration auskennt, bietet sich nun die Möglichkeit, verschiedene Dienste und Objekte zu überwachen. Im Folgenden wird dafür das Vorgehen an einigen Beispielen beschrieben.

Windows

Üblicherweise werden die Windows-Hosts über den NSClient überwacht. Dieser Agent ist das Bindeglied zwischen dem Main-Host und dem entfernten Windows-Rechner.

Überwachung von Windows

cjt Systemsoftware AG

Überwachung von Windows

NSClient läuft auf dem Windows-Host im Hintergrund und sammelt alle erforderlichen Informationen, die wir über das Plugin check_nt von unserem Monitoring-Host abfragen können.

Installation auf dem Windows-Rechner

Zunächst lädt man sich die aktuelle Version von sourceforge.net/projects/nscplus herunter. Dann entpackt man die Dateien in ein neues Verzeichnis C:\NSClient++ und gibt den folgenden Befehl in der Kommandozeile ein, nachdem man in dieses Verzeichnis gewechselt ist:

nsclient++ /install

Mit diesem Befehl installiert man ein NSClient++-Icon im Infobereich der Taskleiste:

nsclient++ SysTray

Danach editiert man die Datei NSC.ini:

  • Den [modules]-Abschnitt aktivieren (durch Entfernen der Kommentarzeichen), mit Ausnahme von CheckWMI.dll und RemoteConfiguration.dll
  • Ebenfalls die Kommentarzeichen vor der allowed_hosts-Option im [Settings]-Abschnitt entfernen und die IP-Adresse des Nagios-Servers einfügen. Optional kann dort auch ein Passwort in der password-Option gesetzt werden.
  • Den Wert in der port-Option im [NSClient]-Abschnitt auf 12489 setzen.

Nun kann dann der Agent gestartet werden:

nsclient++ /start

Konfiguration auf dem Nagios-Rechner

Zunächst müssen in der Hauptkonfigurationsdatei die Pfade zu den Konfigurationsdateien gesetzt werden:

cfg_file=/usr/local/nagios/etc/objects/windows.cfg
cfg_file=/usr/local/nagios/etc/object/commands.cfg

Man muss beachten, dass jede relevante cfg-Datei dort ebenfalls, mit komplettem Pfad, angegeben werden muss.

Danach editiert man windows.cfg und definiert dort den Host und die Services, die man überwachen möchte, z.B:

define host {
 use windows-server
 host_name winserver
 address 192.168.1.2
}
define service {
 use generic-service
 host_name winserver
 service_description CPU Load
 check_command check_nt!CPULOAD!-l 5,80,90
}

Schließlich definiert man in commands.cfg das Kommando, mit dem man das Plugin check_nt aufruft, wobei für PASSWORD das Passwort eingetragen werden muss, welches man in NSC.ini im [Settings]-Abschnitt benutzt hat (die lange Zeile wurde aus Layout-Gründen umgebrochen, muss aber in einer Zeile der Datei stehen):

define command {
 command_name check_nt
 command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489
-s PASSWORD -v $ARG1$ $ARG2$
}

Nun muss man nur noch Nagios neu starten, und die Überwachung des Windows-Hosts sollte funktionieren:

service nagios restart

Es ist z.B. auch möglich, folgende Dienste zu überwachen:

  • Speicherbelegung
  • CPU-Auslastung
  • Plattenbelegung
  • Zustände von Diensten
  • laufende Prozesse

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung