Einzelner Host aus Nagios Hostgroup ausschliessen

Wer sich mit Nagios beschäftigt, weiss wie schnell eine Konfiguration unübersichtlich werden kann. Da ist es schon ideal kann man mittels hostgroup einzelne Hosts zusammenfassen und dann Services gleich auf ganze Gruppen anwenden, anstelle von jeden Namen einzeln nachzuführen. Das vereinfacht nicht nur die Übersicht, auch die Administration und das Zufügen von neuen Hosts wird vereinfacht und beschleunigt.
Doch was ist nun, wenn wir eine Gruppe von Servern haben und von den 10 Servern einen bestimmten Service nur auf 9 davon anwenden? Da gibt es zwei Möglichkeiten:

Entweder man macht daraus 2 neue Gruppen. Dummerweise kreiert man so ziemlich schnell sehr viele neue Gruppen und am Schluss ist praktisch jeder Server in einer eigenen Gruppe und es wird wiederum alles unübersichtlich und unnötig kompliziert.
Oder man lässt beim entsprechenden Service die Gruppen weg und erwähnt jeden Host einzeln, auf welchen man das ganze anwenden will. Auch das ist theoretisch möglich, doch auch nicht sehr praktisch, da man so beim erweitern alle Services durchgehen muss und überall noch den neuen Host anhängen.

Also braucht man eine Art Ausnahmen – Und die gibt es auch.
Einfach ein ! (NOT) vor den Hostnamen setzen und schon wird dieser aus der Hostgroup ausgeschlossen. Anstelle von:

host_name  server005, server007, server008, server010, server001, server012, server015, server016

Schreibt man einfach:

hostgroup_name   customer-servers
host_name        !server004

In Nagios selbst sieht die Konfiguration dann so aus:

define service{
        use                     generic-service
        hostgroup_name          customer-servers
        host_name               !server004
        service_description     Webfrontend
        action_url              http://$HOSTALIAS$/page/
        check_command           check_http!-H $HOSTALIAS$ -u "/page/" -s "Username" -f follow -w 5
}

Hätte ich das nur von Anfang an gewusst…

2 Kommentare bei „Einzelner Host aus Nagios Hostgroup ausschliessen

Schreibe einen Kommentar

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