Überwachung von Servern und Diensten

Die ZEDAT erbringt eine sehr große Zahl von Server-basierten Diensten im Rahmen der IT-Versorgung der Freien Universität Berlin. Ein wesentliches Qualitätsmerkmal für einen IT-gestützten Dienst besteht in der Zuverlässigkeit und Verfügbarkeit des Dienstes. Eine kontinuierliche Überwachung von Servern und Diensten stellt daher eine essentielle qualitätssichernde Massnahme dar.

Herzstück des Monitoring-Systems ist eine komplexe Sammlung von Software-Modulen, die Daten erfassen, aggregieren, auswerten und darstellen. Verschiedene Techniken (SNMP, Passive Checks, Netzwerkfunktionen) erlauben es, diverse Parameter der Umgebung, der Hardware und des Betriebssystems eines Servers sowie des Zustandes eines Dienstes kontinuierlich abzufragen und auf "pathologische" Werte zu prüfen.

Environmental Monitoring

Zunächst werden die Umgebungsparameter und Basisfunktionen des Datacenters überwacht und aufgezeichnet, die für ein reibungsloses Funktionieren der empfindlichen Systeme bedeutsam sind. Unter anderem werden ausgewertet:

environment-monitor.png
  • Lufttemperatur (an zahlreichen Messpunkten)
  • Luftfeuchtigkeit
  • Luftstrom
  • Stromversorgung (Zuleitung)
  • Unterbrechungsfreie Stromversorgung: Ladezustand der Batterien, Belastung der Phasen
  • Klimaanlage

Monitoring von Servern

Die nächste Ebene des Monitoring betrifft die Server, die die Dienste erbringen, mit ihrer Hardware und dem jeweiligen Betriebssystem sowie zugehörige Netzwerkkomponenten. Zu den überwachten Parametern gehören:

  • Netztechnische Erreichbarkeit
  • Uptime
  • Load
  • Netz-I/O
  • Platten-I/O
  • Füllstand der Filesysteme
  • Diverse Temperaturen (CPUs, Netzteile)
  • Ausfall redundanter Komponenten (Netzteile, Lüfter, Platten)

Monitoring von Diensten

Neben den Basis-Parametern der Server muss auch die Verfügbarkeit der Dienste selbst permanent überwacht werden. Hierzu verbindet sich der Monitoring-System mit dem zu prüfenden Dienst, simuliert eine Anfrage wie sie auch ein Nutzer oder eine andere Client-Software stellen würde und vergleicht die erhaltene mit der erwarteten Antwort. Daneben wird eine Vielzahl weiterer dienstspezifischer Parameter ermittelt wie z.B.

  • Anzahl (bestimmter) Prozesse
  • Anzahl von aufgebauten und abgelehnten Netzwerkverbindungen
  • Anzahl aktiver Nutzer
  • Anzahl ein- und ausgelieferter E-Mails

Alerting

Ermittelt die Monitoring-Software einen Parameter, der außerhalb vordefinierter Werte liegt oder gar nicht zu ermitteln ist, wird nach einer festgelegten Anzahl von Versuchen ein Alarm ausgelöst. Dieser erfolgt auf verschiedene Weise, die abhängig ist vom Schweregrad der Störung. Ein Alarm manifestiert sich auf folgende Weise:

  • Anzeige auf einer Monitoring-Konsole
  • Anzeige in einem Web-Interface
  • ggf. E-Mail an das betreuende Team
  • ggf. SMS an das betreuende Team

Ist eine Störung behoben, erfolgt eine "Entwarnungsmeldung".

In extremen Notfallsituationen (Brand, Überhitzung oder lang andauernder Stromausfall) kann die Überwachung die Abschaltung wichtiger Server automatisch veranlassen, um Schäden an den Geräten und Datenbanken zu vermeiden.

Reporting

Alle Parameter, die die Monitoring-Software ermittelt, werden in einer Datenbank gespeichert. Aus diesen Daten werden permanent Grafiken generiert, die den zeitlichen Verlauf eines Wertes im Web darstellen. Diese Darstellungen (in Stunden-, Tages-, Wochen-, Monats-, Jahres- und Dekaden-Intervallen) sind wichtig, um im Störungsfall den "Normalzustand" eines Parameters ermitteln und die Alarm-Schwellwerte optimieren zu können.

Weiterhin dienen die Grafiken der langfristrigen Ressourcen-Planung für Netz-Infrastruktur, Server-Erneuerung und Software-Optimierung.

Technische Angaben

  • Server-Hardware: Dell PowerEdge R740
  • Betriebssystem: Debian Linux
  • Monitoring-Software: Nagios mit diversen eigenen Erweiterungen
  • Datenbank und Grafiken: RRDtool
  • Monitoring der Stromversorgung: globe ZEDAT UPS Daemon (ZUPS)
  • SMS-Hardware: Siemens GSM-Modem
  • SMS-Versand: SMS Server Tools
  • Umgebungsmonitor: AKCP sensorProbe8-X20