У нас есть установка 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».