需求:
公司需要监控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 ( http://nmap.org ) 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)然后添加图像即可
本文出自 “永不放弃!任志远” 博客,谢绝转载!
原文地址:http://renzhiyuan.blog.51cto.com/10433137/1895975