O plugin ESXi check_esx3-0.5 para o Nagios mostra erro no Webfront

1

Alguém poderia me fornecer uma solução para o seguinte problema:

Eu tenho o ESXi 4.0 Enterprise Edition (antigo, mas que não pode ser alterado). Eu quero monitorar o ESXi do servidor Nagios. E eu uso check_esx3-0.5.pl plugin link da página Nagios exchabge .

Esse plugin para monitorar o ESXi no servidor Nagios funciona quando o comando type do servidor Nagios. Aqui está o que eu tenho:

  ./check_esx3-0.5.pl -H 172.32.3.3 -u user -p password -l vmfs

E o resultado é:

{CHECK_ESX3-0.5.PL OK - Storages : iSCSI ibm storage=219492.00 MB (23.02%)
, datastore esxi04=60704.00 MB (93.36%), Storage Backup=853604.69 MB (60.13%)
 | 'iSCSI ibm storage'=219492.00MB;; 'datastore esxi04'=60704.00MB;; '
 Storage Backup'=853604.69MB;;}

Acima está a resposta completamente correta.

Aqui estão minhas configurações - definições de comandos:

define service{
    use                             local-service         ; Name of service template   
to use
    host_name                       esxi03.troxo.net
    service_description             PING
    check_command                   check_ping!100.0,20%!500.0,60%
contact_groups              admins        
}


VMWare check cpu
define service{
    use                             local-service
    host_name                       esxi03.troxo.net
    service_description             ESXi CPU Load
    check_command                   check_esx_cpu!80!90
    }

Define a service to check the Memory Usage on the remote machine. 
Warning if > 80%, critical if > 90%.

check memory usage
define service{
    use                             local-service
    host_name                       esxi03.troxo.net
    service_description             ESXi Memory usage
    check_command                   check_esx_mem!80!90
    }

Define a service to check RunTime Status on the remote machine. 

check runtime status
define service{
    use                             local-service
    host_name                       esxi03.troxo.net
    service_description             ESXi Runtime status
    check_command                   check_esx_runtime
    }

 check io read
 define service{
    use                             local-service
    host_name                       esxi03.troxo.net
    service_description             ESXi IO read
    check_command                   check_esx_ioread!40!90
    }

  check io write
  define service{
    use                             local-service
    host_name                       esxi03.troxo.net
    service_description             ESXi IO write
    check_command                   check_esx_iowrite!40!90
    }

  Define a service to check vmfs free space on the remote machine.

  check io write
  define service{
    use                             local-service
    host_name                       esxi03.troxo.net
    service_description             ESXi VMFS Free Space
    check_command                   check_vmfs
    }
  }

Eu adicionei ao resources.cfg user & passe para o login no ESXi. o arquivo commands.cfg se parece com:

check io write
      define command{
       command_name check_esx_iowrite
       command_line $USER1$/check_esx3-0.5.pl -D $HOSTADDRESS$ -u $USER3$ -p $USER4$ 
         -l io -s write -w $ARG1$ -c $ARG2$
        }

check vmfs
   define command{
    command_name check_vmfs
     command_line $USER1$/check_esx3-0.5.pl -H $HOSTADDRESS$ -u $USER3$ -p $USER4$ -l vmfs
       -w $ARG1$ -c $ARG2$
    }

Apenas o comando ping está OK. Outros são declarados como desconhecidos. Aqui está o que eu tenho na página do Nagios:

    ESXi VMFS Free Space

UNKNOWN 03-08-2012 13:56:34  ..... Usage: check_esx.pl -D <data_center> 

user3 & user4 são login & passar para o ESXi em resources.cfg Eu não tenho o Center Server instalado - não é necessário para 6 servidores ESXi. Então, alguém poderia me ajudar a resolver esse problema?

    
por Zoran 03.08.2012 / 13:47

1 resposta

0

Sua definição de comando está esperando ARG1 e ARG2 (para -w e -c, respectivamente), mas você não os está transmitindo após check_vmfs na linha de comando de seu serviço.

Portanto, o comando resultante sendo executado pelo Nagios é algo como "/path/to/check_esx3-0.5.pl -H 172.32.3.3 -u usuário -p passwd -l vmfs -w -c", e é por isso que ele está retornando "erro: aqui está a ajuda de uso" em vez do que você espera.

Você deve remover as partes -w e -c da definição de comando ou adicionar alguns limites (supondo) à sua definição de serviço. Por exemplo, "check_vmfs! 10! 20" ou similar.

    
por 03.08.2012 / 22:08