Nagios NRPE: Comando “my_command” não definido

3

Eu instalei Nagios® Core™ 3.5.1 e NRPE v2.14 no meu cliente que está executando RHEL 6.3

Eu tenho esta mensagem de erro no meu Nagios

NRPE: Command 'check_mysql_connections' not defined

No meu nrpe.cfg , já configurei o allowed_host, include_dir :

allowed_hosts=xx.xx.xx.xx
dont_blame_nrpe=1
include_dir=/etc/nagios/services

meu comando está em /etc/nagios/services/check_mysql_connections.cfg

command[check_mysql_connections]=/usr/lib64/nagios/plugins/check_mysql_all -K connections -H myHOST -u myUSERNAME -p myPASSWORD

No Nagios Server, eu já configurei o arquivo nagios.cfg , e adicionei o commands-custom.cfg on /etc/nagios/objects que contém assim:

define command {
command_name    check_mysql_connections
command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_mysql_connections
}

e em /etc/nagios/servers adicionei o mysql.cfg

## Define Host Group ##

define hostgroup {
hostgroup_name          mysql-databases
alias                   MySQL Databases
}

#######################
## Define Hosts ##

define host {
use             linux-server
host_name       bdgbnbpmydb02
alias           MySQL Database
address         xx.xx.xx.xx
hostgroups      mysql-databases
contact_groups  admins
check_command   check-host-alive
}

#######################
## Define Service ##

define service {
use                     generic-service
hostgroup_name          mysql-databases
service_description     MySQL Connections
check_command           check_mysql_connections
}

Já matei o processo NRPE , removendo /var/run/nrpe.pid e inicie novamente o processo NRPE. E também meu NRPE NÃO está rodando sob xinet.d

Quando tento executar o comando localmente no host remoto, ele dá resultado. E quando eu tento executar do servidor nagios usando este comando:

/usr/lib64/nagios/plugins/check_nrpe -H xx.xx.xx.xx -c check_mysql_connections

também dá resultado. Eu não sei o que deu errado, porque todos os meus outros comandos estão funcionando normalmente.

    
por buzzing_bee 21.12.2013 / 01:49

6 respostas

1

Siga estas etapas para adicionar uma verificação de disco do cliente remoto. Estes passos podem ser seguidos para a configuração do mysql também.

Cliente

vi /etc/nagios/nrpe.cfg

allowed_hosts=127.0.0.1,nagios_server_ip_here
dont_blame_nrpe=1
#checking root  partion
command[check_disk]=/usr/lib/nagios/plugins/check_disk -w 25% -c 20% -p /

Servidor

Do arquivo /usr/local/nagios/etc/resource.cfg é dado como $USER1$=/usr/local/nagios/libexec :

Então, execute os comandos no terminal:

locate check_nrpe                              //find the location of check_nrpe
cp /usr/lib/nagios/plugins/check_nrpe /usr/local/nagios/libexec/
cd /usr/local/nagios/libexec/
chown nagios:nagios check_nrpe

Edite o arquivo /usr/local/nagios/etc/objects/commands.cfg :

define command{
    command_name    check_disk
    command_line    $USER1$/check_nrpe -H '$HOSTADDRESS$' -t 30 -c check_disk
     }

Edite o /usr/local/nagios/etc/servers/clients.cfg :

define service {
    use                             generic-service
    host_name                       BI Server
    service_description             Disk
    check_command                   check_disk
    notifications_enabled           1
    }

Reinicie os serviços

/etc/init.d/nagios restart                          //server side
/etc/init.d/nagios-nrpe-server restart             //client side

Você também pode verificar os comandos no terminal como usuário nagios,

su - nagios
cd /usr/local/nagios/libexec/
./check_nrpe -H nagios_client_ip_here -t 30 -c check_mysql
./check_nrpe -H nagios_client_ip_here -t 30 -c check_disk
    
por 10.03.2015 / 13:56
0

Comece em uma extremidade e trabalhe de volta.

  • Você disse "/ usr / lib64 / nagios / plugins / check_mysql_all -K conexões -H myHOST -u myUSERNAME -p myPASSWORD "funciona na linha de comando.
  • Você disse que o NRPE trabalha nesse servidor com outros comandos.
  • Você disse que o comando falha na linha de comando dos nagios servidor.

Isso sugere que o problema está na definição do servidor NRPE. É possível que suas variáveis ofuscadas para myHOST, myUSERNAME ou myPASSWORD contenham um caractere interpretado não literalmente por NRPE? (Estou supondo que você já tenha verificado erros de digitação e definições duplicadas!)

    
por 26.12.2013 / 21:23
0

Normalmente, suspeito de um problema de permissões com esse plug-in. Certifique-se de executar seus testes manuais como o usuário nagios (ou nrpe).

Mas neste caso, ele está afirmando que o comando NRPE não está nem definido, então não está nem chegando a executá-lo ...

Coloque o comando NRPE def diretamente no nrpe.cfg, não em um arquivo incluído. (E, em seguida, reinicie o NRPE.)

Eu me lembro de ter um problema semelhante (mas com o NRPE da EPEL), há alguns anos atrás, onde não incluiria outro arquivo no nrpe.cfg por algum motivo. Eu nunca imaginei porque o arquivo de inclusão não funcionou, no entanto.

    
por 27.12.2013 / 16:36
0

Eu tive o mesmo problema em um dos novos testes que havia implementado. Tentei executar a verificação manualmente a partir do servidor Nagios

[[email protected]]$ /usr/lib64/nagios/plugins/check_nrpe -H db1.example.com -c check_mysql
NRPE: Command 'check_mysql' not defined

Descobriu-se que o Daemon NRPE Nagios no Nagios Client Server precisava ser reiniciado, uma vez que ele origina tudo, de nrpe.d na memória de programa

[[email protected]]$ sudo  /etc/init.d/nrpe restart
Shutting down Nagios NRPE daemon (nrpe):                   [  OK  ]
Starting Nagios NRPE daemon (nrpe):                        [  OK  ]

Executou novamente o cheque e foi bem-sucedido desta vez

[[email protected]]$ /usr/lib64/nagios/plugins/check_nrpe -H db1.example.com -c check_mysql
OK: MySQL is running fine.
    
por 17.06.2015 / 20:22
0

Eu tive o mesmo sintoma. Então, talvez isso vai salvar alguém mais algum tempo. Meu problema era que estava faltando a extensão .cfg nos arquivos no diretório include.

Meu diretório de inclusão foi include_dir=/etc/nagios/nrpe.d

A máquina está executando o Ubuntu 14.04 para referência, usando NRPE v2.15

    
por 24.06.2016 / 15:36
-1

Eu tive um problema semelhante há algum tempo, descobri que alguém já instalou o NRPE no servidor (eu não sabia), e quando eu tentei acessar ele levou a versão e a configuração do NRPE antiga, a solução era procurar o antigo NRPE e redirecionar o acesso ...

    
por 27.11.2014 / 16:15