Избегание повторения определения сервиса в Nagios Core

Определение службы для хоста выглядит так: service{ name host_1_svc .... check_command check_xyz!abc }

Аналогичную проверку необходимо выполнить на host2, за исключением того, что параметром команды check_command является lmn. Итак, я должен определить: service{ name host_2_svc .... check_command check_xyz! lmn }

Какова общая удобная практика, позволяющая избежать определения службы снова и снова с небольшими изменениями?

Спасибо, Яш


person Yash Ganthe    schedule 01.10.2013    source источник


Ответы (2)


Вы можете определить пользовательскую переменную хоста на каждом из хостов:

define host{
    use             generic-host
    host_name       host1
    address         10.0.0.1
    _chk_value      abc
}

define host{
    use             generic-host
    host_name       host2
    address         10.0.0.2
    _chk_value      lmn
}

define service{
    use             generic-service
    name            host_chk_svc
    host_name       host1,host2
    check_command   check_abc!$_HOSTCHK_VALUE$
}

Обратите внимание на подчеркивание перед пользовательской переменной в определении хоста (это определяет ее как пользовательскую), а затем подчеркивание в начале макроса, но не в его середине ($_HOSTCUSTOM$, а не $HOST_CUSTOM$).

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

person KBerstene    schedule 13.08.2014

Определите группу хостов, затем добавьте этот хост в группу, и вам нужно будет определить службу только один раз. взаимосвязь между хостами и группами хостов, а также службами и группами служб может быть трудно визуализировать, особенно если у вас нет согласованной схемы именования файлов в папке nagios /etc.

Вот две диаграммы, которые я нашел, которые помогают понять это:

http://www.semintelligent.com/talks/chuug/network-monitoring/#%2827%29

http://www.the-tech-tutorial.com/?p=1433

person andrew lorien    schedule 08.10.2013