У меня есть файл 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
}