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

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

3 ответа

Решение

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

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
}

Добавьте определенный хост с ! префикс в определении сервиса. Приведенная ниже проверка сервиса будет применяться ко всем хостам в 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

}

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

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

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

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

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

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

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

Другие вопросы по тегам