公司需要监控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 #备份一份配置文件
<config>
<snmpSettings>
<enable>true</enable> #将标签false改为true.
<port>161</port>
<EnvEventSource>indications</EnvEventSource>
<loglevel>info</loglevel>
<communities>public</communities> #社区名称
<targets></targets>
</snmpSettings>
</config>
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 161
Starting Nmap 5.51 ( ) at 2017-02-08 11:08 CST
Nmap scan report for 210.14.157.149
Host is up (0.0040s latency).
PORT STATE SERVICE
161/tcp filtered snmp
Nmap 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)然后添加图像即可
--------------------------------------分割线 --------------------------------------
RHEL6.4中使用Cacti+Spine监控主机实现发送邮件报警
CentOS 6.6下Cacti安装部署
--------------------------------------分割线 --------------------------------------