System Reliability Manager 隨附的程序檔儲存庫模組與程序檔啟動程式模組可讓您執行遠端裝置上管理各類工作的程序檔。這種在遠端裝置上執行程序檔的功能會減少中心管理站的處理負荷,並提供一種保持本機輪詢的機制。
本章涵蓋下列主題:
程序檔儲存庫模組可讓您檢視程序檔啟動程式模組在代理機器上可執行的程序檔。程序檔儲存庫模組還會列示程序檔啟動程式模組支援的語言。
(在 Solaris 10 上) 動態追蹤 (DTrace) 允許使用者觀察使用者程式和作業系統的運作方式。DTrace 允許使用者瀏覽系統、了解系統如何運作、在軟體層中追蹤效能問題或找出異常之運作方式的起因。D 程式語言隨附在 Solaris 10 中,可撰寫幫助系統除錯的程式。
若需 DTrace 的詳細資料,請參閱「Solaris Dynamic Tracing Guide」。
程序檔儲存庫模組包含一般使用之 Solaris 10 的 DScript。您可以從程序檔啟動程式模組執行這些程序檔。
語言表,列示支援的語言。目前包含 Java、shell 程序檔和 DScript (在 Solaris 10 上)。
程序檔表,讓您檢視代理機器上使用的程序檔。
僅有超級使用者可以將程序檔放在下列目錄中︰
/var/opt/SUNWsymon/SysMgmtPack/script-launcher/scripts
每個程序檔都會指定允許執行該程序檔的使用者和群組。這些使用者和群組在該程序檔配置檔的 [使用者和群組] 中指定。另外,可以在任何主控台上從程序檔表修改這些欄位。僅允許 esadm 使用者修改這些欄位。
超級使用者不能位於程序檔表的 [程序檔使用者] 欄位中。
載入模組。
若需更多關於載入和卸載模組的資訊,請參閱「Sun Management Center 3.6 使用者指南」。程序檔儲存庫模組可以在 Navigator 視窗中的 [本機應用程式] 下找到。
在 [瀏覽器] 視窗中,按兩下 [本機應用程式]。
該類別會展開。
在 [本機應用程式] 下,按兩下 [程序檔儲存庫]。
該類別會展開。
按兩下 [程序檔資訊] 資料夾以檢視語言表和程序檔表。
[程序檔資訊] 群組中的第一個表即為 [語言表]。該表列示代理機器上支援的所有程序檔語言。每個表格項目具有以下屬性︰
語言名稱。(例如,Java)
語言來源。(例如 /usr/java)
沒有適用於該表的指令。您無法指定新語言或移除語言。項目的數目是固定的,並由模組的實施情況及支援的語言定義。
您可以在儲存格中鍵入新資訊來修改語言來源。
如果在指定位置找不到該語言,System Reliability Manager 會產生一個資訊 (INFO) 警報。
(在 Solaris 10 上) 有些預先定義的 DScript 已增加至程序檔表。
表格中的每個項目都具有下表所列的屬性。
表 5–1 程序檔表的值
可以透過瀏覽器修改的欄位有 [管理狀況] 、 [程序檔使用者] 以及 [群組]。 [管理狀況] 是可以在其中輸入程序檔所需狀態的區域。例如, [管理狀況] 可以是啟用或停用。雖然該選項反映您所需的狀態,但在模組確定所有標準均已滿足並就緒之後,僅有 [作業狀況] 能反映實際狀況。
當程序檔使用不支援的語言時,會發出資訊警報。
當程序檔不可存取時,會發出資訊警報。
ScriptInfo.dat 包含的資訊是關於可以執行的程序檔。於 ScriptInfo.dat 檔案加入新程序檔可讓模組識別該程序檔。屬於一個使用者的所有程序檔必須列示在此檔案中。
ScriptInfo.dat 包含關於在 shell 程序檔、Java 和 DScript (Solaris 10) 上寫入之程序檔的資訊。
編寫新的程序檔。
ScriptInfo.dat 檔案的格式遵循標準配置檔案格式。
片段:屬性=值
將新程序檔複製到 ScriptInfo.dat 檔案中。
ScriptInfo.dat 檔案位於依使用者名稱識別的目錄中,如本例所示︰
/var/opt/SUNWsymon/SysMgmtPack/script-launcher/scripts/使用者名稱/ScriptInfo.dat
如果該檔案已包含有關某個程序檔的資訊,請將您的程序檔加入到目前資訊之下。
下列 ScriptInfo.dat 檔案的範例包含兩個程序檔。
Script1:Owner = Scott Script1:Name = MyHello Script1:Desc = Says Hello Script1:Language = Java Script1:Source = Hello.class Script1:AdminStat = 1 Script1:OperStat = 1 Script1:Users = Noble Script1:Group = Staff Script2:Owner = Denise Script2:Name = MyFile Script2:Desc = Says Hello Script2:Language = Java Script2:Source = Hello.class Script2:AdminStat = 1 Script2:OperStat = 1 Script2:Users = Noble Script2:Group = Staff
程序檔啟動程式模組可讓您將管理功能委託給代理程式。管理功能是一種由管理程序檔語言編寫的管理程序檔。程序檔啟動程式模組是一種多重實例模組。程序檔啟動程式模組的所有實例都存取相同的程序檔儲存庫模組,以取得語言和程序檔資訊。
(在 Solaris 10 上) 您可以從程序檔啟動程式模組執行 DScript。
某些 DScript 可能會持續監視。此類程序檔之輸出非常龐大。建議您避免此類程序檔,因為它們可能會拖慢 CPU,可能也會使 Java Console 當機。
下列程式碼片段可附加至任何 DScript 以控制指定時間期間的執行流程。
tick-1sec
/i++ >= 10/
{
exit(0);
}
在上述範例中,DScript 僅會執行 10 秒鐘。使用者可於 10 秒後看見輸出。
啟動表 – 說明準備啟動的程序檔及其參數
結果表 – 讓您檢視所選程序檔的執行結果
程序檔啟動程式模組可讓您對程序檔執行以下操控作業︰
控制獲准從程序檔儲存庫模組讀取、寫入以及執行程序檔的使用者
指定管理程序檔的引數
引發和終止管理程序檔
監視和控制執行管理程序檔
檢視執行管理程序檔產生的結果
控制已獲准讀取、寫入以及執行程序檔的使用者
超級使用者不能位於啟動表的 LaunchOwner 欄位中。若要啟用機器的超級使用者,從而以超級使用者的身份執行程序檔,請在該機器上建立一個新的使用者。然後使用該使用者名稱執行程序檔。
LaunchOwner 必須屬於伺服器的新 esscrusers 群組。僅有 esscrusers 可以在啟動表中建立列或進行變更。
[啟動所有者] 或 launchOwner 必須是代理機器上的有效使用者。該使用者必須是本機使用者或透過代理機器上的服務(如 NIS)加入的其他使用者。擁有啟動所有者的權限後,才可執行程序檔。
您必須在使用程序檔啟動程式模組前載入程序檔儲存庫模組。
載入模組。
請參閱「Sun Management Center 3.6 使用者指南」以取得更多資訊。程序檔儲存庫模組可以在 [瀏覽器] 視窗中的 [本機應用程式] 下找到。
在 [瀏覽器] 視窗中,按兩下 [本機應用程式]。
按兩下 [程序檔啟動程式]。
程序檔啟動程式會顯示啟動表和結果表。
啟動表控制所有程序檔的執行情況。該表說明準備啟動的程序檔及其參數。
啟動表中的項目會將引數附加到程序檔上,並定義用於關聯執行程序檔權限的所有者。
透過該表的一個單一項目可以建立程序檔的多個實例 。另外,此表的多個項目可以指向程序檔表的同一個程序檔。您可以用不同的引數和不同的權限執行多個相同的程序檔。擁有啟動所有者的權限後,才可執行程序檔。
表 5–2 啟動表屬性
請按照存取程序檔啟動程式模組所述存取啟動表。
在 [啟動表] 標頭上按滑鼠按鈕 3。
將顯示一個快顯式功能表。
選擇 [新列] 並提供所有需要的參數。
[程序檔所有者] 和 [程序檔名稱] 的值指向從該啟動按鈕啟動的程序檔。
請按照存取程序檔啟動程式模組所述存取啟動表。
在顯示所需程序檔名稱的列上按滑鼠按鈕 3。
選取 [啟動程序檔]。
該程序檔會啟動。
請按照存取程序檔啟動程式模組所述存取啟動表。
在顯示要停止程序檔名稱的列上按滑鼠按鈕 3。
螢幕上會出現一個快顯式功能表。
選擇 [中斷程序檔]。
該程序檔會停止執行。
結果表列出目前正在執行的或最近終止的所有程序檔。此表包含下列資訊:
程序檔的開始時間和結束執行的時間
程序檔結束執行的原因
程序檔的結果
程序檔能繼續執行的剩餘時間
結果表的每一列都包含程序檔呼叫期間傳送的引數、產生的結果及其結束字碼。結果表還可提供有關目前執行狀態、開始和結束時間戳記的資訊。
表 5–3 結果表屬性
請按照存取程序檔啟動程式模組所述存取結果表。
在結果表中,於執行中的程序檔項目上按滑鼠按鈕 3。
將顯示一個快顯式功能表。
選擇 [檢視結果記錄] 以檢視與選取執行程序檔對應的結果記錄檔。
[探測檢視器] 將會出現,並顯示記錄結果。
您還可以在指令行上存取記錄檔。記錄檔儲存在 /var/opt/SUNWsymon/SysMgmtPack/script-launcher/scripts/使用者名稱/logs 目錄下。記錄檔名稱包括執行實例,這樣當使用者多次執行同一個程序檔時,可以識別出目前的記錄檔。
請按照存取程序檔啟動程式模組所述存取結果表。
在結果表的列上按滑鼠按鈕 3。
將顯示一個快顯式功能表。
選擇 [刪除列]。
此時會顯示一個對話方塊,讓您確認或取消此刪除作業。
按一下 [是],以進行確認。
刪除列後,執行表會自動重新顯示。