check_mysql_slavestatus RPE: não é possível ler a saída

2

Estou usando o plugin Nrpe no Ubuntu a partir do nagios exchange check_mysql_slavestatus.

Manualmente trabalha a partir de:

root@Bastion-01:/usr/local/nagios/libexec# ./check_mysql_slavestatus -H Slave-ip -P 3306 -u root -p xxxxx -w 10 -c 20

OK: Slave SQL running: Yes Slave IO running: Yes / master: 172.31.20.9 / slave is 0 seconds behind master | delay=0s

Da mesma forma, funciona a partir do Master DB

root@DB-01:/usr/lib/nagios/plugins# ./check_mysql_slavestatus -H Slave-ip  -P 3306 -u root -p xxxxx -w 10 -c 20

OK: Slave SQL running: Yes Slave IO running: Yes / master: 172.31.20.9 / slave is 0 seconds behind master | delay=0s

Como obter erros

root@Bastion-01:/usr/local/nagios/libexec# ./check_nrpe -H Master-ip -c check_mysql_slavestatus  
NRPE: Unable to read output

No servidor Nagios

no Command.cfg

define command{
        command_name check_mysql_slavestatus
        command_line $USER1$/check_mysql_slavestatus -H $HOSTADDRESS$ -P $ARG1$ -u $ARG2$ -p $ARG3$ -w $ARG4$ -c $ARG5$
}

vim /usr/local/nagios/etc/objects/nagios_DB1.cfg

define service{
        use                             generic-service 
        host_name                       DB-01
        service_description             check_mysql_slavestatus
     check_command check_nrpe!check_mysql_slavestatus!hostname!portnumber!username!passwd!15!50
}

Saída no Nagios

check_mysql_slavestatus
CRITICAL    06-09-2015 13:51:51 0d 2h 45m 12s   3/3 (No output on stdout) stderr: execvp(/check_nrpe, ...) failed. errno is 2: No such file or directory 

Por favor, deixe-me saber onde estou errado

Seguiu-se o documento de resolução de problemas link

vim / etc / sudoers

nagios ALL= NOPASSWD: sudo /usr/lib/nagios/plugins/check_mysql_slavestatus
    
por Ashish Karpe 09.06.2015 / 15:56

1 resposta

2

Parece que você não entende completamente como o NRPE funciona. Você não tem o plugin check_nrpe instalado em seu servidor Nagios, ou o caminho para ele está errado. É difícil dizer com certeza, sem ver a definição do comando check_nrpe.

Além disso, você parece um pouco confuso sobre como passar macros para check_nrpe ...

check_nrpe!check_mysql_slavestatus!hostname!portnumber!username!passwd!15!50 significa:

ARG1 = check_mysql_slavestatus
ARG2 = hostname
ARG3 = port
ARG4 = user
ARG5 = pass
ARG6 = 15
ARG7 = 50.

Isto quase certamente não é o que você pretende / quer, a menos que seu comando check_nrpe leve 7 argumentos (improvável).

Alterar isso para algo como check_nrpe!check_mysql_slavestatus hostname portnumber username passwd 15 50 seria mais correto, mas isso só funcionará se você tiver configurado o NRPE para corresponder. Ele deve aceitar argumentos de comando e sua definição de comando check_nrpe deve usar -a $ARG1 no final.

Além disso, você precisa definir um comando check_mysql_slavestatus que use todos esses argumentos na configuração NRPE no final remoto, não no servidor Nagios.

Talvez seja útil ler novamente a documentação da NRPE .

    
por 09.06.2015 / 21:52