
私は多くの を含む Nagios サーバーを持っていますhostgroups
。これらの 1 つには、hostgroups
特定の Nagios のチェックから除外したいサーバーが含まれていますCheck
が、 のメンバーであり続けたいので、 がチェックされているhostgroup
他のすべての のチェックも行われます。 のオプションなど、目的を達成するのに役立つものはありますか? よろしくお願いしますchecks
hostgroup
exclude
答え1
ホストではまだ試していませんが、ホストグループでは、プレフィックスを付けると機能します!
。私は、ビジー状態のサーバーで別の負荷チェックを実行するためにこれを使用します。
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
}
答え2
!
サービス定義にプレフィックス付きの特定のホストを追加します。以下のサービス チェックはagroup
、を除く内のすべてのホストに適用されますahost
。
define service {
hostgroup_name agroup
host_name !ahost
service_description Shared NFS mount
check_command check_nrpe!check_shared_mount
use generic-service
}
答え3
除外対象として 1 つ以上のホストグループを作成できます。1 つ以上のチェックを除外するホストにホストグループを追加し、~no-ipv6 や ~no-ssl などの名前を付けて、その目的が明確にわかるようにします。
除外ホストグループを、そのホストがメンバーとなっている通常のホストに加えて、除外するホストに適用します。
サービスの説明で、そのサービスが適用されているホストグループ名が定義されている場合は、! (このコンテキストでは「ない」という意味) を使用してそれらを除外します。
したがって、ホストグループ「webservers」があり、一部のホストがSSLを利用できない場合は、別のホストグループ「~no-ssl」を作成する必要があります。services.cfgファイルのhttpsをチェックするサービス定義のホストグループ名の下に、次のように記述します。webservers,!~no-ssl
この結果、ホストグループウェブサーバ内のすべてのホストがSSLチェックを受けることになりますが、またホストグループ ~no-ssl では SSL はチェックされません。便利です!
一部のホストを除いてすべてのホストに実行させたいチェックがある場合は、*,!~exclusion
この抽象化は非常に便利です。さらに便利なのは、テンプレートを使用して、一連のサービスを特定のタイプのホストに割り当てる (または除外する) ことです (つまり、各ホストのホストグループ定義を、実行したい「追加の」追加チェックや特定の除外にのみ使用できます。つまり、テンプレートが「標準」で、ホストグループは例外です)。