配
置ESXi5支持SNMP
ESXi5集成了SNMP代理不能安裝完整的SNMP服務。開啓SNMP代理可以使用VMware vSphere CLI命令行。開啓之後可以用監控軟件查詢基於SNMP的主機信息。以192.168.0.2 ESXi5主機爲例。
1. 開啓ESXi5防火牆允許SNMP協議
選擇虛擬機ESXi5主機-配置-安全配置文件-防火牆-屬性-選中“SNMP服務器”-防火牆-選中“允許任何IP連接”或者設置僅允許192.168.0.0/24訪問
2. 安裝VMware vSphere CLI
在Windows工作站上安裝VMware-vSphere-CLI-5.0.0-615831.exe。可以用來遠程執行命令管理ESXi5。 打開cmd命令行cd "C:\Program Files\VMware\VMware vSphere CLI\bin>"然後再輸入腳本調用命令。
3. 開啓SNMP步驟
〉vicfg-snmp.pl --server 192.168.0.2 --username root --password password --show //或者-s查詢ESXi5服務器的SNMP配置狀態
〉vicfg-snmp.pl --server 192.168.0.2 --username root --password password -c snmpcomm //設置SNMP通訊字
〉vicfg-snmp.pl --server 192.168.0.2 --username root --password password -t 192.168.0.3@162/snmpcomm //設置SNMP陷阱信息接收服務器IP一般是監控服務器
〉vicfg-snmp.pl --server 192.168.0.2 --username root --password password --enable //或者-E允許snmp代理
〉vicfg-snmp.pl --server 192.168.0.2 --username root --password password --test //或者-T
測試配置是否成功也可以在遠程Linux主機上執行snmpwalk -v 2c -c snmpcomm 192.168.0.2測試。或者再次查詢狀態
####################################################
注:ESXi中的SNMP不支持GET,目前只支持TRAP。所以不可以用GET方法獲取ESXi的SNMP信息。
Vsphere Client裏貌似沒有設置ESXi主機SNMP的功能。我總結了一下目前有兩種方法:
第一,利用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的設置
第二,編輯ESXi主機上的/etc/vmware/snmp.xml的文件,格式如下:
<config>
<snmpSettings>
<communities>【community值】</communities>
<enable>【true/false】</enable>
<targets>【snmp trap接收服務器】 【共享的community值】</targets>
</snmpSettings>
</config>