CMS Journal
Nr. 33
Juni 2010
Service
Metadaten
Hinweise
Weitere Artikel aus dem cms-Journal Nr. 33 finden Sie auf dem edoc-Server der Humboldt-Universität zu Berlin unter http://edoc.hu-berlin.de/cmsj/33
Copyright
Dieser Artikel ist ein Open Access Artikel und steht unter der Creative Commons Lizenz BY (siehe...).

Zentrale Serverüberwachung im Windows-Netzwerk


Manuel Selling
manuel.selling@cms.hu-berlin.de


In einem großen Netz, wie dem der Humboldt-Universität, ist es nicht leicht für die Administratoren, den Überblick zu behalten. Eine Vielzahl von verschiedenen Servern ist bereitzustellen und deren Funktionen sind zuverlässig anzubieten. Doch wie soll das sicher und effizient bewerkstelligt werden? In solchen Fällen bietet es sich an, zu Tools zu greifen, die dem Administrator die Arbeit erleichtern. Eines dieser eingesetzten Tools ist das System- und Netzwerk-Monitoring-Tool Nagios, dessen Einsatzmöglichkeiten am Beispiel des zentralen Windows-Netzwerkes der HU vorgestellt werden sollen.

Das universitätsweite Windows-Netz besteht aus 40 produktiven Domänen-Controllern (DC) und 24 Fileservern zur Versorgung von 17 Domänen. Dazu gehören noch 17 Domänen-Controller und 3 Fileserver im Testnetz. Da ein Großteil der Domänencontroller des Windows-Netzwerkes virtualisiert wurde, gehören die entsprechenden Virtualisierungshosts auch zu den zentralen Komponenten des Windows-Netzes, die zu überwachen sind. Dazu kommen noch einige Hilfssysteme und Dienste. Die meisten dieser Server bieten nicht nur einen Service an, sondern eine Vielzahl von Diensten.

Um hier nicht den Überblick zu verlieren und eine schnelle und einfache Übersicht unserer Systeme und deren Gesundheitszustand zu erhalten, nutzen wir Nagios. Nagios ist eine Opensource-Software, welche ständig – durch die Community unterstützt – weiterentwickelt wird.


Warum Monitoring?

Hauptzweck der Überwachung unserer Systeme ist die zeitnahe Benachrichtigung bei Ausfällen, um schnellstmöglich reagieren zu können. Nur so lässt sich ein Betrieb mit möglichst geringen Ausfallzeiten gewährleisten. Das Monitoring mit Nagios ermöglicht uns auch das Erkennen von Problemen vor einer Havarie. Das hilft uns unter Umständen, einen völligen Ausfall zu vermeiden und die nötigen Entscheidungen zu treffen. Ein weiterer Bestandteil der Überwachung mit Nagios ist es, eine gesamte Sicht über das vorhandene Netzwerk zu gewinnen und dessen Vitalitätszustand zu visualisieren. Das vereinfacht bei einem Ausfall die Fehlersuche und Lokalisierung.

Eine Arbeitserleichterung im täglichen Betrieb verschaffen uns die Automatisierung von Routineaufgaben und die Erkennung von langfristigen Trends.[1] Zum Beispiel können wir so feststellen, inwieweit die Kapazität der von unseren Fileservern zur Verfügung gestellten Festplatten ausgeschöpft ist und wie der Trend der Zunahme der Daten auf diesen Platten ist. Stellen wir eine kontinuierliche Zunahme fest, können wir darauf entsprechend reagieren, die Administratoren der Einrichtungen bzw. Institute informieren und Maßnahmen treffen.

Inhaltsverzeichnis

...

Warum Monitoring? ...

Aufbau und Konzept von Na...

Kernkomponenten des Windo...

Überprüfung der Kernkompo...

Fazit ...

Literatur ...


Aufbau und Konzept von Nagios

Im Grobkonzept ist Nagios ein Framework zur Verwaltung von Überprüfungen (Checks) und Benachrichtigungen (Notifications).[2] Über eine Plugin-Schnittstelle führt die Software Checks und Notifications aus. Die Ergebnisse der Checks werden aufbereitet in einem Web-Frontend zur Verfügung gestellt. Die Abbildung 1 stellt den vereinfachten Ablauf dar.

image

Abb. 1: Einfache schematische Darstellung von Nagios-Checks [3]

Etwas detaillierter wird der grundsätzliche Ablauf in der Abb. 2 dargestellt. Dort ist erkennbar, welche Zustandsmeldungen („ok“, „warning“, „critical“) vom Nagios-Plugin zurückgegeben werden und wie diese durch zusätzliche Informationen aufgewertet werden.

image

Abb. 2: Grundsätzlicher Aufbau von Nagios [1]

Viele Hersteller und freie Entwickler stellen Plugins bereit, die spezielle Hardware und Dienste prüfen. Die Ergebnisse werden dann „Nagios-konform“ ausgeliefert. Somit werden sehr viele Schnittstellen zu unterschiedlichen Systemen (z. B. Datenbanken, Applikationsservern, Sun-Server, Dell-Server usw.) geliefert. Man kann auch selber Plugins schreiben, um spezielle Anforderungen abzudecken.

Inhaltsverzeichnis

...

Warum Monitoring? ...

Aufbau und Konzept von Na...

Kernkomponenten des Windo...

Überprüfung der Kernkompo...

Fazit ...

Literatur ...


Kernkomponenten des Windows-Netzwerkes der HU

Die zentralen Komponenten des Windows-Netzwerkes, die mit Nagios überwacht werden, sind Domänen-Controller und Fileserver.

Domänencontroller stellen den Active Directory-Dienst bereit. Das ist ein Verzeichnisdienst, der für die Verwaltung der Benutzeraccounts im Windows-Netz der HU verantwortlich ist. Vereinfacht gesagt: Nutzer einer Domäne melden sich an den Domänencontrollern an und erhalten nach erfolgreicher Authentifizierung berechtigten Zugriff z. B. auf ihre Homeverzeichnisse oder Projektlaufwerke. Die Domänencontroller stehen redundant zur Verfügung, um eine optimale Ausfallsicherheit zu gewährleisten. Trotzdem müssen wir bei Ausfall eines Domänencontrollers unverzüglich informiert werden, da ansonsten bei Problemen mit dem zweiten Domänen-Controller die gesamte Domäne gefährdet wäre.

Auf den Fileservern werden die aus dem SAN gelieferten Festplattenkapazitäten verwaltet und dem Nutzer zur Verfügung gestellt. Die physischen Fileserver (Nodes) einer Domäne sind zu einem Cluster verbunden. Mit Hilfe der Cluster-Software ist es möglich, die SAN-Platten, Shares und Skripte an jedem physischen Mitglieds-Node des Clusters bereitzustellen. Die Cluster-Ressourcen werden immer über die virtuellen Cluster-Adressen angesprochen. Um zu überprüfen, ob diese für die Nutzer erreichbar sind, werden sie auch mittels Nagios überwacht.

Durch die umgesetzte Strategie der Virtualisierung im Bereich der Domänencontroller müssen auch die dazugehörigen VM-Hosts, also jene Server, die die Domänencontroller als virtuelle Maschinen (Gäste) beherbergen, überwacht werden.

Um die Gesamtheit des Windows-Netzes zu erfassen und dessen Abhängigkeiten zu bestimmen, werden auch noch die Infrastruktur-Komponenten des Netzwerkes (z. B. Switche, Router) in die Nagios-Überwachung einbezogen.

Inhaltsverzeichnis

...

Warum Monitoring? ...

Aufbau und Konzept von Na...

Kernkomponenten des Windo...

Überprüfung der Kernkompo...

Fazit ...

Literatur ...


Überprüfung der Kernkomponenten durch Nagios

Netzwerk

Wenn ein Host/Server/Dienst nicht erreichbar ist, muss es nicht immer am Server selbst liegen. Es kommt häufig vor, dass Infrastruktur-Komponenten, die vor dem eigentlichen Server liegen, Probleme haben (nicht erreichbar sind) und somit der Server nicht erreichbar ist. Die Logik von Nagios berücksichtigt das, indem bei jedem zu überprüfenden Host der jeweilige Vorgänger oder Parent angegeben wird. Bei einem negativen Check des Hosts (nicht erreichbar) wird zu allererst geprüft, ob der eingetragene Parent erreichbar ist. Ist dieser auch nicht erreichbar, prüft Nagios nicht mehr die einzelnen Services des eigentlichen Hosts, sondern markiert ihn als „critical“ und verschickt in bestimmten konfigurierten Intervallen Benachrichtigungen (Mail, SMS) an die jeweiligen Administratoren.[4] Somit können Abhängigkeiten und Eskalationsverhalten definiert und angewendet werden. Die häufigsten Parents sind in unserer Konfiguration Router und Switche bzw. im zunehmenden Maße die VM-Hosts.

Für unsere Zwecke reicht es aus, die Verfügbarkeit der verwendeten Netzwerkkomponenten zu prüfen. Dafür können wir den in Nagios integrierten Host-Check (check-host-alive) nutzen, der wiederum das Plugin check_ping benutzt (s. Abb. 3).

image

Abb. 3: Ergebnis des check_ping Plugins nach der Überprüfung eines Routers

VM-Host

Als Host für die meisten unserer Domänencontroller dienen Virtualisierungsserver auf VMware-Basis. Ein Skript auf dem jeweiligen VM-Host ermittelt die von uns benötigten Daten über die notwendigen Dienste und Eigenschaften. Momentan werden die Zustände folgender Services und Eigenschaften durch Nagios geprüft:

  • Plattenplatzbelegung (Mountpoints)
  • HTTPS
  • CPU Load (wie sind die CPUs ausgelastet)
    • verschiedene Services/Daemons
    • . B. sshd, ntpd, dsmcd)
  • SSH
  • RAM-Ausnutzung

Domänencontroller

Für die allgemeine Überprüfung der Domänencontroller verwenden wir das Plugin check-nt. Es nutzt den Windows internen Performance Counter und überprüft in unserem Falle folgende Parameter des Hosts und liefert deren Status zurück:

  • Plattenplatzbelegung der lokalen Platten
  • CPU Load
  • RAM-Ausnutzung
  • definierte Services, die gestartet sein sollten
  • Active Directory

Für die Übermittlung der Ergebnisse verwenden wir den NSClient++, er kann auch über das Plugin check_nrpe angesprochen werden, um zusätzlich eigene Skripte ausführen und auswerten zu lassen.[2] Ein solches Skript ist check_ad. Es führt auf dem Domänencontroller ein Diagnose-Tool aus (dcdiag.exe) und bereitet die Ergebnisse für Nagios auf (Abb. 4).

Der NSClient++ ist somit die Übermittlungsschnittstelle der ausgeführten Plugins und Checks zum Nagios-Server.

Fileserver und Cluster-Nodes

Der Check für die Fileserver soll uns einen allgemeinen Überblick über den Gesundheitszustand der physischen Cluster-Nodes geben. Es werden nur folgende lokale Parameter geprüft:

  • Plattenplatzbelegung der lokalen Platten
  • CPU Load
  • RAM-Ausnutzung
  • definierte Services, die gestartet sein sollten

Mit der Überprüfung der virtuellen Cluster-Nodes, das sind die Cluster-Nodes, die die Cluster-Ressourcen für Nutzer bereitstellen, erhalten wir detaillierte Informationen über den Zustand bzw. die Auslastung des angebotenen File-Service. Es wird die Auslastung der zur Verfügung gestellten SAN-Platten überprüft (gesamter/benutzter/freier Platz). In den Konfigurationsdateien von Nagios werden die Schwellwerte definiert, so dass z. B. der Zustand von „ok“ zu „warning“ wechselt, wenn nur noch 20% der Platten frei sind. Der Administrator wird dann per Mail informiert und kann entsprechend reagieren. Des Weiteren werden noch weitere Cluster-Ressourcen geprüft, u. a. abhängige Dienste, die gestartet sein müssen (z. B. TSM-Dienst, Dienste zum automatischen Anlegen von Homeverzeichnissen).


Fazit

Es gibt eine Vielzahl von Plugins der Hersteller von Servern (z. B. Dell), mit deren Hilfe die meisten Sensor- und Hardwaredaten (z. B. Lüfter, Temperatur, RAID-Status) an Nagios gesendet und überwacht werden können. Die Abbildung 6 zeigt die Ergebnisse des check_ openmanage-Plugins.

Es gibt nicht nur den RAID-Status des Servers zurück, sondern liefert auch noch Performancedaten von den Lüfter-, Strom- und Temperatursensoren. Mit Hilfe des PNP4Nagios-Addons lassen sich daraus komfortabel Trends, Statistiken und Analysen herleiten (siehe Abb. 7).[5]

Zum Abschluss ist zu sagen, dass man mit Nagios und den dazugehörigen Schnittstellen (Plugins, Skripte usw.) fast alles überwachen kann. Dazu gehört auch die Möglichkeit, eigene Skripte zu

image

Abb. 4: Status der Rückgabe des check_ad Skripts

image

Abb. 5: Critical-State der Plattenplatzbelegung bei einem virtuellen Cluster-Node

image

Abb. 6: Check-Ergebnisse des check_openmanage-Plugins

image

Abb. 7: Grafische Darstellung der Leistungsaufnahme mit Hilfe von pnp4nagios

image

Abb. 8: Das Netzwerk auf einen Blick [3

Inhaltsverzeichnis

...

Warum Monitoring? ...

Aufbau und Konzept von Na...

Kernkomponenten des Windo...

Überprüfung der Kernkompo...

Fazit ...

Literatur ...

 

Literatur