Sun Management Center 3.6 System Reliability Manager 使用者指南

第 5 章 程序檔儲存庫與程序檔啟動程式模組

System Reliability Manager 隨附的程序檔儲存庫模組與程序檔啟動程式模組可讓您執行遠端裝置上管理各類工作的程序檔。這種在遠端裝置上執行程序檔的功能會減少中心管理站的處理負荷,並提供一種保持本機輪詢的機制。

本章涵蓋下列主題:

程序檔儲存庫模組

程序檔儲存庫模組可讓您檢視程序檔啟動程式模組在代理機器上可執行的程序檔。程序檔儲存庫模組還會列示程序檔啟動程式模組支援的語言。

(在 Solaris 10 上) 動態追蹤 (DTrace) 允許使用者觀察使用者程式和作業系統的運作方式。DTrace 允許使用者瀏覽系統、了解系統如何運作、在軟體層中追蹤效能問題或找出異常之運作方式的起因。D 程式語言隨附在 Solaris 10 中,可撰寫幫助系統除錯的程式。

若需 DTrace 的詳細資料,請參閱「Solaris Dynamic Tracing Guide」

程序檔儲存庫模組包含一般使用之 Solaris 10 的 DScript。您可以從程序檔啟動程式模組執行這些程序檔。

「程序檔資訊」群組包括兩個表格︰

程序檔儲存庫模組的安全性實施方式如下︰

Procedure存取程序檔儲存庫模組

步驟
  1. 載入模組。

    若需更多關於載入和卸載模組的資訊,請參閱「Sun Management Center 3.6 使用者指南」。程序檔儲存庫模組可以在 Navigator 視窗中的 [本機應用程式] 下找到。

  2. 在 [瀏覽器] 視窗中,按兩下 [本機應用程式]。

    該類別會展開。

  3. 在 [本機應用程式] 下,按兩下 [程序檔儲存庫]。

    該類別會展開。

  4. 按兩下 [程序檔資訊] 資料夾以檢視語言表和程序檔表。

    程序檔儲存庫模組的語言表和程序檔表

語言表

[程序檔資訊] 群組中的第一個表即為 [語言表]。該表列示代理機器上支援的所有程序檔語言。每個表格項目具有以下屬性︰

沒有適用於該表的指令。您無法指定新語言或移除語言。項目的數目是固定的,並由模組的實施情況及支援的語言定義。

您可以在儲存格中鍵入新資訊來修改語言來源。

警報

如果在指定位置找不到該語言,System Reliability Manager 會產生一個資訊 (INFO) 警報。

程序檔表

程序檔表會列出程序檔啟動程式在代理程式上已知的所有程序檔。


備註 –

(在 Solaris 10 上) 有些預先定義的 DScript 已增加至程序檔表。


表格中的每個項目都具有下表所列的屬性。

表 5–1 程序檔表的值

屬性 

說明 

程序檔所有者 

代理機器上擁有該程序檔的使用者。 

程序檔名稱 

程序檔的名稱。 

說明 

說明程序檔的用途。 

管理狀況 

可以是下列狀況之一︰ 

  • 啟用,表示所有者允許他人使用該程序檔。

  • 停用,表示所有者不允許他人使用該程序檔。

作業狀況 

可以是下列狀況之一︰ 

  • 啟用,表示該程序檔可以使用,並可透過啟動表項目啟動。

  • 停用,表示該程序檔無法使用。

  • NoSuchScript,表示指定位置沒有此程序檔。

  • WrongLauguage,表示此語言不是已知語言。

語言 

編寫程序檔使用的語言。該值必須是在語言表中列出的一種語言。 

程序檔來源 

程序檔的檔案名稱。 

預設引數 

該程序檔的預設引數。 

使用者 

獲准使用該程序檔的使用者。 

群組 

獲准使用該程序檔的 UNIX 群組。 

可以透過瀏覽器修改的欄位有 [管理狀況] 、 [程序檔使用者] 以及 [群組]。 [管理狀況] 是可以在其中輸入程序檔所需狀態的區域。例如, [管理狀況] 可以是啟用或停用。雖然該選項反映您所需的狀態,但在模組確定所有標準均已滿足並就緒之後,僅有 [作業狀況] 能反映實際狀況。

程序檔表警報

ScriptInfo.dat 檔案

ScriptInfo.dat 包含的資訊是關於可以執行的程序檔。於 ScriptInfo.dat 檔案加入新程序檔可讓模組識別該程序檔。屬於一個使用者的所有程序檔必須列示在此檔案中。

ScriptInfo.dat 包含關於在 shell 程序檔、Java 和 DScript (Solaris 10) 上寫入之程序檔的資訊。

Procedure加入新程序檔

步驟
  1. 編寫新的程序檔。

    ScriptInfo.dat 檔案的格式遵循標準配置檔案格式。

    片段:屬性=
    
  2. 將新程序檔複製到 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 秒後看見輸出。

此模組包括以下兩個表格︰

程序檔啟動程式模組的啟動表和結果表

程序檔啟動程式模組可讓您對程序檔執行以下操控作業︰

程序檔啟動程式模組的安全性實施方式如下︰

Procedure存取程序檔啟動程式模組

開始之前

您必須在使用程序檔啟動程式模組前載入程序檔儲存庫模組。

步驟
  1. 載入模組。

    請參閱「Sun Management Center 3.6 使用者指南」以取得更多資訊。程序檔儲存庫模組可以在 [瀏覽器] 視窗中的 [本機應用程式] 下找到。

  2. 在 [瀏覽器] 視窗中,按兩下 [本機應用程式]。

  3. 按兩下 [程序檔啟動程式]。

    程序檔啟動程式會顯示啟動表和結果表。

    具有程序檔啟動程式和表格的模組瀏覽器。上下文將描述該圖形。

啟動表

啟動表控制所有程序檔的執行情況。該表說明準備啟動的程序檔及其參數。

啟動表中的項目會將引數附加到程序檔上,並定義用於關聯執行程序檔權限的所有者。

透過該表的一個單一項目可以建立程序檔的多個實例 。另外,此表的多個項目可以指向程序檔表的同一個程序檔。您可以用不同的引數和不同的權限執行多個相同的程序檔。擁有啟動所有者的權限後,才可執行程序檔。

啟動表的屬性如下表所示。

表 5–2 啟動表屬性

屬性 

說明 

啟動所有者 

擁有此項目的管理員。 

啟動名稱 

項目的名稱。在啟動表中,每一列的名稱應當是唯一的。 

程序檔所有者 

結合使用程序檔名稱來識別程序檔。 

程序檔名稱 

結合使用程序檔所有者來識別程序檔。 

引數 

提供給程序檔的引數。 

啟動開啟 

初始化程序檔的執行情況。在啟動程序檔之前,必須滿足以下條件︰ 

  1. 項目的 [作業狀況] 應處於啟用狀態。

  2. 程序檔表中的項目在 [程序檔所有者] 與 [程序檔名稱] 欄位中的值應該相同。

  3. 程序檔表中的 [程序檔作業狀況] 應處於啟用狀態。

  4. [啟動所有者] 有必要的安全性權限來啟動程序檔。

啟動控制 

此物件用於對執行表中所有執行的程序檔請求狀態變更,並且這些程序檔是從啟動表啟動。 

管理狀況 

啟動表項目的所需狀態,可以是啟用或停用。 

作業狀況 

啟動表項目的實際狀態,可以是啟用或停用。 

最大執行數 

目前可以從此項目啟動的執行中程序檔的最大數目。預設值為 3。直接寫入欄位即可修改此欄。 

最大完成數 

預設值為 3。從啟動表中的本項目啟動之已完成程序檔的最大數目,並且這些程序檔仍被允許保留在結果表中。 

啟用時間 

從該項目啟動的程序檔可以執行的最長預設時間。預設值為 86,400 秒(1 天)。 

過期時間 

有關從該項目啟動的程序檔的資訊在程序檔執行完畢後保留在結果表中的最長預設時間。 

Procedure將新項目加入到啟動表

步驟
  1. 請按照存取程序檔啟動程式模組所述存取啟動表。

  2. 在 [啟動表] 標頭上按滑鼠按鈕 3。

    將顯示一個快顯式功能表。

    具有啟動表和功能表的模組瀏覽器。上下文將描述該圖形。
  3. 選擇 [新列] 並提供所有需要的參數。

    [程序檔所有者] 和 [程序檔名稱] 的值指向從該啟動按鈕啟動的程序檔。

Procedure啟動程序檔的實例

步驟
  1. 請按照存取程序檔啟動程式模組所述存取啟動表。

  2. 在顯示所需程序檔名稱的列上按滑鼠按鈕 3。

  3. 選取 [啟動程序檔]。

    該程序檔會啟動。

Procedure停止程序檔

步驟
  1. 請按照存取程序檔啟動程式模組所述存取啟動表。

  2. 在顯示要停止程序檔名稱的列上按滑鼠按鈕 3。

    螢幕上會出現一個快顯式功能表。

  3. 選擇 [中斷程序檔]。

    該程序檔會停止執行。

結果表

結果表列出目前正在執行的或最近終止的所有程序檔。此表包含下列資訊:

結果表的每一列都包含程序檔呼叫期間傳送的引數、產生的結果及其結束字碼。結果表還可提供有關目前執行狀態、開始和結束時間戳記的資訊。

結果表的屬性如下表所示。

表 5–3 結果表屬性

屬性 

說明 

執行索引 

與該程序檔關聯的唯一識別碼。在 LaunchName 前放置一個不斷增加的整數便可得到此值。整數從 0 開始。 

引數 

啟動時向程序檔提供的引數。 

結束字碼 

程序檔結束執行的原因。可能是以下的值: 

  • 無 – 表示程序檔仍處於初始化狀態或執行狀態。

  • 停止 – 表示程序檔已中斷。

  • 成功 – 表示程序檔成功完成執行。

  • 失敗 – 表示程序檔因錯誤結束執行。

結果記錄 

記錄檔的路徑。 

執行控制 

由該列定義程序檔所需的執行狀態(中斷或 noop)。 

執行狀態 

程序檔的執行狀態。可能是以下的值: 

  • 初始化 – 表示程序檔正在初始化。

  • 執行 – 表示程序檔正在執行中。

  • 未執行 – 表示程序檔處於此狀態可能是由於成功完成、失敗或中斷。程序檔為 [未執行] 的確切原因將反映在 [結束字碼] 欄位中。

錯誤記錄 

記錄檔的路徑。 

起始時間 

執行開始時的日期和時間。 

結束時間 

執行終止時的日期和時間。 

啟用時間 

程序檔可以執行的時間。如果已經超過此時間,但程序檔尚未終止,系統會自動終止程序檔。 

過期時間 

程序檔終止後,此列可在結果表中存在的時間。啟動程序檔後,該屬性為啟動表中 [過期時間] 欄位的值。由於程序檔達到 [未執行] 狀態而傳回 [過期時間] 的秒數後,該程序檔項目會從結果表中移除。 

Procedure從結果表檢視結果

步驟
  1. 請按照存取程序檔啟動程式模組所述存取結果表。

  2. 在結果表中,於執行中的程序檔項目上按滑鼠按鈕 3。

    將顯示一個快顯式功能表。

  3. 選擇 [檢視結果記錄] 以檢視與選取執行程序檔對應的結果記錄檔。

    [探測檢視器] 將會出現,並顯示記錄結果。


    備註 –

    您還可以在指令行上存取記錄檔。記錄檔儲存在 /var/opt/SUNWsymon/SysMgmtPack/script-launcher/scripts/使用者名稱/logs 目錄下。記錄檔名稱包括執行實例,這樣當使用者多次執行同一個程序檔時,可以識別出目前的記錄檔。


Procedure從結果表刪除列

步驟
  1. 請按照存取程序檔啟動程式模組所述存取結果表。

  2. 在結果表的列上按滑鼠按鈕 3。

    將顯示一個快顯式功能表。

  3. 選擇 [刪除列]。

    此時會顯示一個對話方塊,讓您確認或取消此刪除作業。

  4. 按一下 [是],以進行確認。

    刪除列後,執行表會自動重新顯示。