Gibt es eine Möglichkeit, bestimmte Hosts von einer Nagios-Hostgruppe auszuschließen?

Gibt es eine Möglichkeit, bestimmte Hosts von einer Nagios-Hostgruppe auszuschließen?

Ich habe einen Nagios-Server, der viele enthält hostgroups. Einer davon hostgroupsenthält einen Server, den ich von der Überprüfung auf ein bestimmtes Nagios ausschließen möchte Check, der aber weiterhin Mitglied von bleiben soll, hostgroupdamit er auf alle anderen überprüft wird, checksauf die hostgroupüberprüft wird. Gibt es eine Option excludeoder etwas Ähnliches, das mir dabei helfen kann, mein Ziel zu erreichen? Danke.

Antwort1

Habe es noch nicht mit Hosts probiert, aber mit Hostgruppen !funktioniert das Präfixieren mit a. Ich verwende dies, um eine andere Lastprüfung auf ausgelasteten Servern auszuführen:

define host {
    use         physical-host
    host_name   busy-host.example.com
    alias       busy-host.example.com
    address     10.43.16.1
    hostgroups  linux,centos,ldap,http,busy
}

define host {
    use           physical-host
    host_name     normal-host.example.com
    alias         narmal-host.example.com
    address       10.43.1.1
    hostgroups    linux,centos,dns,proxy,ldap,hp,http,puppetmaster
}

define service {
    use                   generic-service
    hostgroup_name        linux,!busy
    service_description   Load
    check_command         check_snmp_load
}

define service {
    use                   generic-service
    hostgroup_name        busy
    service_description   Load
    check_command         check_snmp_load_busy
}

Antwort2

Fügen Sie den spezifischen Host mit einem !Präfix in der Servicedefinition hinzu. Die folgende Serviceprüfung gilt für alle Hosts agroupaußer ahost.

define service {
    hostgroup_name   agroup
    host_name       !ahost   
    service_description Shared NFS mount
    check_command check_nrpe!check_shared_mount
    use generic-service

}

Antwort3

Sie können eine oder mehrere Hostgruppen zum Ausschließen von Dingen erstellen – fügen Sie sie den Hosts hinzu, von denen Sie eine oder mehrere Prüfungen ausschließen möchten – und nennen Sie sie etwa ~no-ipv6 oder ~no-ssl oder was auch immer, damit ziemlich deutlich wird, was sie tun sollen.

Wenden Sie die ausgeschlossene Hostgruppe auf die Hosts an, die Sie zusätzlich zu den normalen Hosts, deren Mitglied sie sind, ausschließen möchten.

Verwenden Sie in der Dienstbeschreibung, in der die Hostgruppennamen definiert sind, auf die dieser Dienst angewendet wird, ein ! (in diesem Kontext bedeutet es „nicht“), um sie auszuschließen.

Wenn Sie also eine Hostgruppe „Webserver“ haben, bei der einige Hosts kein SSL unterstützen, können Sie eine weitere Hostgruppe „~no-ssl“ erstellen. In der Datei services.cfg, in der Servicedefinition, die https prüft, würden Sie unter Hostgruppenname Folgendes eingeben:webservers,!~no-ssl

Dies hätte zur Folge, dass alle Hosts in der Hostgruppe Webserver auf SSL geprüft werden - aber diejenigen, dieAuchin der Hostgruppe ~no-ssl wird SSL nicht aktiviert. Praktisch!

Wenn Sie möchten, dass ALLE Hosts, abgesehen von einigen wenigen, einige Prüfungen durchlaufen, können Sie*,!~exclusion

Diese Abstraktion ist ungeheuer nützlich; noch nützlicher ist die Verwendung von Vorlagen, um einem Hosttyp eine ganze Reihe von Diensten zuzuweisen (oder auszuschließen) (was dann bedeutet, dass Sie die Hostgruppendefinitionen auf jedem Host einfach für „zusätzliche“ Prüfungen verwenden können, die Sie ausführen möchten, oder für bestimmte Ausschlüsse – d. h. Vorlagen sind die „Norm“, Hostgruppen sind die Ausnahme(n)).

verwandte Informationen