esxi nagios speed issue

4

Estou tentando adicionar meus servidores esxi (tenho 3 deles) ao meu monitoramento nagios. Estou usando o SDK do Perl e o script conforme documentado em vários lugares da Internet, o script mais recente está aqui: link

Atualizei minhas duas caixas esxi4 para 4.1u1 (4.1.0, 348481)

O problema que estou tendo é que as verificações são muito lentas.

Eu tracei o comando perl usando o DProf

    /usr/bin/perl -d:DProf /usr/lib/nagios/plugins/check_esxi -H HOSTNAME -u nagios -p PASSWORD -l cpu -s usage -w 85 -c 95

e eu recebo a seguinte saída (via dproff)

     Total Elapsed Time = 6.634312 Seconds
       User+System Time = 5.154312 Seconds
     Exclusive Times
     %Time ExclSec CumulS #Calls sec/call Csec/c  Name
     44.1   2.276  4.339      2   1.1380 2.1695  Vim::login
     12.9   0.667  1.638   4254   0.0002 0.0004  Class::MethodMaker::Engine::create_methods
     8.91   0.459  0.588   4254   0.0001 0.0001  Class::MethodMaker::scalar::scal0000
     5.18   0.267  0.304   4254   0.0001 0.0001  Class::MethodMaker::Engine::install_methods
     3.20   0.165  0.165  26005   0.0000 0.0000  XML::LibXML::Node::nodeName
     2.50   0.129  0.129   4254   0.0000 0.0000  Class::MethodMaker::Engine::check_opts
     2.41   0.124  0.594    925   0.0001 0.0006  ComplexType::deserialize
     1.92   0.099  0.091   1561   0.0001 0.0001  Class::MethodMaker::Engine::_find_target_class
     1.40   0.072  0.072   3326   0.0000 0.0000  XML::LibXML::Node::textContent
     1.36   0.070  0.336   5816   0.0000 0.0001  XML::LibXML::Element::getChildrenByTagName
     1.14   0.059  0.068   4254   0.0000 0.0000  Class::MethodMaker::OptExt::encode
     1.07   0.055  0.055   5816   0.0000 0.0000  XML::LibXML::Node::_childNodes
     1.05   0.054  1.820   1561   0.0000 0.0012  Class::MethodMaker::Engine::import
     0.97   0.050  0.050      1   0.0500 0.0500  utf8::AUTOLOAD
     0.97   0.050  0.205     25   0.0020 0.0082  main::BEGIN

Como estou executando o 4.1, habilitei o SSH e conectei-me ao console. Isto é o que eu vejo em / var / log / messages (isso é esxi4 então não há log vkernel)

    [2011-09-05 22:53:36.543 51E40B90 verbose 'Proxysvc Req06598'] New proxy client SSL(TCP(local=192.168.99.101:57617, peer=192.168.99.22:443))
    [2011-09-05 22:53:43.091 52081B90 verbose 'Proxysvc Req06599'] New proxy client SSL(TCP(local=192.168.99.101:57652, peer=192.168.99.22:443))
    [2011-09-05 22:53:43.136 51E81B90 info 'Vimsvc'] [Auth]: User nagios
    [2011-09-05 22:53:43.137 51E81B90 info 'ha-eventmgr'] Event 4814 : User [email protected] logged in
    [2011-09-05 22:53:44.429 52081B90 verbose 'App'] CloseSession called for session id=5260ca10-fdc9-3a26-4d0c-45be7792c716
    [2011-09-05 22:53:44.430 52081B90 info 'ha-eventmgr'] Event 4815 : User nagios logged out

Observe os dois logins, separados por aproximadamente 7 segundos - com o segundo completando a verificação rapidamente.

Como um aparte, eu também estou vendo dois deles regularmente no log, mas eu acho que não é relacionado

     [2011-09-05 22:53:40.031 51AD1B90 verbose 'Statssvc'] HostCtl exception Unable to complete Sysinfo operation.  Please see the VMkernel log file for more details.

Eu também noto que o login no servidor via vsphere é razoavelmente lento, também cerca de 3-4 segundos antes de começar a carregar. Isso pode não estar relacionado. O servidor esxi não está sob carga enorme, embora tenha iscsi luns montados e talvez cerca de 6-7 VMs ativas. Eu verifiquei (e aumentei) a alocação de recursos para o host e também verifiquei o esxtop (sem descobertas) enquanto executava o comando de verificação.

Esse atraso é um problema, porque os processos perl dos nagios são executados a 100% da CPU enquanto eles estão tentando se conectar, e isso está acontecendo em todos os três servidores esxi. Assim, à medida que o nagios emite mais e mais verificações, a CPU do servidor de monitoramento e as médias de carga passam pelo limite, pois todos os processos aguardam respostas. Isso serve apenas para exasperar o problema de atraso e fazer com que todas as verificações expirem.

Um amigo, também executando nagios, o mesmo script de monitoramento e a mesma atualização esxi pode executar a mesma verificação e é concluído em menos de um segundo, enquanto para mim leva até 10 segundos (como você pode ver no dproff saída)

Por favor, deixe-me saber se há alguma informação adicional que eu possa fornecer para ajudar a diagnosticar este problema Os hosts foram reinicializados (com a atualização 4.1) na noite passada

Agradecemos antecipadamente

Gareth

- edit1: adicionado o total de horas à saída do proff e feito o comando perl check uma citação de bloco

- edit2:

Estou ativamente diagnosticando isso desde o lançamento. Eu descobri que meus amigos nagios server é uma máquina x64, então eu levantei um novo Ubuntu 10.4 x64 VM (em uma mente host diferente de você) Depois de instalar todas as coisas necessárias para as verificações de esxi (muitos módulos de cpan foram necessários), eu posso cronometrar as verificações dessa nova instalação e uma verificação da CPU é concluída em cerca de 2 segundos.

Isso indica que o problema está no nagios server ou perl, não no (s) servidor (es) VMWare esxi

Eu me certifiquei de que

  1. as ferramentas de vmware estão instaladas
  2. todos os módulos cpan que tive que instalar no servidor de teste estão atualizados no servidor de produção
  3. o servidor de produção é atualização do aptitude & & atualização do aptitude 'd
  4. DNS reverso (conforme abaixo) está funcionando
  5. encaminhar DNs (conforme abaixo) está funcionando
  6. testado com IP direto, sem hostame
  7. Parou o servidor nagios para que o LA caísse para 0,01 antes de fazer meus testes
  8. Alterou o driver nic vmware de flexível (o host é esxi3.5) para um vmxnet aprimorado
  9. Aumentou a contagem de CPUs virtuais de 1 para 2

Não consigo migrar nagios para a nova máquina x64, ela não é executada em nosso servidor vm de gerenciamento (que contém essa caixa de monitoramento e alguns jumphosts)

A caixa de 32 bits (que comecei originalmente com e perfilou acima) ainda está levando 8-10 segundos de 100% da CPU para completar uma verificação da CPU

Eu percebi que o disco é um disco virtual montado em um iSCSI lun para esse servidor e que reduz o IO do disco um pouco, mas eu não esperaria que um servidor remoto fosse uma operação de IO alto no disco.

    
por agrath 06.09.2011 / 01:01

1 resposta

1

Como está o seu DNS? Existe uma entrada de DNS reverso para o seu servidor de monitoramento no arquivo host do servidor VMWare? O DNS reverso pode ser resolvido pelo servidor DNS do seu site? Isso pode ser a causa do atraso. Se você não puder fazer uma alteração no servidor DNS, tente adicionar uma entrada /etc/hosts para seu servidor Nagios nos servidores VMWare afetados e veja se ela melhora o tempo de login / execução.

    
por 06.09.2011 / 01:12