esxi nagios 速度问题

esxi nagios 速度问题

我正在尝试将我的 esxi 服务器(我有 3 个)添加到我的 nagios 监控中。我正在使用互联网上各处记录的 perl SDK 和脚本,最新脚本在这里:http://git.op5.org/git/?p=nagios/op5plugins.git;a=blob_plain;f=check_esx3.pl;hb=HEAD

我已将我的两个 esxi4 盒子更新到 4.1u1(4.1.0、348481)

我遇到的问题是检查非常慢。

我已经使用 DProf 跟踪了 perl 命令

    /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

我得到以下输出(通过 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

由于我运行的是 4.1,因此我启用了 SSH 并连接到控制台。这是我在 /var/log/messages 中看到的内容(这是 esxi4,因此没有 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

请注意两次登录,间隔大约 7 秒 - 第二次登录很快完成检查。

另外,我也经常在日志中看到这两个,但我认为这是无关的

     [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.

我还注意到通过 vsphere 登录服务器相当慢,大约需要 3-4 秒才能开始加载。这可能无关紧要。esxi 服务器没有承受巨大的负载,尽管它安装了 iscsi lun 并且可能有大约 6-7 个活动虚拟机。我检查(并增加了)主机的资源分配,并在运行检查命令时检查了 esxtop(没有发现任何结果)。

这种延迟是一个问题,因为 nagios 的 perl 进程在尝试连接时 CPU 占用率达到 100%,并且这种情况发生在我的所有 3 个 esxi 服务器上。因此,随着 nagios 发出越来越多的检查,监控服务器的 CPU 和平均负载会急剧上升,因为所有进程都在等待响应。这只会加剧延迟问题并导致所有检查超时。

一个朋友也运行 nagios,相同的监控脚本和相同的 esxi 更新可以运行相同的检查,并且它在不到一秒的时间内完成,而对我来说它需要长达 10 秒(正如您在 dproff 输出中看到的那样)

如果我可以提供任何其他信息来帮助诊断此问题,请告诉我主机昨晚重新启动(使用 4.1 更新)

提前致谢,

加雷思

--edit1:将总次数添加到 proff 输出中,并将 perl check 命令设为块引用

--编辑2:

自从发帖以来,我一直在积极诊断这个问题。我发现我朋友的 nagios 服务器是一台 x64 机器,所以我启动了一个新的 ubuntu 10.4 x64 VM(请注意,在不同的主机上)在安装了 esxi 检查所需的所有内容(需要大量 cpan 模块)后,我可以对新安装的检查进行计时,CPU 检查大约在 2 秒内完成。

这表明问题出在 nagios 服务器或 perl 上,而不是 VMWare esxi 服务器上

我已经确定了

  1. vmware 工具已安装
  2. 我必须在测试服务器上安装的所有 cpan 模块在生产服务器上都是最新的
  3. 生产服务器是 aptitude update && aptitude upgrade
  4. 反向 DNS(如下所示)正在运行
  5. 转发 DN(如下所示)正在运行
  6. 使用直接 IP 进行测试,无主机名
  7. 在进行测试之前,停止了 nagios 服务器,这样 LA 就会下降到 0.01
  8. 将 vmware nic 驱动程序从灵活(主机为 esxi3.5)更改为增强型 vmxnet
  9. 将虚拟 CPU 数量从 1 增加到 2

我无法将 nagios 迁移到新的 x64 机器,它无法在我们的管理虚拟机服务器(包含这个监控箱和一些跳转主机)上运行

32 位机器(我最初使用并在上面进行了分析)仍然需要 8-10 秒的 100% CPU 来完成 CPU 检查

我意识到该磁盘是安装在该服务器的 iSCSI lun 上的虚拟磁盘,这会稍微减慢磁盘 IO 速度,但我不希望查询远程服务器成为高磁盘 IO 操作。

答案1

您的 DNS 怎么样?VMWare 服务器的主机文件中是否有您的监控服务器的反向 DNS 条目?反向 DNS 是否可以通过您站点的 DNS 服务器解析?这可能是延迟的原因。如果您无法更改 DNS 服务器,请尝试/etc/hosts在受影响的 VMWare 服务器上为您的 Nagios 服务器添加一个条目,看看它是否能缩短登录/执行时间。

相关内容