Estou tentando configurar o NRPE com um exemplo básico como primeiro passo para implantá-lo. Para simplificar, estou executando o NRPE e o Nagios localmente. O NRPE e o Nagios parecem estar funcionando, mas o uso do check_nrpe do Nagios falha misteriosamente. Editar: estou usando a versão 4.1.1 do Nagios e 2.15 do NRPE.
Acho que o NRPE está funcionando porque posso executar o check_nrpe manualmente:
/s/l/n/nagios_instance ❯❯❯ libexec/check_nrpe -H 127.0.0.1 -p 5667 -c check_total_procs ⏎
PROCS CRITICAL: 536 processes | procs=536;150;200;0;
Acho que o Nagios está funcionando (e fornecendo argumentos corretos) porque escrevi esta verificação simples em python, arquivo chamado check_hello_world.py que fica no diretório libexec:
#!/usr/bin/env python
import sys
print str(sys.argv)
raise SystemExit, 2
As linhas relevantes da minha configuração do nagios são assim:
define host {
use linux-server
host_name yourhost
alias My first Apache server
address 127.0.0.1
}
define command {
command_name check_procs_nrpe
command_line $USER1$/check_hello_world.py –H "$HOSTADDRESS$" -p 5667 -c "check_total_procs"
#command_line $USER1$/check_nrpe –H "$HOSTADDRESS$" -p 5667 -c "check_total_procs"
}
define service {
use generic-service
host_name yourhost
service_description Check using the hello world plugin
check_command check_procs_nrpe
}
Como você pode ver, eu defino o comando check_procs_nrpe com um dos dois comandos, o script python simples ou o comando nrpe para verificar procs que funcionaram na linha de comando. Quando uso o script python, em alguns minutos recebo um e-mail com o texto:
Additional Info:
[/spare/local/nagios/nagios_instance/libexec/check_hello_world.py, –H, 127.0.0.1, -p, 5667, -c, check_total_procs]
Isso parece mostrar que o Nagios está funcionando corretamente, disparando alertas, enviando e-mails e corrigindo argumentos. Quando altero o comando para usar check_nrpe e executo novamente o Nagios, recebo um email com o texto:
Additional Info:
Incorrect command line arguments supplied
Eu realmente não sei para onde ir a seguir. Não tenho root nesta caixa e, portanto, não consigo reconfigurar facilmente o rsyslog para tentar obter informações de log. Será um prazer fornecer informações adicionais mediante solicitação. Alguma ideia?
Responder1
Concluindo, o problema acabou sendo que o travessão no '-H' não era na verdade um travessão. Foi um travessão. Na verdade, você pode ver isso claramente no texto acima se procurar. Infelizmente, o Source Code Pro (a fonte que uso no meu terminal e, portanto, no vim) não diferencia realmente travessões e travessões. Reabri um problema sobre isso, enquanto estou procurando uma nova fonte (e adicionando diferenciação de traço à minha lista de critérios).