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