ESXI主机VMware公司企业级虚拟化的解决方案Vsphere的重要组件,也是虚拟机的宿主机,对其监控有着重要的意义,下边介绍二种方发对其监控。
web
方法一:经过修改服务端的控制项来进行监控。shell
虚拟机监控分两个步骤完成。首先,Zabbix 是经过 vmware collector 进程来监控虚拟机。这些进程经过 SOAP 协议从 VMware Web 服务获取必要的信息,对其进行预处理并存储到 Zabbix server 共享内存中。而后,zabbix pollers 经过 zabbix 简单检查 VMware keys 来检索这些数据。vim
从 Zabbix 2.4.4 开始,收集的数据分为两种类型:VMware 配置数据和 VMware 性能数据。这两种类型都由 vmware collectors 进程独立收集。所以,建议启用比受监控的 VMware 服务更多的收集器。不然,检索 VMware 性能统计信息可能会因为检索 VMware 配置数据而延迟(比较大型的环境,须要一段时间)。浏览器
目前基于 VMware 性能统计信息只有数据存储,网络接口和磁盘设备统计信息和自定义性能计数器项。安全
------来自zabbix官方文档(https://www.zabbix.com/documentation/3.4/zh/manual/vm_monitoring)bash
(一),修改zabbix 服务端的配置网络
1,经过修改zabbix_server.conf配置来进行收集VMware的相关信息。ssh
[root@zabbix ~]# vim /usr/local/zabbix/etc/zabbix_server.conf ### Option: StartVMwareCollectors # Number of pre-forked vmware collector instances. # # Mandatory: no # Range: 0-250 # Default: # StartVMwareCollectors=0 StartVMwareCollectors=10 ### Option: VMwareFrequency # How often Zabbix will connect to VMware service to obtain a new data. # # Mandatory: no # Range: 10-86400 # Default: # VMwareFrequency=60 VMwareFrequency=60 ### Option: VMwarePerfFrequency # How often Zabbix will connect to VMware service to obtain performance data. # # Mandatory: no # Range: 10-86400 # Default: # VMwarePerfFrequency=60 ### Option: VMwareCacheSize # Size of VMware cache, in bytes. # Shared memory size for storing VMware data. # Only used if VMware collectors are started. # # Mandatory: no # Range: 256K-2G # Default: # VMwareCacheSize=8M VMwareCacheSize=200M
备注:
ide
StartVMwareCollectors(0-250) 只有大于0时才能是该功能生效,意为预先配置的vmware监控实例数量。工具
VMwareCacheSize(256K-2G)内存中维护的vmware集群结构的大小,建议80M。
VMwareFrequency(10-864000)zabbix获取更新vmware集群结构的最小间隔时间,单位为分钟。
2,重启服务并查看VMware monitoring 是否为YES正常
[root@zabbix ~]# /etc/init.d/zabbix_server start Starting zabbix_server (via systemctl): [ 肯定 ] [root@zabbix ~]# tail -f /tmp/zabbix_server.log 31758:20171103:143357.746 Starting Zabbix Server. Zabbix 3.4.3 (revision 73588). 31758:20171103:143357.746 ****** Enabled features ****** 31758:20171103:143357.746 SNMP monitoring: YES 31758:20171103:143357.746 IPMI monitoring: NO 31758:20171103:143357.746 Web monitoring: YES 31758:20171103:143357.746 VMware monitoring: YES 31758:20171103:143357.746 SMTP authentication: YES 31758:20171103:143357.746 Jabber notifications: NO 31758:20171103:143357.746 Ez Texting notifications: YES 31758:20171103:143357.746 ODBC: NO 31758:20171103:143357.746 SSH2 support: NO 31758:20171103:143357.746 IPv6 support: YES 31758:20171103:143357.746 TLS support: NO 31758:20171103:143357.746 ******************************
3,登陆zabbix的web界面进行添加监控的Vcenter主机。具体步骤日下:配置--主机--建立主机
6,修改系统自带的宏。添加三个宏,{$PASSWORD},{$URL},{$USERNAME}。
注意:中间的{$URL}是esxi主机的真实登陆地址,在浏览器中输入https://192.168.99.201/,选择进行登陆以下图,就能查看esxi主机的相关信息了。
7,保存,若是不相等的话,修改自动发现的时间,过一段时间会出现大量的自动发现主机。
8,因为没有图形,须要手工建立,具体步骤以下:任一虚拟机--图形--建立图形--填写相关信息--添加相关的items。
9,相关的图形效果以下
方法二:经过TEMPLATE - VMWARE - STANDALONE ESXI HOST.xml模板来监控ESXI主机
(http://www.zabbix.org/wiki/File:TEMPLATE_-_VMWARE_-_STANDALONE_ESXI_HOST.xml)
使用TEMPLATE - VMWARE - STANDALONE ESXI HOST.xml模板首先要知道{$UUID}地址,具体能够经过如下方式来查看:
1,查看zabbix UUID
https://<host>/mob/?moid=ha-host&doPath=hardware.systemInfo
2,设置zabbix宏(Macros)
{$URL} = {$UUID} = See Notes {$USERNAME} = ESXi Login {$PASSWORD} = ESxi Password
备注:以上经过官网进行测试:http://www.zabbix.org/wiki/Esxi_standalone_template
方法三:经过SNMP和ESXI主机来进行监控
(一),zabbix服务端的相关设置
1,在官方下载相关的模块(http://www.zabbix.org/wiki/Zabbix_Templates)
2,把下载的模板导入到zabbix服务端中。设置--模板--导入--选择文件
2,建立主机群。配置--主机群组--建立主机群组
3,添加主机。配置--主机--建立主机
4,配置模板。把导入的模板附加到改主机。
5,配置宏。{$SNMP_COMMUNITY}=publix
(二),在客户端ESXI主机上设置。
1,在esxi主机上开启ssh服务。配置--软件--安全配置文件--服务--属性--ssh服务--选项
2,使用xshell或其余的ssh工具链接到ESXI主机。在主机上执行如下命令:
esxcli system snmp set --communities public ###设置SNMP的共同体名为public
esxcli system snmp set --enable true ###启用snmp协议
3,若是虚拟机没有安装vmware tools的话,要进行安装否则会出现问题的。
4,使用snmpwalk进行测试。snmpwalk -v 2c -c public 192.168.98.10,若是有数据返回说明配置成功了。
[root@zabbix yum.repos.d]# snmpwalk -v 2c -c public 192.168.98.10 SNMPv2-MIB::sysDescr.0 = STRING: VMware ESXi 5.5.0 build-2718055 VMware, Inc. x86_64 SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.6876.4.1 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (269600) 0:44:56.00 SNMPv2-MIB::sysContact.0 = STRING: SNMPv2-MIB::sysName.0 = STRING: localhost SNMPv2-MIB::sysLocation.0 = STRING: SNMPv2-MIB::sysServices.0 = INTEGER: 72 SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORID.1 = OID: SNMPv2-MIB::snmpMI
5,建立图形,和上边同样。查看效果图。
总结,以上两种方式都是能够对esxi主机进行监控的,方法一是zabbix3.x之后的最新版本经常使用的,比较方便快捷,只须要修改服务端就能够实现对整个vcenter或单台esxi主机进行监控。方法二基本采用的是最基本的经过snmp协议进行监控,须要修改esxi主机自己的配置,不过不是很建议使用方法二容易对本级自己形成不安全的因素。本人建议使用第一种方式进行监控。