Como testar o nagios send_nsca com o netcat

3

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?

    
por DavidG 08.07.2014 / 19:27

1 resposta

1

Você não precisa de uma "instalação nagios completa" para testar o send_nsca ...

O NSCA é um complemento e não faz parte do próprio núcleo do Nagios. Ele é empacotado como um componente separado no Debian / Ubuntu e CentOS (epel ou repoforge), por exemplo.

O NSCA é executado como um daemon ou via inetd / xinetd. Consulte os documentos de configuração da NSCA para obter mais informações sobre como executá-lo.

Além disso, existem várias substituições de drop-in para NSCA disponíveis; NRDP e NSCA-ng pode ser de seu interesse para testes.

    
por 09.07.2014 / 22:01

Tags