У меня есть сервер Nagios, который включает в себя множество hostgroups
. Один из них hostgroups
включить сервер, который я хотел бы исключить из проверки для одного конкретного Nagios Check
но я хочу, чтобы он продолжал быть членом hostgroup
так что его можно проверить на все остальные checks
что hostgroup
проверяется на наличие. Есть ли возможность exclude
или что-то подобное, что может помочь мне достичь моей цели? Спасибо
Добавьте конкретный хост с !
префикс в определении услуги. Приведенная ниже проверка сервиса будет применяться ко всем хостам в 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
}
Еще не пробовал с хостами, но с группами хостов с префиксом !
работает. Я использую это для выполнения другой проверки нагрузки на загруженных серверах:
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
}
Вы можете создать одну или несколько групп хостов для исключения вещей - добавить их / их к хостам, где вы хотите исключить одну или несколько проверок - назвав это что-то вроде ~ no-ipv6 или ~ no-ssl или что-то еще, что делает довольно очевидным, что это должно быть сделано.
Примените исключенную группу хостов к хостам, которые вы хотите исключить, в дополнение к обычным хостам, в которые они входят.
В описании службы, где определены имена групп хостов, к которым применяется эта служба, используйте! (в данном контексте означает «не»), чтобы исключить их.
Поэтому, если у вас есть группа хостов «веб-серверы», где некоторые хосты не могут использовать ssl, вы можете создать другую группу хостов «~ no-ssl». В файле services.cfg в определении службы, проверяющей https, под именем группы хостов вы должны поместить webservers,!~no-ssl
В результате все хосты на веб-серверах группы хостов будут проверены на SSL, но те, которые также в группе хостов ~ no-ssl не будет проверяться SSL. Удобно!
Если есть некоторые проверки, которые вы хотите пройти ВСЕ хосты, кроме нескольких, вы можете использовать *,!~exclusion
Эта абстракция чрезвычайно полезна; даже более того, это использование шаблонов для назначения (или исключения) целой группы служб для определенного типа хоста (что затем означает, что вы можете использовать определения групп хостов на каждом хосте просто для «дополнительных» дополнительных проверок, которые вы хотите запустить, или для конкретных исключений - т.е. шаблон является "нормой", группы узлов являются исключением (ями)).