Überwachung virtualisierter Umgebungen mit Nagios und Icinga

Leistungs-Kontrolle

So leicht sich echte Server heute in virtuelle Maschinen überführen lassen, so schnell geht auch der Überblick verloren. Mit spezielle für virtuelle Umgebungen angepasstem Monitoring behalten Sie den Überblick.
Auch wenn auf der Packung "Cloud Computing" steht, steckt dahinter eigentlich Virtualisierungstechnologie mit cleveren Management-Funktionen. ADMIN 05/2010 ... (mehr)

Virtualisierung ist eine im Datacenter bereits seit vielen Jahren etablierte Technologie, die ihre Ursprünge in der Host-Partitionierung im Mainframe-Umfeld hat. Bereits vor über 35 Jahren hat IBM hier mit verschiedenen Mainframe-LPARs einen bedeutenden Grundstein gelegt. Heute ist Virtualisierung aus dem Rechenzentrum nicht mehr wegzudenken und viele moderne Architekturkonzepte wie etwa Cloud-Computing wären ohne diese Basistechnologie nicht denkbar.

Da neue virtuelle Maschinen schnell und einfach ausgerollt werden können, geraten die Grundprinzipen guten IT-Managements im Alltag allerdings manchmal ins Hintertreffen. Beispielsweise werden die notwendigen Einträge in der Configuration Management Database (CMDB) vergessen, keine Dokumentation erstellt oder die Aufnahme ins Monitoring auf später verschoben.

Anforderungen an das IT-Service Management

Gerade die Überwachung der verfügbaren Ressourcen und Einhaltung der vereinbarten Service-Level sollten eine Kernkompetenz des IT-Betriebs sein und auch entsprechend flexibel mit den neuen Anforderungen umgehen. Für die freien Monitoring-Systeme Nagios und Icinga gibt es eine Vielzahl an Plugins, um die verfügbaren Virtualisierungslösungen überwachen und auch langfristige Kapazitätsengpässe zu erkennen. Dieser Artikel stellt Lösungen vor, um virtualisierte Umgebungen zu überwachen und Veränderungen zu identifizieren.

Was macht ein virtualisiertes System besonders?

Zuerst drängt sich die Frage auf, was ein virtuelles System eigentlich so besonders macht. Scheint doch die feste Zuordnung von Ressourcen zu einem virtualisierten System die gleichen Basisüberwachungen wie gewöhnlich zu erfordern. Aber was ist gewöhnlich, was soll denn wirklich auf Ebene des Betriebssystems überwacht werden? Um Ausfälle nicht nur zu erkennen, sondern möglichst zu vermeiden, bietet die Festplatte in der Regel das meiste Potential, daher sollte die Überwachung des freien Platzes, aber auch der I/Os pro Sekunde besonderes Augenmerk geschenkt werden: Nagios kann mit dem Plugin »check_disk« [1] die Plattenauslastung erkennen und die Daten später für das Kapazitätsmanagement nutzen. Eine sehr sinnvolle Erweiterung des Disk-Checks ist auch die Überwachung des Disk-I/O. Dieser kann mit dem entsprechenden Plugin »check_diskio« [2] einfach ermittelt und auch mit Schwellwerten zur Alarmierung versehen werden. Erhöhter Disk-I/O ist oft bereits Tage oder Wochen vor anderen Problemen erkennbar, da heutige Systeme eher Speicher- als CPU-gebunden arbeiten.

Auch wenn NRPE (Nagios Remote Plugin Executer) in vielen Umgebungen Standard ist, sollte man SSH den Vorzug geben. Gründe sind Firewall-Awareness, Updates durch den jeweiligen Betriebssystemanbieter aber vor allem auch der bewährte Umgang mit Schlüsseln und Konfiguration im Linux- und Unix-Umfeld.

Während die genannten Plugins für Unix- und Linux-Systeme ausgelegt sind, kann der Admin auch bei Windows-Systemen Auslastung und I/O-Last überwachen. Der gebräuchlichste Weg ist hier die Verwendung des NSClient++-Agenten [3] und den entsprechenden Server-Plugins »check_nt« [4] oder »check_nrpe« . Die Abfrage erfolgt dann unter Verwendung der verfügbaren Windows-Counter:

check_nrpe -H $HOSTADDRESS$ -c CheckCounter ↩
-a "\\System\\File Data Operations/Sec" ↩
ShowAll MaxWarn=20000 MaxCrit=30000

Neben »check_disk« dient auch die Überwachung von bestimmten Prozessen der Fehlervermeidung. Standardplugins wie »check_proc« [5] und das Checkprocstate-Modul von NSClient++ [6] helfen dabei. So lässt auch auf Windows zum Beispiel die maximale Anzahl eines bestimmten Prozesses überwachen, um mögliche Fehler rechtzeitig zu identifizieren:

check_nrpe -H IP -p 5666 -c CheckProcState↩
 -a MaxCritCount=50 app.exe=started

Ergänzend können Monitoring-Systeme natürlich eine Vielzahl an weiteren Diensten und Services überwachen. In den einschlägigen Portalen der deutschen Community [7] und diversen Wikis [8] finden sich unzählige Beispiele, dank der großen Beliebtheit von Nagios und Icinga.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023