需求:

公司需要监控esxi私用机器的性能,并配置一些阈值报警等需求,最后选择用Cacti(zabbix也可以),首先需要打开esxi的snmp功能, 但ESXi中的SNMP不支持GET,支持TRAP。因此不可以用GET方法获取ESXi的SNMP信息。不同版本esxi可能略有不同,但是大致思路相同大致步骤如下:

1、使用ssh登陆ESXi主机;(比较简单,可查看我的博客三种方式开启esxi的ssh,注意开启配置完毕后关闭)

2.切换至/etc/vmware/目录

vi打开snmp.xml

~ # cp /etc/vmware/snmp.xml /etc/vmware/snmp.xml.bak #备份一份配置文件
true
 #将标签false改为true.
161
indications
info
public
  #社区名称

2.1)利用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的设置

3. 在 vmware 管理界面找到snmp服务,启动

4、增加安全性(只允许特定ip远程)

4.1)检测端口是否启用

nmap 210.14.157.149 -p 161Starting Nmap 5.51 ( http://nmap.org ) at 2017-02-08 11:08 CSTNmap scan report for 210.14.157.149Host is up (0.0040s latency).PORT    STATE    SERVICE161/tcp filtered snmpNmap done: 1 IP address (1 host up) scanned in 0.32 seconds[root@Cnyunwei ~]#

5、Cacti服务器配置

5.1)官网下载esxi相关模板并导入(注意自己的Cacti版本)

我这里用cacti_0.8.7_host_template_esxi_5_x.xml

5.2)导入成功后则可以看到esxi主机模板以及图形模板和数据

5.3)Cacti服务器配置

tar xf cacti_0.8.8_0.8.7_esxi_template.tar.gz    cd cacte_esxi_template/               cp resource/snmp_queries/* /var/www/html/resource/snmp_queries/    #拷贝脚本到cacti脚本目录chown apache:apache /var/www/html/resource/snmp_queries/esxi*   #改变脚本属主 属组cp scripts/ss_esxi_vhosts.php /var/www/html/scripts/    #拷贝php脚本到cacti的php脚本目录chown apache:apache /var/www/html/scripts/ss_esxi_vhosts.php  #改变脚本属主 属组chmod 755 /var/www/html/scripts/ss_esxi_vhosts.php  #添加脚本执行权限

5.4)监控esxi主机,选择esxi模板

5.5)然后添加图像即可