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主機自己的配置,不過不是很建議使用方法二容易對本級自己形成不安全的因素。本人建議使用第一種方式進行監控。