Estou tentando escrever um teste de unidade de send_nsca
usando nc
, mas está falhando.
Eu quero iniciar nc
para ouvir a porta nsca e usar send_ncsa
para enviar uma mensagem para essa porta.
Em um terminal que estou executando:
nc -l 5667 -v
No outro:
echo -e "foo.example.com\ttest\t0\t0" | ./send_nsca -H localhost -p 5667 -c send_nsca.cfg
Meu arquivo send_nsca.cfg
contém apenas: encryption_method=0
.
No terminal de escuta, obtenho:
Connection from 10.1.30.23 port 5667 [tcp/*] accepted
Mas nada mais. No lado send_nsca
eu recebo:
Error: Timeout after 10 seconds
Alguma idéia?
EDITAR:
Eu recompilei a fonte e habilitei a saída DEBUG:
Connected okay...
Error: Timeout after 10 seconds
Cleaned up encryption routines
Do código, vejo que falta o pacote de inicialização que contém o IV e o timestamp:
#ifdef DEBUG
printf("Connected okay...\n");
#endif
/* read the initialization packet containing the IV and timestamp */
result=read_init_packet(sd);
if(result!=OK){
printf("Error: Could not read init packet from server\n");
close(sd);
do_exit(STATE_CRITICAL);
}
#ifdef DEBUG
printf("Got init packet from server\n");
#endif
Existe alguma outra maneira de testar o send_nsca sem uma instalação completa do nagios?