ESX Host Monitoring via VCenter (Maintenance Mode?)

Guten Morgen,
wir nutzen checkmk 1.6.0p6. Wir möchten zukünftig den Zustand unserer ESX-Server mit Hilfe von checkmk monitoren. Dazu möchten wir den Weg über das VCenter gehen. Grundsätzlich funktioniert das auch ganz gut, wir haben jedoch eine Frage zum Maintenance-Mode von ESX-Systemen. checkmk erkennt ja schön, wenn ein ESX-Host in Wartung ist… hat der ESX-Host in dieser Situation aber ein Problem, gehen trotzdem die Services auf rot/gelb. Gibt es hier Möglichkeiten checkmk so zu konfigurieren, dass während einer ESX-Wartung, die Services grün bleiben, oder sie sonst irgendwie ein Flag bekommen, dass eine Wartung aktiv ist?
Wie sind hier die Best Practices? Habt ihr Tipps?

Danke vorab!
Christian

Hi Christian,

Sorry for replying in English, my German is bad.
In Host & Service Parameters you should look for the following rule: ESX Hostsystem Maintenance Mode
With that rule you can specify the status of Maintenance the host should be in.

Regards,
Erik

1 Like

Hello, Erik,
thanks for your feedback.
I think your proposal goes in another direction. I don’t want to pretend whether hosts are in maintenance or not, but I want to suppress alerts such as Overall state or Memory used when the particular ESX host is in maintenance. And that doesn’t work with the rule you mentioned, does it?

regards, Christian

Interessante Idee! Ich wüsste leider nicht, dass/wie so etwas möglich wäre.

Bei Wartungen an einem ESXi-Host setze ich eben ganz normal eine Downtime in checkmk für den Host oder die betroffenen Services. Je nach Szenario kommen auch Services im vCenter (zB “HostSystem …” oder der lokale Storage des Hosts) sowie die Switchports mit dazu. Handarbeit leider, aber ohne Serviceabhängigkeiten (oder Business Intelligence) geht das wohl nicht anders.

Hi zusammen,
also in unseren bisherigen Monitoring-Tools konnten wir sagen, wenn das ESX-Objekt im VCenter in Maintenance gesetzt wurde, dann setze auch automatisch den ganzen Host im Monitoring-Tool in Maintenance.
Scheinbar gibt es so etwas noch nicht in checkmk.
Ich könnte mir hier aber auf jeden Fall eine Lösung über eine Rule vorstellen, “Unterdrücken von ESX-Host-Service-Alarmen bei aktiver ESX-Host Maintenance”. Aber keine Ahnung ob sowas umsetzbar wäre.

Offensichtlich ist das Ganze aber eher ein Featurerequest :slight_smile:

VG

Hi, ich hatte darüber auch mal nachgedacht, aber noch nicht umgesetzt.
Man kann im VCenter Alarm Actions definieren und damit Scripte ausführen. Über dieses Script kann dann relativ einfach eine Downtime für den Host in CMK erstellen.
Gruß Matthias

Ich fänd es besser es direk im Monitoring System zu implementieren. Ein Weg wäre, aus meiner Sicht, dass über einen Alert Handler zu realisieren (habe ich aber selber noch nicht gemacht). https://checkmk.de/cms_alert_handlers.html

Gruß
Daniel

Hallo Christian,

wie von dpa geschrieben ist sowas mit einem Alert Handler in checkmk möglich.

Wir haben das bei uns so realisiert dass wenn der ESX in den Maintenance gesetzt wird, der Service bei auf CRIT geht, anschließend der alert Handler startet und durch die korrekte Bedingung im checkmk eine Downtime für diesen setzt.

Im treasures Ordner von checkmk ~/share/doc/check_mk/treasures/ findest du ein downtime Skript welches deinen host mit einem Automatisierungs-Benutzer in die downtime setzt oder diese entfernt. Das kannste nach ~/local/share/check_mk/alert_handlers kopieren und über das wato vom checkmk legste einen alert handler an der das Skript mit entsprechenden Parameter (zum entfernen oder zum setzen) aufruft, den $HOSTNAME$ übergibt und nur bei Bedingungen wie: “Match only the following services -> Maintenance Mode” und “Match service event type -> any > ok oder any > crit”(Abhängig davon ob die Downtime gesetzt oder entfernt werden soll) anschlägt. Du kannst außerdem noch Parameter zur Dauer der Downtime oder ein Kommentar angegeben.

Wir haben das bei uns in 2 Skripte zur Übersicht aufgeteilt, das eine Downtime Skript setzt diese nur und das andere entfernt diese.

Grüße

3 Likes

Hi Christian,

Sorry for late reply, I missed the notification on this thread.
Now I get where you wanna go with this. My suggestion is indeed another direction.
The suggestion I read with using the alert handler to create an host downtime would be one way to do it automatically.
Otherwise you should add an downtime on the host, before you put it in maintenance within vCenter. But that would be an manual action everytime.

Although it would be an nice feature if the host is in maintenance other notifications are suppressed, but not default functionality as far as I’m aware.

Regards,
Erik