置ESXi5支持SNMP     
 
ESXi5集成了SNMP代理不能安装完整的SNMP服务。开启SNMP代理可以使用VMware vSphere CLI命令行。开启之后可以用监控软件查询基于SNMP的主机信息。以192.168.0.2 ESXi5主机为例。 
 
1. 开启ESXi5防火墙允许SNMP协议 
选择虚拟机ESXi5主机-配置-安全配置文件-防火墙-属性-选中“SNMP服务器”-防火墙-选中“允许任何IP连接”或者设置仅允许192.168.0.0/24访问
配置ESXi5支持SNMP_第1张图片

配置ESXi5支持SNMP_第2张图片

2. 安装VMware vSphere CLI
在Windows工作站上安装VMware-vSphere-CLI-5.0.0-615831.exe。可以用来远程执行命令管理ESXi5。  打开cmd命令行cd "C:\Program Files\VMware\VMware vSphere CLI\bin>"然后再输入脚本调用命令。

3. 开启SNMP步骤
 
〉vicfg-snmp.pl --server 192.168.0.2 --username root --password password --show //或者-s查询ESXi5服务器的SNMP配置状态 
 
 
〉vicfg-snmp.pl --server 192.168.0.2 --username root --password password -c snmpcomm //设置SNMP通讯字   
 
 
〉vicfg-snmp.pl --server 192.168.0.2 --username root --password password -t 192.168.0.3@162/snmpcomm //设置SNMP陷阱信息接收服务器IP一般是监控服务器 
 
 
〉vicfg-snmp.pl --server 192.168.0.2 --username root --password password --enable //或者-E允许snmp代理
  
 
〉vicfg-snmp.pl --server 192.168.0.2 --username root --password password --test //或者-T
 
测试配置是否成功也可以在远程Linux主机上执行snmpwalk -v 2c -c snmpcomm 192.168.0.2测试。或者再次查询状态

####################################################
 注:ESXi中的SNMP不支持GET,目前只支持TRAP。所以不可以用GET方法获取ESXi的SNMP信息。

   Vsphere Client里貌似没有设置ESXi主机SNMP的功能。我总结了一下目前有两种方法:
   第一,利用Vsphere CLI里的vicfg-snmp.pl的命令远程配置。
   vicfg-snmp.pl –-server 【ESXi主机地址】 【参数1 参数2 …】
参数:
-E:启用snmp
-D:关闭snmp
-c: 设置community值
-t 【snmp服务器@[端口(可选)】]/community值】:设置snmp trap接收服务器并提供共享的community值
-T:发送snmp测试信号
-s:显示snmp的设置
-r:重置snmp的设置
   第二,编辑ESXi主机上的/etc/vmware/snmp.xml的文件,格式如下:
 
   
    【community值】 
    【true/false】 
    【snmp trap接收服务器】 【共享的community值】