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

Как установить номер порта в файле host.cfg и использовать его в файле services.cfg в nagios

У меня есть файл hostgroups.cfg, в котором у меня разные хосты с разными номерами портов. Я хочу передать порт no для каждого хоста в файл services.cfg, где я поместил команду check_http.

Поскольку у моих разных хостов разные HTTP-процессы с разными номерами портов, я хочу передать номер порта напрямую из файла hosts.cfg. Является ли это возможным?

Ниже приведены мои образцы записей в файлах hosts и services.cfg.

файл хоста:

        define host{
          use                    abc
          host_name               test
          alias                   /test/
          address                 192.168.0.24
         hostgroups              testgroup
        }

файл services.cfg

      define service{
         use                             critical-service
         hostgroup_name                  test
         service_description             HTTP
        check_command                   check_http!8080!7!5
     }

файл commands.cfg

    define command{
        command_name    check_http
        command_line    $USER1$/check_http -H $HOSTADDRESS$ -p          
                     $ARG1$ --url $HOSTALIAS$ -c $ARG2$ -w $ARG3$
    }

В конфигурации вашего хоста добавьте пользовательская переменная вот так:

define host {
      use                    abc
      host_name              test
      alias                  /test/
      address                192.168.0.24
      hostgroups             testgroup
      _port                  8080
}

Затем в вашем services.cfg замените порт на установленную вами переменную (вам нужно будет установить ее для всех хостов):

define service {
     use                             critical-service
     hostgroup_name                  test
     service_description             HTTP
     check_command                   check_http!$_HOSTPORT$!7!5
 }