У меня есть hostgroups.cfg файл, в котором у меня есть различные хосты с другим портом нет. Я хочу передать порт не для каждого хоста services.cfg файла, куда я поместил команду check_http.
Поскольку мои различные хосты имеют различные процессы HTTP с другим портом не, таким образом, я хочу передать порт не непосредственно из hosts.cfg файла. Действительно ли это возможно?
Ниже мои демонстрационные записи в хостах и 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
}