如下圖所示,在 Agent Builder 完成資源類型的建立且您選取了 [建立] 畫面上的 [下一步] 按鈕之後,螢幕上將顯示 [配置] 畫面。 您無法在已建立資源類型之前存取 [配置] 畫面。
Start 指令 — 可傳送至任何 UNIX shell 以啟動基本應用程式的完整指令行。 您必須指定此指令。 您可以在提供的欄位中鍵入該指令或使用 [瀏覽] 按鈕尋找包含該指令的檔案,以啟動應用程式。
完整指令行必須包含啟動應用程式所必需的所有項目,如主機名稱、通訊埠編號以及配置檔案的路徑等。 如果應用程式需要在指令行上指定的主機名稱,則您可以使用 Agent Builder 定義的變數 $hostnames (請參閱使用 Agent Builder $hostnames 變數)。
不要對指令加上雙引號 (““)。
如果基本應用程式具有多個獨立的程序樹,其中每一個都在 PMF 控制下以其自己的標籤開始,則您無法指定單一指令。 相反,您必須建立一個具有個別指令的文字檔案,以啟動每個程序樹,並在 [Start 指令] 文字欄位中指定該檔案的路徑。 請參閱建立具有多個獨立程序樹的資源類型,其中列出了該檔案正常工作需要的某些特殊特性。
Stop 指令 — 可傳送至任何 UNIX shell 以停止基本應用程式的完整指令行。 您可以在提供的欄位中鍵入該指令或使用 [瀏覽] 按鈕尋找包含該指令的檔案,以停止應用程式。 如果應用程式需要在指令行上指定的主機名稱,則您可以使用 Agent Builder 定義的變數 $hostnames (請參閱使用 Agent Builder $hostnames 變數)。
此指令是可選用的。 如果您不指定 stop 指令,則產生的程式碼將使用訊號 (位於 Stop 方法中) 來停止應用程式,如下所示。
Stop 方法傳送 SIGTERM 以停止應用程式,並等待逾時值 80% 的時間以結束應用程式。
如果 SIGTERM 訊號失敗,則 Stop 方法將傳送 SIGKILL 以停止應用程式,並等待逾時值 15% 的時間以結束應用程式。
如果 SIGKILL 訊號失敗,則 Stop 方法將會以失敗狀態結束 (剩下的 5% 的逾時值被視為額外消耗的時間)。
確定在應用程式完全停止之前 stop 指令不會傳回。
Probe 指令 — 一個指令,可以定期執行,以檢查應用程式的運作狀況並傳回一個 0 (成功) 與 100 (完全故障) 之間的適當退出狀況。 此指令是可選用的。 您可以鍵入該指令的完整路徑或使用 [瀏覽] 按鈕尋找包含該指令的檔案,以探測應用程式。
一般您將指定基本應用程式的簡單用戶端。 如果您未指定 probe 指令,產生的程式碼會僅連接至資源所使用的通訊埠並僅從該通訊埠斷開連接,如果成功,則會宣告應用程式狀態良好。 您僅可以對支援網路的應用程式使用 probe 指令。 Agent Builder 總是產生 probe 指令,但是對不支援網路的應用程式停用該指令。
如果應用程式需要您在 probe 指令行上指定主機名稱,則您可以使用 Agent Builder 定義的變數 $hostnames (請參閱使用 Agent Builder $hostnames 變數)。
逾時 — (對於每一個指令)—每一個指令的逾時值 (以秒為單位)。 您可以指定一個新值,或接受 Agent Builder 提供的預設值 (對於啟動與停止為 300 秒,對於探測為 30 秒)。
對於許多應用程式,特別是支援網路的應用程式,您必須透過指令行將應用程式偵聽與服務客戶要求的主機名稱傳送至應用程式。 因此,在許多情況下,主機名稱是您必須為目標資源類型 (位於 [配置] 畫面) 的 start、stop 以及 probe 指令指定的參數。 然而,應用程式透過其進行偵聽的主機名稱是叢集特定的主機名稱 — 當在叢集上執行資源時可以決定該主機名稱,而當 Agent Builder 產生資源類型程式碼時無法決定該主機名稱。
為了解決此問題,Agent Builder 將在指令行上提供您可以為 start 指令、stop 指令以及 probe 指令指定的變數 $hostnames。 請將 $hostnames 變數準確地指定為實際主機名稱,例如:
/opt/network_aware/echo_server -p port_no -l $hostnames |
當在叢集上執行目標資源類型的資源時,為該資源配置的主機名稱 LogicalHostname 或 SharedAddress (資源的 Network_resources_used 資源屬性中) 將會為變數 $hostnames 的值取代。
如果您配置 Network_resources_used 屬性具有多個主機名稱,則變數 $hostnames 將包含所有主機名稱,名稱之間以逗號分隔。
Agent Builder 可以為應用程式建立具有多個獨立程序樹的資源類型。 在 PMF 個別監視與啟動這些程序樹來看,它們是獨立的。 PMF 透過每個程序樹自己的標籤來啟動它。
僅當指定的產生來源代碼為 C 時,Agent Builder 才可讓您建立具有多個獨立程序樹的資源類型。您無法使用 Agent Builder 來為 ksh 或 GDS 建立這些資源類型。 若要為 ksh 或 GDS 建立這些資源類型,您必須手動寫入程序碼。
至於具有多個獨立程序樹的基本應用程式,您無法指定一個單一指令行來啟動該應用程式。 相反,您必須建立一個文字檔案,透過指定指令完整路徑的每一行,來啟動其中一個應用程式的程序樹。 該檔案不得包含任何空白行。 您在 [配置] 畫面的 [Start 指令] 文字欄位中指定該文字檔案。
確保此檔案沒有執行權限可讓 Agent Builder 辨別此檔案與包含多個的簡單可執行程序檔,其目的是啟動多個程序樹。 如果該文字檔案給定了執行權限,則資源將會在叢集上啟動且不會出現問題或錯誤,但所有的指令將會在一個 PMF 標籤下啟動,以防止 PMF 個別監視與重新啟動程序樹。