SSH(效能)
- Last Updated: October 16, 2024
- 4 minute read
SSH 監控工具使用 SSH 驗證連線至遠端裝置,以執行命令或指令碼,它們可以內嵌至監控工具中或者在遠端機器作為可執行指令碼檔案(包含內嵌至監控工具中用於執行指令碼的命令)。每個監控工具會傳回一個數值,這個數值會記錄在資料庫中,並視需要供其他 WhatsUp Gold 功能使用。
提供監控工具的唯一名稱和說明,然後設定以下項目:
-
要執行的命令
:輸入要在遠端裝置上執行的命令。此命令必須可由裝置解譯和執行,例如 UNIX shell 命令或 perl 指令碼。請注意,若要建立在遠端裝置上執行的指令碼,就必須在遠端電腦上撰寫、測試這些指令碼及偵錯。選取其中一個指令碼選項:
-
數字
:命令或指令碼必須傳回一個數值。指令碼的複雜度不限,但只能傳回數值,例如舊的單行 UNIX 樣式:
free -m | awk 'NR==2{print $3}'這是 WhatsUp Gold 16.2.3 版之前要求的指令碼格式。 -
Shell 互動
:這個指令碼不一定要傳回單一數值,但輸出結果必須包含「Result=xxxx」字串,其中 xxxx 代表數值。例如新的多行 Linux 樣式:
echo Result=$(free -m | awk 'NR==2{print $3}')這種新的指令碼格式支援目標指令碼編譯程式的所有功能,讓指令碼開發人員不必費力將輸出結果限制為單一數值。
-
數字
:命令或指令碼必須傳回一個數值。指令碼的複雜度不限,但只能傳回數值,例如舊的單行 UNIX 樣式:
註:
自 v18.0.2 起,
Shell 互動
選項將支援由使用者定義的自訂規則運算式,以讓 WhatsUp Gold 可成功從一些內嵌系統收集效能資料,包括路由器、交換器和 Integrated Dell Remote Access Controllers (iDRAC)。如要在設定 SSH 效能監控工具時啟用這項功能,請在選取
[Shell 互動]
選項時勾選
[使用自訂 Regex]
核取方塊。
範例:預設 Regex
命令:
<以預設格式輸出結果的命令>
輸出:
Result=15
當預設 Regex 執行此輸出時,它會與
Result=15
比對。擷取群組會將
15
視為結果,如此 WhatsUp Gold 就會將該值儲存為輪詢的結果。擷取群組內的 Regex
[0-9.,]+
會比對任何一個或多個
0-9
數字、小數點和逗點,不過該值應該只包含一個小數點或逗點才能被正確剖析為數字。如果將同樣的 Regex 比對
Result=A33
執行,就不會相符。不過,
Result=33A
會與
Result=33
相符,且擷取群組會把
33
視為結果。
範例:自訂 Regex
如要透過 iDRAC 管理網路介面監控 Dell R710 的電源用量(詳細的統計資料為
cfgServerPowerLastMinAvg
),請使用以下的命令「
racadm getconfig -g cfgServerPower
」,輸入以下的規則運算式。請注意,以下只包含相關的運算式行列。
# cfgServerPowerStatus=1
(中間略過)
cfgServerPowerCapEnable=0
# cfgServerPowerLastMinAvg=357 AC W | 1218 Btu/hr
# cfgServerPowerLastHourAvg=359 AC W | 1225 Btu/hr
(部分截斷以簡要說明)
在此範例中,用來擷取過去幾分鐘內平均瓦特使用量的規則運算式為
cfgServerPowerLastMinAvg=([\d]+)
,這個運算式會尋找
cfgServerPowerLastMinAvg=
後接一位或多位數。傳回的輪詢結果值是
357
,這是因為
[\d]+
是在擷取群組
()
之內。請注意所指定的規則運算式「必須」包含一個擷取群組
()
以將輪詢的結果傳回 WhatsUp Gold。
監控工具只會取用
其在輸出中找到的最後一筆符合結果。
即使
執行的命令傳回數千筆結果
,WhatsUp Gold 也只會記錄
最後一筆符合結果
。如需其他關於
.Net 預設規則運算式選項
的資訊,請參閱
這裡
。
若 WhatsUp Gold 在比對傳回的輸出處理規則運算式時,無法找到任何相符的結果,效能錯誤記錄檔將會包含從裝置收到的原始輸出。您可以使用此資訊來解決在監控工具組態中指定的 Regex 模式問題。
- 行末字元 :選取適當的行末類型,選項包括:[無]、[換行]、[歸位] 或 [歸位換行]。由於您必須在Windows 作業系統上輸入和儲存多行指令碼,因此指令碼中可能包含目標裝置無法辨識的行末字元。此組態功能會指示 WhatsUp Gold 在連線和執行命令以前,先用選取的字元取代行末字元。