Das Monitoring einer OVM-Umgebung kann eine sportliche Aufgabe werden, wenn kein Cloud-Control zur Verfügung steht.
In meiner Spielwiese habe ich für Cloud-Control keine Resourcen und darüber hinaus muß der ‘Basic Support’ bestellt werden, wenn man im Cloud-Control die notwendigen Packs zum Überwachen nutzen möchte.

Gibt es eine Alternative?
Da ich mich schon seit Jahren mit Nagios beschäftige, ist für mich klar, das es Nagios zum Monitoring sein muß. Das schöne an Nagios ist das Plugin-Konzept, das eine sehr flexible Erweiterung ermöglicht und aufgrund einer breiten Basis an verfügbaren Plugins sehr flexibel einsetzbar ist.
Leider gab es bisher noch kein Plugin, um die SSHCLI von OVM3 abzufragen. Ich habe mit dem auf Nagios Exchange veröffentlichten Plugin diese Lücke geschlossen und wünsche allen viel Spaß damit.

Was braucht man für ein Monitoring mittels Nagios?
– Nagios Core
Den Daemon der für das Monitoring verantwortlich ist und je nach Konfiguration entsprechend Meldungen verschickt.
– NRPE oder NSCA
Ich bevorzuge den Nagios Remote Plugin Executor vor dem Nagios Service Check Acceptor. Beide Daemons haben aber ein großes Problem, wenn man sie auf einen OVM-Server installieren möchte. Oracle hat das Betriebssystem vom OVM-Server so stark reduziert, das ein Betrieb des NRPE zzgl. der Plugins in der Praxis kaum möglich ist. Darüber hinaus ist die Installation von zusätzlichen RPMs problematisch, da Oracle dafür keine Updates bereit stellt und hier unter Umständen der Supportpfad verlassen wird.

Reich das Plugin?
Bei genauer Berachtung reicht ein Plugin zur Abfrage der SSHCLI vom Manager definitiv nicht aus, da darüber keine Kernelmeldungen in Erfahrung zu bringen sind.
=> Wie soll man Fehler im Multipathing, OCFS2 etc. erkennen?

Die Lösung ist sehr einfach:
Ich biege den syslog der OVM-Server auf einen Syslogserver, den Nagios-Host oder den OVM-Manager um. Dort dann ein Monitoring mittels check_logfiles und eine umfangreiche Überwachung läßt sich mit sehr überschaubaren Mitteln bauen, ohne eine umfangreiches Framework wie Cloud Control zu benötigen. (In kleinen Umgebungen mit 1-2 OVM-Server und wnigen VMs lohnt sich der Aufwand für ein Cloud-Control nur, wenn es neben der OVM-Umgebung auch noch für weitere Zwecke genutzt wird…)

Ich habe meine heimische Spielwies umgebaut, so das der OVM-Server sein syslog an die Nagios-VM schickt und dort mittels check_logfiles überwacht wird. Parallel nutze ich check_ovm3, um den Status von virtuellen Maschinen sowie des Repositories zu überwachen. (Das Heine/Ei-Problem mit der Nagios-VM auf dem laufenden OVM-Server sei hier einfach mal ignoriert – es ist eine Spielwiese!)

Was kann mit dem Plugin überwacht werden?

– filesystem
Checks used space in the filesystem and returns a Warning or Critical
Example:

[bash]check_ovm3 -p secret -a filesystem -n fs_Samsung_750GB -w 51 -c 75 -H localhost
OK – Filesystem Used Space 40% in fs_Samsung_750GB warn(51) crit(75) |pctused=40; Total=698; Used=281[/bash]

– server
Checks the state of the server. Result is CRITICAL when server is not in ‘Running’-Mode
WARNING when Server is in Maintenance-Mode
Example:

[bash]check_ovm3 -p secret -a server -n ovm3server -H localhost
OK – ovm3server is Running ovs-release 3.2.1-494 Processors 3 OVM-Server-IP 192.168.100.200 Maintenance Mode=Off Memory=16.0 Memory Dom0=0.82 CPU-Type=AMD Phenom(tm) II X3 705e Processor CPU-Speed=2.494557[/bash]

– vm
Checks the state of the virtual machine. Result is CRITICAL when VM is not in ‘Running’-Mode
There is some statistical data for the virtual machine like RAM and CPUs.
The data in ‘()’ are the allowd maximum values while running the vm.
Example:

[bash]check_ovm3 -p secret -a vm -n rac1 -H localhost
OK – rac1 is Running on ovm3server Repository=Samsung_750GB HA-Mode=No CPUs 3(3) RAM 1500(3000) OS=Oracle Linux 6 Dom-Type=Xen PVM[/bash]

Das Plugin ist auf Nagios Exchange zu finden:
http://exchange.nagios.org/directory/Plugins/Operating-Systems/*-Virtual-Environments/Others/check_ovm3/details

Gruß
Thorsten

Leave a Reply

Your email address will not be published. Required fields are marked *