esx的snmp服务开启官方给出2种方案:
1、使用修改配置文件的方法。

2、使用esx自带命令开启的方法。

我个人比较倾向于第一种方法,这里只介绍第一种开启方法。团体名称我这里使用默认的public,如果大家有修改,也要记得相应修改的。

1、修改vmware的snmp配置文件。
vi /etc/vmware/snmp.xml
内容替换为:
<config>
<snmpSettings>
<enable>true</enable>
<communities>public</communities>
<targets>监控服务器IP地址@161 public</targets>
</snmpSettings>
</config>
保存退出。
2、修改snmp服务配置。
vi /etc/snmp/snmpd.conf
修改三处地方

修改souce 默认的default为服务器IP:监控server Ip.

# sec.name source community
com2sec notConfigUser 192.168.2.67 public

修改systemview为all;。如下所示:

#       group         context sec.model  sec.level  prefix  read   write  notif
access  notConfigGroup ""      any      noauth   exact   all     none  none

找到view all字样,取消前面的注释

##           incl/excl subtree                          mask
view all        included  .1                               80

3、启动snmp服务并添加开机启动
service snmpd start
chkconfig --add snmpd
chkconfig snmpd on

4、防火墙开启
esxcfg-firewall -e snmpd
esxcfg-firewall --openPort 161,udp,in,hostdSnmp
esxcfg-firewall --openPort 161,udp,out,hostdSnmp
esxcfg-firewall -l

5、在cacti或者nagios上添加监控并测试。
就我测试,基本上这样开启后,就可以正常监控了。有兴趣了解另外一种开启方法的,大家可以去官网看看,咱英文不行,所以也没办法详细说啥。