如何使用SNMP监视VMware ESX的服务器参数

 使用简单网络管理协议(SNMP)监视服务器性能并发送通知(叫做traps)是所有VMware管理员最终必须掌握的一项技能。在本文中,TechTarget中国的特约虚拟化专家David Davis将解释VMware ESX与ESXi可用的不同类型的SNMP代理,并给出使用SNMP进行监控的例子。最后,你将学习如何配置ESX SNMP代理和ESXi代理以发送SNMP traps到网络管理站(NMS)。

  为什么需要为VMware ESX Server配置SNMP?

  SNMP用于收集如PC、服务器、网络设备等的信息。SNMP也能用于发送traps到SNMP管理站(如Dell OpenManage)。我会简短地提及如何配置traps,本文将着重介绍如何配置ESX以便收集信息。

  为什么想要使用SNMP?例如,如果你下载一个新的ESX Server监控工具SolarWinds VM Monitor,首先必须启用ESX上的SNMP,这是由于SolarWinds的VM Monitor使用SNMP收集数据。由于越来越多的应用用于监控VMware ESX Server,并且许多应用都使用SNMP。我们也开始听说现有的监控应用能监视VMware ESX——如果你启用SNMP。

  VMware ESX Server(而不是ESXi)带有两个SNMP代理。一个代理基于net-snmp(这是一个在互联网上很出名的Linux SNMP)。另一个代理非常简单,并且只支持traps。这与ESXi所提供的代理是相同的。在本文中,我将配置更加高级的SNMP代理,即net-snmp。(关于如何配置小型ESX代理与ESXi代理请参见VMware的文章“在ESXi上使用SNMP”)。不过要注意,你不能使用我下面所提到的应用监控服务器。你只能配置ESX和ESXi以发送traps到NMS。

  但是不能使用图形界面(如VMware Infrastracture Client)启用SNMP。这就是说很难使用命令行。下面我们看看如何通过使用SSH命令行和SNMP命令启用SNMP。

  如何通过SSH在ESX Server里启用SNMP?

  通过SSH配置SNMP是唯一的方法,而不是通过服务器的控制台。

  一旦使用SSH连接SNMP到ESX Server,就能使用标准的Linux命令配置SNMP。配置(使用加密等技术的版本3)SNMP很复杂,我只介绍标准的SNMP配置。

  SNMP进程在默认下不会运行,SNMP监控应用不能与ESX Server对话。

  首先使用nano或vi编辑/etc/snmp/snmpd.conf文件。例如:

  nano  /etc/snmp/snmpd/conf

  进入只读community字符串(ROcommunity)。我进入的是system contact、system location、read only community string和trap community string。

SNMP

  这时候,配置了SNMP进程但没有启动。通过输入以下语句人工启动SNMP进程:

  /etc/rc.d/init.d/snmpd start

service snmpd start

  不过你更想在每次启动服务器时自动启动SNMP进程,请输入:

  chkconfig snmpd on

  这样就配置了SNMP读(没有配置traps),并且在服务器启动时SNMP进程将启动。

  如果启动没成功,可以重启服务器,或者使用上面的snmpd start命令,。此外,为了确保SNMP的运行,可以实施ps –ef | grep snmp查看运行状态,如:

[root@ESX2 snmp]# ps -ef | grep snmp
root      1058     1  0 Oct15 ?        
     00:00:05 /usr/sbin/snmpd -s -l 
     /dev/null -P /var/run/snmpd -a
root      2223  2116  0 01:18 pts/0    
     00:00:00 grep snmp
[root@ESX2 snmp]#

  或者运行:

[root@ESX2 snmp]# service snmpd status
snmpd (pid 1058) is running...

  在ESX里也有大量SNMP命令。在/usr/bin里你可以找到如snmpstatus、snmptest和snmpwalk这样的命令。如图所示:

ESX

  实际上,这些不是ESX所具有的命令,而是Red Hat Enterprise Linux 的。这意味着你能参考net-snmp文档完成所有这些命令如何工作的说明。

  如果要配置ESX发送traps到NMS,可以在/etc/snmp/snmpd.conf文件里编辑trapcommunity和trapsink命令。trapsink是NMS的主机名。在ESX服务器里完全启用或禁用traps可以编辑/etc/vmware/hostd/config.xml。更多信息参见VMware的Using SNMP with ESX Server 3 documentation。

  如何使用SolarWinds VM Monitor监控VMware ESX Server?

  你几乎可以使用任何SNMP监控工具(WhatsUP、Solarwinds Orion、Nagios等)来监视VMware ESX Server。我选择使用最近所知的一款简单的免费工具。这款工具来自Solarwinds,叫做SolarWinds VM Monitor。可以免费下载使用,它的局限在于每次只能监控单个VMware ESX Server。我喜欢VM Monitor简单易操作的界面。它就像Windows侧边栏或Mac OS 小工具。

  配置好SNMP并运行VM Monitor,所需要的只是主机名和ESX Server的SNMP read community。如图所示:

ESX Server

  在连接后,使用SNMP收集数据并显示ESX Server和子虚拟机的基本性能参数,如:

虚拟机

  这只是使用一款免费的SNMP性能工具监控ESX Server的例子。

  如何使用Remote CLI启用VMware ESX或ESXi SNMP traps?

  要配置基本的SNMP代理发送traps,可以使用免费的VMware远程命令行界面(Remote CLI)。运行CLI并输入DIR,可以看见命令vicfg-snmp.pl。

  如下图所示,我使用命令检查SNMP代理的参数。

SNMP代理

  traps的基本配置如下:

vicfg-snmp.pl --server <ESX_IP_Address> --username root 
     --password <password>
      -c <community_name> -t 
     <NMS-Server>@162/<community_name>

  对于所有选项,运行vicfg-snmp.pl –help。

  通过SNMP在ESX服务器上启用系统工具监控和报道能使管理员的工作更容易一些。如有任何疑问,请发送邮件到[email protected]

你可能感兴趣的:(vmware,职场,snmp,休闲,监视,esx)