ESXi 監控的 ESXi SNMP 設定指南

基礎架構監控對組織而言至關重要,因為監控能讓您及時偵測問題並預防故障。若發生故障,及早收到通知可讓您盡快著手解決相關問題。 在 VMware vSphere 環境中,建議您配置 ESXi 監控。監控 ESXi 主機最經濟實惠的方法之一,是利用內建功能性與簡易網路管理協定 (SNMP)。在此情況下,必須配置一台安裝有監控軟體的專用伺服器。這篇部落格文章將介紹 ESXi SNMP 配置,並說明如何在 ESXi 主機上啟用 SNMP。

NAKIVO for VMware vSphere 備份

NAKIVO for VMware vSphere 備份

為 VMware vSphere 虛擬機器提供全面資料保護及快速還原選項。支援本地、異地及雲端的安全備份目標。具備防勒索軟體功能。

環境準備

以下是在 ESXi 上啟用 SNMP 的方法:

  1. 啟用安全殼層 (SSH)
  2. 設定 SNMP
  3. 設定 ESXi 防火牆

我將透過一個範例來說明 ESXi 的 SNMP 設定 ESXi 7.0 一台 ESXi 主機和一台已安裝監控軟體的 Ubuntu Linux 電腦。

ESXi 主機的 IP 位址為 192.168.101.208。

Ubuntu Linux 電腦的 IP 位址為 192.168.101.209。

在您的基礎架構中透過 SNMP 配置 ESXi 監控時,請根據您的配置需求,將您的 IP 位址及其他數值套用至相應的參數中。

在 ESXi 上啟用 SSH 存取

若要在 ESXi 主機上遠端執行 ESXCLI 指令,必須具備 SSH 存取權限。要啟用 ESXi 主機的 SSH 存取,您可以使用 VMware Host Client。開啟網頁瀏覽器,在網址列中輸入 ESXi 主機的 IP 位址,然後輸入憑證以登入。

Navigator 窗格,前往 Host > Manage 然後點擊 Services 標籤頁。

右鍵點擊 TSM-SSH 然後,在快顯功能表中,按一下 Start.

在下方的螢幕截圖中,您可以看到 ESXi 主機上已啟動的 SSH 伺服器服務。

Starting the SSH server on an ESXi host

現在,您可以從已安裝 SSH 客戶端的電腦連線至 ESXi 主機。若您使用的是 Windows 系統,可以使用 PuTTY——這是一款免費且方便的 SSH 客戶端。在 Linux 系統中,請透過命令列執行 SSH 客戶端,指令如下:

ssh your_username@host_ip_address

在 SSH 客戶端的連線設定中,輸入您的 ESXi 主機的 IP 位址以及 TCP 22 埠(預設埠號),即可透過 SSH 連線至 ESXi 主機。

Connecting to the host via SSH to enable SNMP on ESXi

ESXi SNMP 設定

建立與 ESXi 主機的 SSH 連線後,即可設定 VMware ESXi 的 SNMP 選項。在 ESXi 主機上,僅能在 命令列介面. 圖形使用者介面 (GUI) 僅允許您啟動、停止及重新啟動 SNMP 服務。

在主控台 (終端機) 中執行此指令,並檢查 ESXi 主機上的 SNMP 狀態:

esxcli system snmp get

SNMP 預設為停用狀態。螢幕截圖中顯示了 ESXi 上停用 SNMP 時的輸出內容。大部分參數為空或未設定。

Checking ESXi SNMP status

設定 SNMP 代理程式的參數

為 ESXi 主機上的 SNMP 代理設定 SNMP 參數。SNMP 代理用於將通知(SNMP 陷阱和資訊)傳送至監控伺服器,並接收 GET、GETNEXT 和 GETBULK 請求。

設定社群名稱(“公開(此為預設的社群名稱)。本範例中的社群名稱是"nakivo”.

esxcli system snmp set --communities nakivo

設定 SNMP 目標。SNMP 目標是指安裝了監控軟體的伺服器,該軟體負責處理 SNMP 陷阱並收集監控資訊。在我的範例中,SNMP 目標是運行 Ubuntu Linux 的機器(192.168.101.209). UDP 161 是 SNMP 的預設埠,此埠已定義在我的 ESXi SNMP 設定中:

esxcli system snmp set --targets=192.168.101.209@161/nakivo

請指定位置,例如地理位置、地址、資料中心,或是伺服器所在的房間:

esxcli system snmp set --syslocation "Server room"

請指定聯絡資訊。此參數可設定系統管理員的email地址:

esxcli system snmp set --syscontact michaelbose@nakivo.com

在 ESXi 上啟用 SNMP:

esxcli system snmp set --enable true

請再次檢查 ESXi 主機上的 SNMP 狀態:

esxcli system snmp get

現在您可以看到參數已設定完成。

ESXi SNMP status is enabled

引擎 ID 是 SNMP 代理程式的唯一識別碼(用於 SNMP v3)。可透過以下指令設定引擎 ID(此為選用設定):

esxcli system snmp set -engineid 544a33209458

SNMP 狀態為 跑步 現在。您也可以開啟 VMware Host Client,前往 Host > Manage > Services,並查看 snmpd 服務。

Starting the ESXi SNMP service on an ESXi host

測試當前的 SNMP 設定。

esxcli system snmp test

Testing VMware ESXi SNMP configuration

若之後修改了 SNMP 設定,請使用以下指令重新啟動 SNMP 代理程式:

/etc/init.d/snmpd restart

此外,您也可以在 VMware Host Client 圖形使用者介面中重新啟動 ESXi SNMP,方法是 Services 標籤頁。右鍵點擊該服務,然後點擊 Restart 在右鍵選單中。

Restarting the VMware SNMP server service on an ESXi host

若需重設 ESXi 的 SNMP 設定,請使用以下指令:

esxcli system snmp set -r

在 ESXi 主機上停用 SNMP 的指令是:

esxcli system snmp set --enable false

若該 Linux 機器是 SNMP 目標主機,您可從該機器檢查 SNMP 可用性。我們在此使用 Ubuntu Linux。

若尚未安裝所需的 SNMP 客戶端,請在 Ubuntu Linux 上安裝:

sudo apt-get install snmp

透過 SNMP 連線至 ESXi 主機,以檢查可供監控的參數:

snmpwalk -v2c -c nakivo 192.168.101.208

ESXi monitoring – connecting to an ESXi host and getting VMware SNMP parameters

您應會在主控台輸出中看到一長串透過 SNMP 監控 ESXi 的物件清單。這些物件是管理資訊庫 (MIB) 和物件識別碼 (OID),它們是監控參數層級結構中的元素。

SNMP MIB 是一組關於物件(參數和設定)的資訊集合,這些資訊以層級方式組織。 MIB 可分為標量型與表格型。MIB 可分為標準型與供應商專用型。

SNMP OID 是層級 MIB 結構中具有唯一識別碼的受管物件。樹狀結構的不同層級由不同組織所定義。供應商可定義特殊分支以監控其產品的參數。

物件名稱是對應於特定 OID 的、在整個 MIB 中具有唯一性的值。例如,OID 的物件名稱 1.3.6.1.2.1.1.5sysName.

設定 ESXi 防火牆

您必須設定防火牆,並啟用監控伺服器對 ESXi 主機的 SNMP 存取權限。您可以設定網路中允許存取的裝置所屬的子網或單一 IP 位址。

我們執行以下三條指令,以允許來自 192.168.101.0/24 透過 SNMP 監控 ESXi 的網路:

esxcli network firewall ruleset set --ruleset-id snmp --allowed-all false

esxcli network firewall ruleset allowedip add --ruleset-id snmp --ip-address 192.168.101.0/24

esxcli network firewall ruleset set --ruleset-id snmp --enabled true

請根據您的網路設定輸入 IP 位址或網路位址。

較不安全的設定是允許任何網路裝置存取:

esxcli network firewall ruleset set --ruleset-id snmp --allowed-all true

esxcli network firewall ruleset set --ruleset-id snmp --enabled true

ESXi 的 SNMP 設定已完成。現在您可以在監控伺服器上設定您的監控軟體。

設定 SNMP v3

SNMP v3 是該協定的安全性更高的版本,提供金鑰驗證與加密功能。SNMP v3 的設定較為複雜,並自 vSphere 5.1 起開始支援。以下概述了如何在 ESXi 主機上啟用 SNMP v3。

設定驗證協定與隱私權選項。

esxcli system snmp set -a SHA1 -x AES128

地點:

SHA1 是一種加密演算法,即加密雜湊函數(安全雜湊演算法 1)。

AES128 這是一種採用對稱區塊密碼的加密方法(採用 128 位元加密金鑰的高級加密標準)。

透過類似以下命令生成雜湊值:

esxcli system snmp hash –auth-hash authpass –priv-hash privhash –raw-secret

就我而言,該指令是:

esxcli system snmp hash --auth-hash PasswordTest1 --priv-hash PasswordTest2 --raw-secret

請避免在生產環境中使用本範例中提供的密碼。請使用專屬的密碼(密碼長度必須至少為 7 個字元)。請儲存生成的雜湊字串。以我的情況為例,雜湊值如下:

Authhash: 831a798d1cda90ca1a3ab80d38f81a44c0851ada

Privhash: 38cf6f13d09a4651362338eac2c3d62b42514bc9

ESXi SNMP configuration - generating hashes for SNMP v3 users

請使用生成的雜湊值來新增使用者。支援最多可新增五位使用者。

esxcli system snmp set -e yes -C user -u snmpuser/authhash/privhash/priv

位置:

,其中 user 為該使用者的聯絡email

snmpuser 是使用者名稱(最多 32 個字元)

authhash 是驗證雜湊值

普里瓦什 是否為隱私哈希值

我們加入 user1 並使用前一項指令輸出中產生的雜湊值。

esxcli system snmp set -e yes -C user1@nakivo.com -u user1/831a798d1cda90ca1a3ab80d38f81a44c0851ada/38cf6f13d09a4651362338eac2c3d62b42514bc9/priv

您可以使用以下指令建立一個沒有安全性設定(無驗證和隱私權設定)的使用者:

esxcli system snmp set --user user2/-/-/none

設定 SNMP 目標位址:

esxcli system snmp set --v3targets 192.168.101.209@161/user1/priv/trap

在 ESXi 上啟用 SNMP:

esxcli system snmp set --enable true

測試 SNMP 設定:

esxcli system snmp test

您可以使用此擴充指令來測試 ESXi 上的 VMware SNMP 設定:

esxcli system snmp test -u=user1 -A=PasswordTest1 -X=P2sswordTest2 -r

在哪裡 user1 是已新增至設定中的 SNMP 使用者名稱。

若測試成功完成,系統將顯示一則訊息:

使用者已針對指定的引擎 ID 和安全性層級通過驗證:通訊協定

ESXi SNMP configuration test

請嘗試從監控用的 Linux 伺服器(目標端)透過 SNMP v3 連線至 ESXi 主機。

若未設定任何驗證參數,請使用此指令:

snmpwalk -v3 -u user1 192.168.101.208

若您已設定安全性選項,請在命令中定義這些選項:

snmpwalk -v3 -u user1 -l AuthPriv -a SHA -A PasswordTest1 -x AES -X PasswordTest2 192.168.101.208

在哪裡 user1 我的使用者名稱已新增至 ESXi SNMP 設定中。

Testing VMware ESXi SNMP configuration-connecting

如果您看到"未知使用者名稱” 錯誤時,請檢查您是否已新增使用者,並在新增使用者後的下一組指令中定義了正確的使用者名稱。 請注意,若在配置使用者後變更代理程式的 Engine ID、隱私權協定或驗證協定,這些使用者將失效。此情況下,您需要重新配置使用者。

此外,請務必留意安全性設定,因為不正確的 SNMP 配置可能構成安全威脅,並允許惡意主機獲取 ESXi 主機的相關資訊。這些資訊可能被用於偵測系統弱點並發動網路攻擊。

多個 ESXi 主機的 SNMP 設定

使用 VMware 主機設定檔 如果您在 vSphere 環境中擁有大量 ESXi 主機,這篇文章可協助您啟用 SNMP 並更合理地設定多台 ESXi 主機。

若要啟用 SNMP 並設定多台 ESXi 主機,您必須擁有 VMware vSphere Enterprise Plus 許可證 在 VMware vSphere Client 中使用 VMware 主機設定檔。ESXi 主機設定檔的 VMware SNMP 設定位於 Management > Host Profiles > your Profile > SNMP Agent Configuration. 您也可以使用 vSphere PowerCLI 以自動化大量 ESXi 主機的設定流程,並在這些主機上設定 ESXi SNMP 設定。

結論

ESXi 的 SNMP 設定需求透過 SSH 存取 ESXi 主機、設定 SNMP 代理程式,並在 ESXi 防火牆中開放存取權限。透過 ESXi 監控,您能在偵測到任何問題時及時採取行動,並提升整體服務可用性。請務必執行 VMware vSphere 虛擬機器備份,以避免資料遺失,並確保在發生災難時能夠恢復資料及工作負載。

NAKIVO Backup & Replication 這是一款通用的資料保護解決方案,提供豐富的選項,用於備份和還原資料中心內的 VMware vSphere 虛擬機器及其他資料。此外,該解決方案的最新版本支援 ESXi 監控,並納入 VMware vSphere 監控功能之中。

試試看 NAKIVO Backup & Replication

試試看 NAKIVO Backup & Replication

立即申請免費試用,全面體驗本解決方案的所有資料保護特點。15 天免費試用,無任何特點或容量限制,無需提供信用卡資訊。

People also read