Vmware Datacenter mit Nagios überwachen

closeDieser Beitrag wurde vor über 3 Monaten veröffentlicht. Die darin beschriebenen Informationen sind mit Vorsicht zu geniessen, da sie bereits veraltet oder nicht mehr gültig sein könnten. Solltest du von Neuerungen oder Verbesserungen wissen, so freue ich mich über einen klärenden Kommentar.

Seit unserem Umzug von ESXi auf zwei ESX-Server hatten wir ein kleines Problem: Die Überwachung mittels dem Plugin check_esx_wbem.py funktionierte nicht mehr. Also musste auch ein neues her, schliesslich will man ja nicht blind sein!
Also habe ich mich auf exchange.nagios.org auf die Suche nach einer funktionierenden Lösung gemacht, welche trotz den zwei Dutzend Scripte und Lösungen gar nicht so einfach zu finden war. Ob nun falsche oder veraltete Programmierung oder schlicht meine Unfähigkeit der Grund für dessen versagen war, lass ich mal im Raum stehen.

Schlussendlich bin ich auf ein Perl Script namens “Vmware ESX & VM host” gestossen, welches plötzlich konnte, was ich wollte. Dazu war lediglich das vSphere SDK für Perl erforderlich und schon konnte es losgehen.

In den Ordner libexec gehört das Script und muss ausführbar gemacht werden:

curl "http://exchange.nagios.org/components/com_mtree/attachment.php?link_id=2154&cf_id=29" > check_esx.pl
chmod +x check_esx.pl

Danach konnte das passende Kommando eingepflegt werden unter etc/objects/commands.cfg:

#check hardware of an esx server
define command{
        command_name    check_vsphere
        command_line    $USER1$/check_esx.pl -D $CLUSTER$ -H $HOSTALIAS$ -u $USER$ -p $PASS$ -l $ARG1$
        }

Unter etc/resource.cfg können die verwendeten Variablen definiert werden. Bedingung hierfür, dass der Hostalias, also $HOSTALIAS$, dem DNS-Namen entspricht. Kann aber auch problemlos angepasst werden.
Weiter gehts nun mit den eigentlichen Maschinen:

define service{
        use                     generic-service
        hostgroup_name          esx-servers
        service_description     CPU Usage
        check_command           check_vsphere!cpu -s usage -w 90 -c 95
        }

define service{
        use                     generic-service
        hostgroup_name          esx-servers
        service_description     Memory Usage
        check_command           check_vsphere!mem -s usage -w 90 -c 95
        }

define service{
        use                     generic-service
        hostgroup_name          esx-servers
        service_description     Network
        check_command           check_vsphere!net
        }

define service{
        use                     generic-service
        hostgroup_name          esx-servers
        service_description     Status
        check_command           check_vsphere!runtime -s status
        }

define service{
        use                     generic-service
        hostgroup_name          esx-servers
        service_description     Datastore
        check_command           check_vsphere!vmfs
        }

Und das war es auch schon. Aussehen tut das ganze so:

close
Immer informiert sein dank meines RSS Feeds.Oder folge mir via Twitter!

7 Gedanken zu „Vmware Datacenter mit Nagios überwachen

  1. Thorsten

    Handelt es sich bei der Einführung um einen Schreibfehler? Du schreibst ihr seid von ESXi auf ESX migriert. Ist es nicht anders herum?
    ESX Hosts werden seit vSphere 4.1 nicht mehr weiter entwickelt…

    Gruß
    Thorsten

    Antworten
    1. Patrick Artikelautor

      Nein, ist kein Schreibfehler. Von ESX auf ESXi wäre ja eher eine Herabstufung ;-) Aber korrekterweise müsste es auf Vmware vSphere 5 heissen, was einem ESX 5 entspricht.

      Antworten

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <b> <blockquote cite=""> <cite> <del datetime=""> <em> <i> <pre lang="" line="" escaped=""> <strong>