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

Как обнулить унаследованную проверку службы в nagios?

У нас есть установка nagios, которая использует наследование в большей степени, чем я привык. Я читал документацию по адресу:

http://nagios.sourceforge.net/docs/3_0/objectinheritance.html

Но я все еще не могу понять, как достичь своей цели.

У меня есть сервер / хост, который уведомил о предупреждении о процессах. Я исследовал это, и это известная ошибка, которую безопасно игнорируют для этого конкретного сервера. В идеале я хотел бы увеличить количество предупреждений / критических точек для определения службы только для этого хоста; но мне также удобно, что я не использую эту служебную проверку, пока не будет выпущено исправление для текущей проблемы. Отключение через веб-интерфейс не является приемлемым вариантом для моих менеджеров.

Определение услуги:

define service{
            use                             unix-agent-service
            hostgroup_name                  linux-servers
            service_description             Agent: Total Processes
            check_command                   check_nrpe!check_total_procs
    }

Определение хоста:

define host{
        use                     linux-server
        host_name               unixlab
        alias                   Unix Lab
        address                 PRIVATE
        }

Определение группы / сервера:

define host{
        name                            linux-server
        use                             generic-host
        alias                           Linux server
        hostgroups                      linux-servers
        register                        0
        }

Хост наследует все сервисы, определенные на linux-серверах группы хостов. Я попытался дать сервисной проверке имя, а затем установить для этого имени значение null в определении хоста, но я считаю, что этот синтаксис неверен и / или я не понимаю эту часть наследования:

define service{
        **name                                            agent-total-processes** 
       use                                             unix-agent-service
        hostgroup_name                  linux-servers
        service_description             Agent: Total Processes
        check_command                   check_nrpe!check_total_procs
}

Определение хоста:

define host{
        use                     linux-server
        host_name               unixlab
        alias                   Unix Lab
        address                 PRIVATE
        **agent-total-processes    null**
}

Я уверен, что упускаю что-то очевидное… судя по моему пониманию наследования, это должно быть возможно, но я не могу осмыслить это.

Мысли?

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

define service {
        use                             unix-agent-service
        hostgroup_name                  linux-servers
        host_name                       !unixlab
        service_description             Agent: Total Processes
        check_command                   check_nrpe!check_total_procs
}

При этом служба будет применяться ко всем членам «linux-servers», кроме «unixlab».