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
- as ferramentas de vmware estão instaladas
- todos os módulos cpan que tive que instalar no servidor de teste estão atualizados no servidor de produção
- o servidor de produção é atualização do aptitude & & atualização do aptitude 'd
- DNS reverso (conforme abaixo) está funcionando
- encaminhar DNs (conforme abaixo) está funcionando
- testado com IP direto, sem hostame
- Parou o servidor nagios para que o LA caísse para 0,01 antes de fazer meus testes
- Alterou o driver nic vmware de flexível (o host é esxi3.5) para um vmxnet aprimorado
- 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.