本文首发于烂泥行天下。
要监控ESXI,打算通过snmp方式进行监控,这样操作比较简单。但是要使用SNMP方式进行监控,必须要开启ESXI的SNMP服务。ESXI由于版本号的不同,SNMP开启的方法也不尽相同。
我们先来介绍ESXI5.0开启方法。在开启之前,我们先使用ESXI提供的工具进行检测。这个检测工具是VMware vSphere CLI,这个工具是需要单独下载并安装的。
在此我已经下载并安装VMware vSphere CLI工具,我们主要是使用该工具提供的一个vicfg-snmp.pl脚本。在系统命令行下,切换该工具的安装目录下。如下:
cd "C:\Program Files (x86)\VMware\VMware vSphere CLI\bin"
然后使用,如下命令进行检测。如下:
vicfg-snmp.pl --server 192.168.1.247 --username root --password lianzhou!@# --show
结果如下:
注意图中标记出来的***部分:Enabled:0。说明ESXI5.0目前没有开启SNMP服务。
注意vicfg-snmp.pl使用方法如下:
vicfg-snmp.pl --server [ESXi主机IP] --username [root账号] --password [root账号密码] --show
下面是开启SNMP的方法,通过SSH方式登录到ESXI5.0上,编辑/etc/vmware/snmp.xml文件。如下:
vi /etc/vmware/snmp.xml
<config><snmpSettings><enable>true</enable><communities>public</communities><targets>192.168.1.247@161 public</targets></snmpSettings></config>
注意图中***部分标记出来的部分。true表示开启SNMP服务,public表示的是snmp的团体名,192.168.1.247@161 public表示该snmp使用161端口,其中表示的192.168.1.247esxi的管理IP地址。
以上修改完毕后,SNMP服务不会立即生效,需要系统重启服务才能生效。重启服务,需要使用以下命令,如下:
/sbin/services.sh restart
注意ESXI5.0执行该命令后,SSH、vsphere连接都会断开。
重启完毕后,我们再次使用vicfg-snmp.pl脚本进行检测,如下:
通过上图,我们可以看到***标记出来的部分:Enabled:1。说明ESXI5.0已经开启SNMP服务。
此时我们就可以通过其他监控软件,来监控ESXI5.0了。在这我使用的nagios进行监控,如下:
也许你会说,为什么不能直接通过vsphere来开启SNMP服务呢?
这点就是ESXI5.0与ESXI5.1及其以后版本不同的地方。我们先来看看ESXI5.0,登录Vsphere,配置―软件,如下:
通过上图,我们可以看到在“服务”选项中没有SNMP服务,所以就没有办法开启了。
但是在ESXI5.1及其以后的版本中,我们登录vsphere查看,如下:
通过上图,我们可以看到ESXI5.1已经集成snmp服务。但是我在vsphere中开启SNMP也是会报错的,后来还是按照ESXI5.0开启SNMP的方法,直接修改/etc/vmware/ snmp.xml文件。重启服务后,才能在vsphere中开启,如下:
通过上图,我们可以看到ESXI5.1的SNMP服务已经正常启动了。
注意ESXI5.1在使用/sbin/services.sh restart命令进行重启服务时,ESXI5.1是不会断开SSH连接,但是vsphere的连接会断开。这点也是与ESXI5.0的不同之处。
现在我们再通过nagios监控ESXI5.1,如下:
以上就是有关ESXI开启SNMP服务的方法。