
Ich habe einen Nagios-Server, der viele enthält hostgroups
. Einer davon hostgroups
enthä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, hostgroup
damit er auf alle anderen überprüft wird, checks
auf die hostgroup
überprüft wird. Gibt es eine Option exclude
oder 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 agroup
auß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)).