用於 Sun Java System Application Server 的 Sun Cluster 資料服務指南 (適用於 Solaris 作業系統)

Sun Cluster HA for Sun Java System Application Server 故障監視器的作業

本節說明 Sun Cluster HA for Sun Java System Application Server 故障監視器。

本節提供以下資訊。

延伸屬性

Sun Cluster HA for Sun Java System Application Server 故障監視器使用以下延伸屬性。 您可以調整這些延伸屬性。

表 1–3 Sun Cluster HA for Sun Java System Application Server 延伸屬性

名稱/資料類型 

說明  

Confdir_list(字串陣列)

可在此延伸屬性中設定 Sun Java System Application Server 配置目錄的完整路徑。  

預設值:

可調:建立時

Monitor_Uri_List (字串)

故障監視器可用來測試 Sun Java System Application Server 功能的單一 URI 或 URI 清單。 故障監視器透過在 URI 上執行 HTTP GET 來測試 Application Server。 Monitor_Uri_List 延伸屬性可用於探測部署的應用程式功能。 透過將屬性設定為 Sun Java System Application Server 上部署的應用程式所服務的一個或多個 URI,來探測部署的應用程式。 如果 HTTP 伺服器的回覆碼為 500 (內部伺服器錯誤) 或者連接失敗,則探測將採取動作。 請參閱探測方法,以取得更多詳細資訊。

預設值:

可調: 任何時候

探測演算法和功能

Sun Cluster HA for Sun Java System Application Server 探測將要求傳送至伺服器,以查詢 Sun Java System Application Server 伺服器的運作情況。 探測執行以下步驟:

  1. 根據使用 Probe_timeout 資源屬性設定的逾時值探測 Sun Java System Application Server 實例。

  2. 連接至由資源群組的網路資源配置和 Port_list 設定定義的 IP 位址和連接埠組合。 如果在無需空 Port_list 的情況下配置資源,則會略過此步驟。 如果連接成功,探測會取消連接。 如果連接失敗,系統將記錄失敗。

    大量的網路通訊、沉重的系統負載以及配置錯誤均會導致查詢失敗。 如果您未將 Sun Java System Application Server 伺服器配置為偵聽所有被探測的 IP 位址/埠組合,則會發生配置錯誤。 Sun Java System Application Server 伺服器應對為該資源指定的每個 IP 位址的每個埠提供服務。

  3. 連接至 Sun Java System Application Server 伺服器,並透過向 Monitor_Uri_List 中的每個 URI 傳送 HTTP 要求並接收回應,來執行 HTTP 1.1 GET 檢查。

    HTTP 要求的結果為失敗或成功。 如果所有要求均成功收到來自 Sun Java System Application Server 伺服器的回覆,探測將返回並繼續進行下一個探測和休息循環。

    大量的網路通訊、沉重的系統負載以及配置錯誤均會導致 HTTP GET 探測失敗。 如果 Monitor_Uri_List 中的 URI 包含不正確的連接埠或主機名稱,則 Monitor_Uri_List 屬性的配置錯誤會導致失敗。 例如,如果 Application Server 實例正在偵聽邏輯主機 schost-1,並且 URI 被指定為 http://schost-2/servlet/monitor,則探測將嘗試聯絡 schost-2 以要求 /servlet/monitor

  4. 如果在 Probe_timeout 限制內未收到對探測的回覆,則系統將在歷史日誌中記錄失敗。 探測會將此情況視為 Sun Java System Application Server 資料服務部分上的失敗。 Sun Java System Application Server 探測失敗可以為完全失敗或部分失敗。

    如果在 Probe_timeout 限制內收到對探測的回覆,則系統將檢查 HTTP 回覆碼。 如果回覆碼為 500「內部伺服器錯誤」,則探測將被視為完全失敗。 所有其他的回覆碼均被忽略。

    以下為完全探測失敗。

    • 連接至伺服器失敗時會收到以下錯誤訊息。 %s 表示主機名稱,%d 表示連接埠編號。


      無法連線至主機 <%s> 和連接埠 <%d>。收到的回覆碼為 500「內部伺服器錯誤」。 %s 探測的 HTTP GET 回覆碼為 500。將進行故障轉移。

    • 將探測字串傳送至伺服器失敗時會收到以下錯誤訊息。 第一個 %s 表示主機名稱,%d 表示連接埠編號,第二個 %s 表示有關錯誤的進一步詳細資訊。


      寫入伺服器失敗: 伺服器 %s 連接埠 %d:%s。

  5. 監視器累計在 Retry_interval 資源屬性設定內發生的部分失敗,直至相當於一次完全失敗。

    以下為部分探測失敗:

    • 如果無法在 Probe_timeout 設定的時間之前取消連接時,則會收到以下錯誤訊息。 第一個 %d 表示連接埠編號,%s 表示資源名稱。


      無法從資源 %$2s 的連接埠 %$1d 取消連接。

    • 無法在 Probe_timeout 時間內完成所有探測步驟為部分失敗。

    • 由於其他原因導致從伺服器讀取資料失敗時,會收到以下錯誤訊息。 第一個 %s 表示主機名稱,%d 表示連接埠編號。 第二個 %s 表示有關錯誤的進一步詳細資訊。


      無法與伺服器 %s 連接埠 %d 通訊:%s

  6. 根據失敗歷史,一個失敗可導致本機重新啟動或資料服務的故障轉移。