[VMware] 如何在ESXi上啟用SNMP,讓監控系統順利取得系統資訊
在一個管理多台伺服器的環境中,若是能透過硬體的監控軟體
如Whatsup等等的系統,就可以透過SNMP的通訊協定達到主機硬體資源的控管與圖表式的監控
若是要能讓Whatsup等的監控軟體達到監控的目的,前提是目標主機必須要開啟SNMP的服務,這樣才能順利的讓監控軟體取得資訊
若是Windows平台的伺服器很簡單,只要在SNMP服務中,設定兩個項目即可
1.[代理程式]將[實體]與[資料連結及子網路]打勾
2.於[安全性]頁籤中設定[接受的群體名稱]以及指定主機接受SNMP封包就可以了,其中群體名稱預設為public,除非有特別的需求才進行增加動作
這是Windows平台的設定方式,但是由於ESXi是Lite版本的Linux,雖然可以透過更改Linux的底層進行設定
不過VMware有提供了一個好用的工具可以讓我們直接的進行設定
1.先從VMware vSphere CLI 5.0這裡下載CLI的工具,若是要下載的話必須先登入會員。
2.安裝完成後,透過命令提示字元,切換到"C:\Program Files (x86)\VMware\VMware vSphere CLI\bin\"目錄下
cd "C:\Program Files (x86)\VMware\VMware vSphere CLI\bin\"
3.主要會使用到的,就是vicfg-snmp.pl這一個程式
首先可以透過下面的指令查看該ESXi伺服器是否已經啟用SNMP的服務
vicfg-snmp.pl --server [ESXi主機的IP或是名稱] --username [root帳號] --password [root帳號的密碼] --show
下面這行指令,可以設定snmp的服務進行啟用的動作
vicfg-snmp.pl --server [ESXi主機的IP或是名稱] --username [root帳號] --password [root帳號的密碼] --enable
若是像上面設定Windows的方式,有需要設定群體名稱的話,則可以透過--c設定群體名稱,如
vicfg-snmp.pl --server [ESXi主機的IP或是名稱] --username [root帳號] --password [root帳號的密碼] --c Whatsup
進行目標主機接受封包的語法,則可以使用--t這個參數,如
vicfg-snmp.pl --server [ESXi主機的IP或是名稱] --username [root帳號] --password [root帳號的密碼] --t [接受SNMP封包主機]@[Port號]
上述的指令,不一定全部都要擠在一行指令完成,可以分成多行
所以我實際在執行啟用SNMP時所下的指令為
vicfg-snmp.pl --server ESXiServer --username root --password xxxx --enable
vicfg-snmp.pl --server ESXiServer --username root --password xxxx --t MyWhatsupServer@162
vicfg-snmp.pl --server ESXiServer --username root --password xxxx --c whatsup
而在ESXi 5.0中,指令則有些許的改變,可以將--t與--c的參數和在一起使用
因此,我更改後的語法如下
vicfg-snmp.pl --server ESXiServer --username root --password xxxx --t MyWhatsupServer@162/whatsup
對於這部份的指令有興趣的人,可以參考VMware中的官方文件內容