適用於 PostgreSQL 的 Azure 資料庫彈性伺服器包含高可用性 (HA) 健康狀態監視功能,此功能使用 Azure 的資源健康狀態檢查 (RHC) 架構。 此服務提供已啟用 HA 的執行個體健康情況的持續深入解析,通知您可能會影響連線能力和可用性的事件。 以下詳細說明每個健全狀態和相關聯的案例,以協助您針對 HA 穩定性進行疑難排解和維護。
健康狀態
每個 HA 狀態都會透過代表特定條件的各種內部訊號進行監視。 以下是可能的 HA 狀態,以及可能會影響適用於 PostgreSQL 的 Azure 資料庫彈性伺服器的視覺指標和案例。
就緒 – HA 良好
[就緒] 狀態表示已啟用HA的伺服器正常運作,且未偵測到會影響故障轉移整備程度的問題。 所有必要的組態都完好無損,而且未偵測到任何重大錯誤狀況。
已降級 - 網路安全性群組 (NSG) 或虛擬設備封鎖連線
當 NSG 規則或虛擬設備封鎖高可用性所需的基本連線時,可能會顯示 [已降級] 狀態。 此組態問題會防止完整的 HA 功能,應該藉由調整 NSG 設定來修正。
已降級 - 唯讀狀態
如果您的 PostgreSQL 彈性伺服器進入唯讀狀態, [已降級 ] 狀態會反映此限制。 這通常需要佈建其他資源,或解決導致唯讀設定的狀況以還原完整功能。
已降級 - 高可用性處於已降級狀態
當 HA 服務本身遇到效能降低的情況時,可能是因為暫時性問題或系統層級狀況,就會顯示此狀態。 實作重試邏輯有助於減輕這些暫時連線中斷的影響。 請務必注意,「降級」狀態並不表示伺服器無法使用。 相反地,它表示整體 HA 設定和健康情況檢查尚未完全完成。 儘管有此狀態,但伺服器可能仍可運作且可供存取。
若要在這類期間正確監視資料庫的可用性,建議您使用「is_db_alive」計量作為 資料庫可用性計量的一部分。 此計量提供資料庫可用性的可靠指標,可協助您區分暫時不完整的HA設定和實際停機時間。
已降級 - 已起始計劃性容錯移轉
在為伺服器起始計劃性容錯移轉事件期間,[已降級] 狀態隨即顯示,表示 HA 容錯移轉程序為作用中。 這通常是簡短且受到控制的程序,服務應該很快就會恢復。
已降級 - 已起始非計劃性容錯移轉
針對非計劃性容錯移轉,此狀態表示非預期情況所觸發的作用中容錯移轉事件。 此案例可能涉及短暫的連線中斷,直到伺服器完成容錯移轉程序為止。
已降級 - 已起始升級容錯移轉
在系統升級期間,您的 HA 伺服器可能會經歷升級容錯移轉,以套用必要的更新。 處於此狀態時,伺服器可能會暫時限制新連線,而且應該實作重試邏輯,以有效處理暫時性問題。
設定資源健康狀態警示
您可以設定資源健康狀態警示,在已啟用 HA 的 PostgreSQL 執行個體健全狀態發生任何變更時接收即時通知。 設定可透過 Azure 入口網站或使用 ARM 範本取得,協助您隨時掌握 HA 狀態更新,而不需要主動監視入口網站。
透過入口網站設定資源健康狀態警示的步驟
- 流覽至 Azure 入口網站,然後選取您的 PostgreSQL 彈性伺服器。
- 在左側功能表中,選取 [監視] 區段下的 [警示]。
- 選取 [新增警示規則],並根據資源健康狀態訊號來設定警示邏輯。
- 設定動作群組以指定要如何收到通知 (電子郵件、簡訊等)。
- 檢閱並建立警示規則。
使用 ARM 範本建立資源健康狀態警示的步驟
- 從資源健康狀態警示 ARM 範本指南下載 ARM 範本。
- 使用您的特定伺服器詳細資料和警示喜好設定來自訂範本。
- 使用 Azure CLI 或 Azure PowerShell 部署 ARM 範本。
- 確認部署,並確定警示為作用中。
如需設定警示的詳細資訊,請遵循下列指南:
藉由使用 HA 健全狀態監視,您可以深入了解 PostgreSQL 伺服器的 HA 效能,實現主動管理運作時間和可用性的方法。