Можно ли передать другой пароль команде check_nt / check_nrpe для каждого хоста Windows, который я определил в своих конфигурациях icinga? Например, у меня 3 хоста windows
define host {
use windows-server
host_name prod
address 10.0.0.1
}
define host {
use windows-server
host_name db
address 10.0.0.2
}
define host {
use windows-server
host_name test
address 10.0.0.3
}
и настроил сервис:
define service{
use generic-service
host_name prod,db,test
service_description Uptime
check_command check_nt!UPTIME
normal_check_interval 180
}
который вызывает
define command {
command_name check_nt
command_line /usr/lib/nagios/plugins/check_nt -H '$HOSTADDRESS$' -p 12489 -v '$ARG1$'
}
Все это отлично работает, но я хочу иметь возможность устанавливать разные пароли для каждого хоста (которые нельзя просмотреть через веб-интерфейс). Я знаю, что макросы USERn не отображаются в веб-интерфейсе, но я не знаю, как их здесь использовать. Есть ли простой способ сделать это без создания 3 разных служб и передачи пароля в качестве аргумента на этом этапе?
Да, просто перепишите определение команды:
define command {
command_name check_nt_pwd
command_line /usr/lib/nagios/plugins/check_nt -H '$HOSTADDRESS$' -p 12489 -s '$ARG1$' -v '$ARG2$'
}
Затем вы можете использовать три определения службы, например:
define service{
use generic-service
host_name prod
service_description Uptime
check_command check_nt!PWD1!UPTIME
normal_check_interval 180
}
define service{
use generic-service
host_name db
service_description Uptime
check_command check_nt!PWD2!UPTIME
normal_check_interval 180
}
Или, если у вас есть современный Nagios, задайте переменные хоста (_password) и используйте макрос ($ _HOSTPASSWORD $), например:
define host {
use windows-server
host_name prod
address 10.0.0.1
_password PWD1
}
define service{
use generic-service
host_name prod,db,test
service_description Uptime
check_command check_nt!$_HOSTPASSWORD$!UPTIME
normal_check_interval 180
}
Или, если вы хотите добавить макрос непосредственно в определение команды аналогичным образом.