OK, eu tenho vasculhado a documentação do Nagios3 e respondi a parte de configuração da porta da minha pergunta ...
A resposta está no modelo de herança de objetos que existe nos arquivos de configuração do Nagios. Essencialmente, criei uma variável personalizada em cada definição de host que especifica a porta ssh exclusiva nessa máquina:
define host {
use generic-host
host_name serverB
address 10.0.1.3
_sshport 67382
}
Os hosts são agrupados dentro do arquivo hostgroups_nagios2.cfg:
# A list of your ssh-accessible servers
define hostgroup {
hostgroup_name ssh-servers
alias SSH servers
members localhost,serverB,serverC
}
Este grupo é referenciado dentro do services_nagios2.cfg pelo bloco que verifica o SSH:
# check that ssh services are running
define service {
hostgroup_name ssh-servers
service_description SSH
check_command check_ssh_port!$_HOSTSSHPORT
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
No final do comando check_ssh_port você pode ver que eu adicionei a variável sshport $_HOSTSSHPORT
que é herdada de cada host dentro do grupo de hosts ssh-servers enquanto as verificações são executadas.
Agora, ao adicionar novos servidores, só preciso modificar meu arquivo hosts_nagios2.cfg com os detalhes do novo host.
Para habilitar compatibilidade com versões anteriores, também modifiquei meu arquivo generic-host_nagios2.cfg adicionando a linha _sshport 22
para que, se por algum motivo eu precisar monitorar algum sistema executando o SSH na porta padrão, a configuração da porta já seja herdada do modelo de host genérico.
Espero que isso ajude os outros que se encontram na mesma situação. Ainda estou tentando entender por que as verificações remotas não estão usando os arquivos de configuração personalizados nos servidores remotos.