Chances são a razão pela qual seu teste de linha de comando com o check_disk está retornando "Recebido 0 bytes do daemon" é porque você não tem:
dont_blame_nrpe=1
definido no seu arquivo nrpe.cfg, pois é necessário para permitir que o cliente nrpe passe qualquer argumento. Como há uma implicação de segurança para permitir que argumentos arbitrários executem testes, ele é desaprovado por padrão.
Você não precisa ativar isso para testar seu script de verificação customizado, já que você já o definiu no nrpe.cfg do host. O que acontece quando você testa seu comando de verificação personalizado do seu servidor icinga via
/usr/lib/nagios/plugins/check_nrpe -H remote-ip -c check_remote_server
?
Exclua quaisquer problemas com o nrpe e seu script de verificação, mas também dê uma segunda olhada nas suas definições de serviço e comando. Olhando para o seu trecho de configuração, o primeiro problema que vejo é a linha "Serviço de objeto" - isso deve ser "aplicar serviço". Além disso, verifique se você tem uma definição de comando definida para NRPE. Tente algo assim para começar:
object HostGroup "test" {
display_name = "Test Group"
assign where host.name == "hostname.com"
check_command = "dummy"
}
object Host "hostname.com" {
import "generic-host"
address = "xx.xx.xx.xx"
}
object CheckCommand "check_nrpe" {
import "plugin-check-command"
command = [PluginDir + "/check_nrpe" ] # Make sure this points to check_nrpe binary
arguments = {
"-H" = "$host$"
"-c" = "$ARG1$"
}
}
apply Service "Test Check" {
import "generic-service"
check_command = "check_nrpe"
vars.ARG1 = "check_remote_server"
assign where "test" in host.groups
}
Algo relacionado, mas como você está usando o icinga2, por que não apenas abandonar o nrpe e usar o icinga2 cliente nativo ? É bastante flexível e possivelmente mais seguro do que usar o nrpe.