使用 Nagios 监控 ESXi 主机

使用 Nagios 监控 ESXi 主机

有人推荐使用 Nagios 监控 ESXi 4.1 主机的方法吗?我研究过 SNMP,但它似乎处于相当糟糕的状态。Net-SNMP 似乎没有包括在内,而且我设置了一个内置的 SNMP 守护程序。但是从标准 MIB 来看,似乎只有网络接口计数器,而 VMWare MIB 似乎毫无用处。

现在我正在考虑使用 SNMP 来提高接口速度,并尝试以下列出的插件http://unimpressed.org/post/96949609/monitoring-esxi-performance-through-nagios

有谁有更好的主意吗?我想直接监控主机,而不是通过像 vCenter 这样的东西。

答案1

ESXi 仅通过 CIM(WBEM\WS-MAN)提供全面监控,而不是 SNMP。这是否是 VMware 做出的正确决定,留待日后再讨论,但基于 SNMP 的监控和管理支持(如您所说)实际上毫无用处。VMware 社区上的一个主题使用基本的示例 Python 脚本在 ESXi 的 WBEM\WS-MAN 接口和 Nagios 之间提供一些粘合剂 - 我从未尝试过这样做,因为我使用的系统管理工具可以通过 WS-MAN 进行直接管理,但只要您准备用 Python 编写一些代码,这似乎是一种可行的方法。

答案2

您可以使用以下方式直接(或通过 vSphere)监控 ESX 主机检查_vmware_api.pl来自 op5。您可以使用检查ESXI硬件插件(戴尔、惠普、IBM)。它们都完全按照广告宣传的那样工作(目前我们正在运行 ESXi 5.1)

答案3

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1008065

为 ESXi/ESX 3.5、4.x 和 5.0 配置 SNMP 陷阱详细信息

要从 ESX/ESXi 3.5、4.x 和 5.0 主机生成虚拟机和环境陷阱,必须配置并启用嵌入式 SNMP 代理。您不能使用基于 Net-SNMP 的代理来生成这些陷阱,尽管它可以接收 GET 事务并生成其他类型的陷阱。

这表示行为与 ESX 3.0.x 不同,在 ESX 3.0.x 中,基于 Net-SNMP 的代理的配置文件控制虚拟机陷阱的生成。有关详细信息,请参阅在 ESX 3.0.x 主机上配置 SNMP (1008186)。解决方案

使用远程 CLI 或 vSphere CLI 中的 vicfg-snmp.pl 命令启用 SNMP 代理并配置陷阱目标。每次使用 vicfg-snmp.pl 命令指定目标时,您指定的设置都会覆盖所有先前指定的设置。要指定多个目标,请在单个命令中指定它们,并用逗号分隔。

要启用并配置 SNMP 陷阱:

笔记:

Prior to ESXi 5, ESXi did not include a firewall
Ensure that the SNMP protocol is open in the ESX firewall. For more information, see:

    ESX 4.x: Working with firewall rules in ESX 4.x (1021779)
    ESXi 5.0: By default, the SNMP firewall port 161 is open. If it is not, see the ESXi Firewall Configuration section of the ESXi and vCenter Server 5.0 Documentation.

To implement these steps:

    ESX/ESXi 3.5: Use the Remote CLI. For more information, see the Remote Command-Line Interface Documentation. You can download the VMware Infrastructure Remote CLI from the VMware Download Center.
    ESX/ESXi 4.x and ESXi 5.0: Run this procedure using vSphere CLI, not vSphere PowerCLI.

    For more information, see the vSphere Command-Line Interface Documentation.

    If you have a My VMware profile, you can download vSphere CLI from:

    vSphere 4.x – http://www.vmware.com/download/download.do?downloadGroup=VCLI41
    vSphere 5.0 – http://www.vmware.com/download/download.do?downloadGroup=VCLI50 

    Note: If you do not have a My VMware profile, you must create one. For more information, see Creating a My VMware profile (2007005).

Navigate to the directory where vicfg-snmp.pl is stored. By default, vicfg-snmp.pl is located in:

C:\Program Files\VMware\VMware vSphere CLI\bin

Run this command:

vicfg-snmp.pl --server hostname --username username --password password --show

Note: Run the vicfg-snmp.pl --help command for a full list of options.

Specify the communities and trap targets with this command:

vicfg-snmp.pl --server hostname --username username --password password -t hostname@port/community

Note: In ESX 4.x or ESXi 5.0, you may need to use the -c community flag.

Example: To send SNMP traps from the host host.example.com, to port 162 on target.example.com, using the public community, use this command:

vicfg-snmp.pl --server host.example.com --username root --password password -t target.example.com@162/public

Note: To prevent clear text display of the user password, remove the --password password portion. You are then prompted to enter the password, and the entry is hidden.

To enable the SNMP service, run this command:

vicfg-snmp.pl --server hostname --username username --password password --enable

Note: To verify SNMP settings, run this command:

vicfg-snmp.pl --server hostname --username username --password password --show

(Optional) To send a test trap to verify that the agent is configured correctly, run this command:

vicfg-snmp.pl --server hostname --username username --password password --test

The test trap generated is a warmStart trap.

相关内容