您可以在虛擬機器中執行自訂指令碼,並收集可將其當作度量來使用的自訂資料。
必要條件
- 您使用自訂指令碼執行的所有指令碼都必須輸出單一整數值。如果輸出不是單一整數值,使用者介面則會顯示錯誤。
- 自訂指令碼使用 Telegraf 的 exec 外掛程式在虛擬機器的作業系統上執行指令碼。指令碼由在作業系統上安裝了 Telegraf 代理程式的使用者執行。在 Linux 作業系統中,系統會建立一個具有特定權限且名為 arcuser 的特殊使用者,以便安裝 Telegraf 代理程式。因此,exec 外掛程式會使用該 arcuser 使用者來執行指令碼。確保 arcuser 可以執行使用自訂指令碼的指令碼 (arcuser 必須有執行該指令碼的權限)。例如,由 vRealize Application Remote Collector 自動建立的 arcuser 沒有權限執行儲存在 /root 目錄下的指令碼。
- 指令碼必須放置在 /opt/vmware 資料夾中。
執行個體設定
選項 | 說明 |
---|---|
狀態 | 啟用自訂指令碼執行。 |
顯示名稱 | 為指令碼新增適合的名稱。* 是無效字元,不得在名稱中使用。 |
檔案路徑 | 輸入在端點虛擬機器上前往指令碼檔案的路徑。 |
前置詞 | 必要時請輸入前置詞。 |
引數 | 列出指令碼中的引數。 |
逾時 | 在虛擬機器上輸入指令碼執行逾時。 |
在您儲存指令碼後,它會出現在自訂指令碼對話方塊的左窗格中。若要新增或刪除指令碼,請按一下左窗格中的新增或刪除按鈕。在新增並儲存指令碼後,從 資料行中,您會看到自訂指令碼標籤。指向自訂指令碼標籤,以檢視指令碼清單及其狀態。
備註:
- 自訂指令碼必須以 ERROR|<Error_message> 格式擲回所有錯誤,錯誤傳播才能運作。如果指令碼未以指定格式擲回錯誤,則 vRealize Operations Manager 會在使用者介面中顯示錯誤訊息:Unable to parse the error message. Please check the endpoint。這是刻意設計的,直到 vRealize Application Remote Collector 傳播了確切的錯誤訊息為止。
- Bash 指令碼必須以
shebang (#!/bin/bash)
開頭。
[所有度量] 索引標籤
成功收集資料後,您可以在所有度量索引標籤中,將指令碼做為虛擬機器的度量進行檢視。指令碼度量是在名為自訂指令碼的物件下建立,這是每個虛擬機器都有的單一物件。虛擬機器指令碼中的所有度量均放置在自訂指令碼物件下,該物件包含您已建立的所有自訂指令碼。您可以檢視特定度量的輸出。指令碼資料夾下的度量名稱是使用者在建立指令碼組態時指定的顯示名稱。例如,如果您將顯示名稱設定為 Python 指令碼,則系統會建立名為 Python 指令碼的度量 (如果已成功收集資料)。