Erro ao usar o NRPE com Icinga2

2

Eu tenho uma instância de trabalho do Nagios e gostaria de executar o Icinga2 em outra máquina. O Nagios está usando o NRPE, então eu também gostaria de usá-lo.

Eu tenho a seguinte configuração em arquivos:

object Service "NRPE check load" {
    import "generic-service"
    host_name = "agrippina"
    check_command = "nrpe-check-2arg"
    vars.host = "agrippina.domain.net"
    vars.check = "check_load"
    vars.loads = "'10' '20'"
    }

e

object CheckCommand "nrpe-check-2arg" {
    import "plugin-check-command"
    command = [PluginDir + "/check_nrpe" ]
    arguments = {
    "-H" = "$host$"
    "-c" = "$check$"
    "-a" = "$loads$"
    }
}

Quando estou emitindo o comando manualmente:

/usr/lib/nagios/plugins/check_nrpe -H agrippina.domain.net -c 'check_load' -a '10' '20'

Eu recebo

OK - load average: 0.98, 1.39, 3.79|load1=0.980;10.000;20.000;0; load5=1.390;10.000;20.000;0; load15=3.790;10.000;20.000;0;

Logs Icinga2:

CHECK_NRPE: Received 0 bytes from daemon.  Check the remote server logs for error messages.

Onde devo procurar essas mensagens?

Desde quando eu executo esta verificação manualmente e ela funciona, como consertá-la no Icinga2?

    
por Damian Melniczuk 30.06.2015 / 15:23

2 respostas

4

Altere vars.loads = "'10' '20'" para vars.loads = "10!20" porque o NRPE não consegue ler os argumentos da maneira como você os declarou no objeto Service.

    
por 01.07.2015 / 15:33
0

Eu não criaria definições CheckCommand personalizadas para vários casos de uso. Nós nos concentramos em tornar os objetos CheckCommand mais reutilizáveis durante nossos ciclos de desenvolvimento, e uma coisa que você obterá - argumentos opcionais e também condicionais.

link

Além disso, o icinga2 já vem com a definição do comando 'nrpe', permitindo adicionar vários argumentos adicionais -a) como array.

link

Seu exemplo:

vars.nrpe_arguments = [10, 20]

Melhor seguir esse caminho e, caso você tenha mais definições CheckCommand para compartilhar, envie-as para o autor - isso certamente ajuda a não se preocupar com as definições do CheckCommand, mas apenas com hosts / servics e seus atributos personalizados usados como parâmetros de comnand :)

link

    
por 29.08.2015 / 13:03

Tags