Назад | Перейти на главную страницу

Nagios исключает службу для одного хоста

Как я могу исключить унаследованную службу для отдельного хоста, не редактируя файл службы?


у меня в моем conf.d каталог много файлов, по одному для каждого хоста, группы хостов, шаблона и службы.

hg_linux-server.cfg

define hostgroup{
    hostgroup_name hg_linux-server
    alias Linux-Server
}

check_swap.cfg

define service{
    service_description check_swap
    check_command check_nrpe!check_swap
    hostgroup_name hg_linux-server
    [...] #more options...
}

t_linux-server.cfg

define host{
    name t_linux-server
    hostgroups hg_linux-server
    register 0
    [...] #more options...
}

examplehost.domain.local.cfg

define host{
    use t_linux-server
    host_name examplehost
    alias examplehost.domain.local
    address 192.168.0.2
}

Вы не можете ... без редактирования определения службы.

Способ исключения examplehost из вашего сервиса:

define service{
  service_description check_swap
  check_command check_nrpe!check_swap
  hostgroup_name hg_linux-server
  host_name !examplehost
  [...] #more options...
}

Я нашел обходной путь:

создать новую группу хостов:

define hostgroup{
     hostgroup_name hg_no-check-swap
     alias exclude check_swap
     register 0
}

добавить участника к хосту

define host{
    use t_linux-server
    host_name examplehost
    alias examplehost.domain.local
    address 192.168.0.2
    hostgroups hg_no-check-swap
}

и исключить группу хостов

define service{
    service_description check_swap
    check_command check_nrpe!check_swap
    hostgroup_name hg_linux-server,!hg_no-check-swap
    [...] #more options...
}

теперь я могу удалить файл examplehost.domain.local.cfg без ошибок. Nagios Core 4.3.4