nagios nrpe valor de retorno incorreto do check_procs

4

Eu tenho um problema com o meu monitoramento nagios. Eu estou tentando verificar um processo em um host remoto usando nrpe.

O host já foi monitorado por nagios, então eu só precisei adicionar uma linha ao arquivo nrpe.cfg. Houve até mesmo uma verificação check_procs definida para que eu pudesse usar esse exemplo.

Tão simples que você pode grosso, mas não. Eu verifico se eu poderia executar o comando manualmente e sem problemas!

ubuntu@host:/usr/lib/nagios/plugins$ ./check_procs -w 1:1 -c 1:1 -a delayed_job
PROCS OK: 1 process with args 'delayed_job'
ubuntu@host:/usr/lib/nagios/plugins$ sudo ./check_procs -w 1:1 -c 1:1 -a delayed_job
PROCS OK: 1 process with args 'delayed_job'

Esta é uma parte do meu arquivo nrpe.cfg:

command[check_procs]=/usr/lib/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
command[check_proc_name]=/usr/lib/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -a $ARG3$

A primeira verificação check_procs está sendo monitorada corretamente, a última linha foi minha adicionada, mas responde com isto: PROCS CRITICAL: 2 processos com args 'delayed_job'

Este é o meu arquivo de serviço:

define service {
  use                 generic-service
  host_name           imobiel.limburger.nl
  service_description Check Delayed Job Proces
  check_command       check_nrpe!check_proc_name!1:1 1:1 delayed_job
}

Alguém tem uma ideia? Eu reiniciei o servidor nagios e o servidor nrpe várias vezes! Espero que alguém expiesse os mesmos problemas?

Agradecemos antecipadamente.

    
por Niels 14.02.2012 / 14:24

4 respostas

4

Eu acho que é um bug no check_procs: ele parece se auto-completar quando executado a partir do nrpe, ao contrário da linha de comando. Talvez uma condição de corrida de algum tipo.

Eu vejo que você está executando o Ubuntu, dado o seu prompt de comando. Com o check_procs disponível no Lucid, posso fazer algo como:

/usr/lib/nagios/plugins/check_procs --ereg-argument-array="[s]tring" -w 1:1

Então, faremos uma correspondência de padrões na lista de argumentos, mas de maneira que o processo check_procs não seja correspondido. Colocar um caractere do padrão em colchetes faz com que a expressão combine com "string", mas obviamente não corresponderá ao argumento "[s] tring" do check_procs.

O check_procs disponível no Hardy não tem a opção regex, no entanto.

    
por 14.02.2012 / 15:24
3

Existe um problema com uma saída / bin / ps no host. Por padrão, o binário "check_procs" faz um "/ bin / ps -axwo" no sistema verificado, que corta a string arg. Apenas recompile nagios-plugins da fonte. Na versão 1.4.15 deve definir opções de configuração:

./configure --enable-extra-opts=yes --with-ps-command="/bin/ps -axwwo 'stat uid pid ppid vsz rss pcpu ucomm command'" --with-ps-format="%s %d %d %d %d %d %f %s %n" --with-ps-cols=9 --with-ps-varlist="procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos"

Quando configuramos o -axWWo - ps, obtemos uma sequência completa de argumentos. Desculpe pela minha ingreesh.

    
por 04.11.2012 / 19:32
0

Qual versão do nagios-plugins você tem? check_procs no 1.4.15 não exibe esse comportamento. Ainda não verifiquei versões anteriores.

Adicione "-vv" ou "-vvv" ao final do seu teste manual, e você pode verificar exatamente o comando 'ps' em execução, o que está vendo e o que considera correspondente.

Se você estiver realmente fazendo com que o Nagios execute os dois "check_procs" e "check_proc_name" como eles estão definidos no seu trecho nrpe.cfg, ao mesmo tempo, com os mesmos argumentos exatos ... então é bem possível que eles pegassem um ao outro na contagem. Mas por que você estaria executando duas verificações que fazem exatamente a mesma coisa?

    
por 14.02.2012 / 19:58
0

Eu realmente tive esse problema também, para mim, definindo o usuário trabalhado. Por exemplo, -u root. desde que o servidor NRPE é executado, verifique como o usuário Nagios, especificamente chamando o usuário, evita esse problema.

    
por 24.06.2014 / 03:56