NRPE verificar parâmetros perdidos

2

Estou executando o Shinken e tenho um pacote que inclui vários comandos que executam scripts bash no host monitorado via NRPE. Eu tenho uma verificação no host que executa um script bash que leva 4 parâmetros. Quando ele executa apenas 1 dos 4 parâmetros que eu passo no comando, o comando .cfg faz com que ele seja usado pelo script.

Pesquisei bastante sobre esse problema e não consegui encontrar uma solução. Pelo que eu li, a maioria dos problemas que as pessoas reportam com a passagem de parâmetros para o NRPE é decorrente de não ter o "dont_blame_nrpe" definido corretamente ou de não ter o nrpe compilado com suporte para parâmetros. Este não é o caso da minha situação. dont_blame_nrpe é definido como 1 e o módulo foi compilado com suporte a parâmetros. Além do mais, eu tenho uma verificação no mesmo host (configurado no mesmo pacote) que leva um único parâmetro e funciona muito bem.

Aqui está o meu commands.cfg no pacote:

define command {
    command_name   check_nrpe
    command_line   $PLUGINSDIR$/check_nrpe -u -H $HOSTADDRESS$ -c $ARG1$ -a '$ARG2$ $ARG3$ $ARG4$ $ARG5$'
}

Eu também tentei o acima com aspas duplas em torno de todo o conjunto de argumentos e aspas duplas em torno de cada argumento individual. Eu obtenho o mesmo resultado, não importa o que aconteça.

E a definição de serviço:

define service{
    service_description check-worker-count
    use            generic-service
    register       0
    host_name      nrpe-pack
    check_command  check_nrpe!check-worker-count!worker-name!12!90!80
}

E o /etc/nrpe.d/check-worker-count.cfg no host:

command[check-worker-count]=/usr/lib64/nagios/plugins/check_worker_count.sh -n $ARG1$ -p $ARG2$ -w $ARG3$ -c $ARG4$

Eu tenho o script no host gerando $ * no começo e aqui está o que está sendo obtido:

-n worker-name -p -w -c

Compare a uma execução do script localmente com os parâmetros transmitidos na linha de comando:

-n worker-name -p 12 -w 90 -c 80

    
por Degenerate DevOps 10.08.2015 / 20:28

1 resposta

2

Não se preocupe em separar todos os ARGs -a em ARGs separados no conf Nagios. Você vai ficar louco com as citações. Para simplificar, torne o seu command_line algo como:

$PLUGINSDIR$/check_nrpe -u -t 30 -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$

E, em seguida, use assim:

check_command  check_nrpe!check-worker-count!worker-name 12 90 80

Pelo menos, é assim que você faria em Nagios / Icinga. Deve ser o mesmo para Shinken.

    
por 10.08.2015 / 22:05