Есть ли способ исключить определенные хосты из группы хостов Nagios?

Есть ли способ исключить определенные хосты из группы хостов Nagios?

У меня есть сервер Nagios, который включает в себя множество hostgroups. Один из них hostgroupsвключает в себя сервер, который я хотел бы исключить из проверки для одного конкретного Nagios, Checkно я хочу, чтобы он оставался членом , hostgroupчтобы он мог проверяться для всех остальных, для checksкоторых hostgroupпроверяется . Есть ли опция excludeили что-то подобное, что может помочь мне достичь моей цели? Спасибо

решение1

Пока не пробовал с хостами, но с хостгруппами, префикс с a !работает. Я использую это для запуска другой проверки нагрузки на загруженных серверах:

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

Вы можете создать одну или несколько групп хостов для исключения чего-либо — добавьте ее/их к хостам, где вы хотите исключить одну или несколько проверок — назвав ее как-то вроде ~no-ipv6 или ~no-ssl или как-то так, чтобы было очевидно, для чего она предназначена.

Примените исключаемую группу хостов к хосту(ам), который(е) вы хотите исключить, в дополнение к обычным хостам, в которые он(и) входит.

В описании службы, где определены имена групп хостов, к которым применяется эта служба, используйте ! (в данном контексте означающее «нет»), чтобы исключить их.

Так что если у вас есть группа хостов "webservers", где некоторые хосты не могут использовать ssl, вы можете создать другую группу хостов "~no-ssl". В файле services.cfg, в определении сервиса, который проверяет https, под именем группы хостов, вы должны указатьwebservers,!~no-ssl

Эффект этого будет заключаться в том, что все хосты в группе веб-серверов будут проверяться на наличие SSL, но те, которыетакжев hostgroup ~no-ssl не будет проверяться SSL. Удобно!

Если есть некоторые проверки, которые вы хотите, чтобы прошли ВСЕ хосты, за исключением нескольких, вы можете использовать*,!~exclusion

Эта абстракция чрезвычайно полезна; еще более полезно использование шаблонов для назначения (или исключения) целого ряда служб определенному типу хоста (что означает, что вы можете использовать определения групп хостов на каждом хосте просто для «дополнительных» дополнительных проверок, которые вы хотите выполнить, или для определенных исключений — т. е. шаблон — это «норма», группы хостов — это исключение(я)).

Связанный контент