全部產品
Search
文件中心

Serverless App Engine:設定健全狀態檢查

更新時間:Nov 13, 2025

將應用部署在SAE後,您可以使用健全狀態檢查功能查看應用與業務運行是否正常,以便運行異常時定位問題。SAE支援在建立或部署中配置,本文介紹如何在SAE控制台配置健全狀態檢查。

背景資訊

健全狀態檢查原理

健全狀態檢查是指由Liveness探針、Readiness探針或者StartupProbe探針對應用執行個體與應用進行定時檢查,並將結果反饋給SAE控制台的過程,協助您瞭解叢集環境下整個服務的運行狀態,以便定位問題。

SAE基於Kubernetes,提供了以下兩種健全狀態檢查類別。

  • 應用執行個體存活檢查(Liveness配置):針對單個應用執行個體進行健全狀態檢查,檢測應用執行個體是否已經啟動。

    • 檢查成功:表示應用執行個體健康,SAE不執行任何操作。

    • 檢查失敗:表示應用執行個體不健康,SAE會重啟應用執行個體。

  • 應用業務就緒檢查(Readiness配置):針對應用業務進行健全狀態檢查,檢測處理客戶請求的應用是否已經就緒。

    • 檢查成功:表示應用準備就緒,SAE會為應用程式指派業務流量進行處理。

    • 檢查失敗:表示應用未準備就緒,SAE會上報應用異常,不為該應用程式指派業務流量。

  • 啟用應用啟動探測(StartupProbe配置):針對應用啟動進行健全狀態檢查,檢查應用是否啟動成功。

    • 檢查成功:表示應用啟動成功,如果您配置了Liveness檢查和Readiness檢查,應用啟動成功後會執行Liveness檢查和Readiness檢查。

    • 檢查失敗:表示應用啟動失敗,SAE會上報異常並自動重啟。

成功和失敗說明

  • 成功:健全狀態檢查成功次數達到設定的健康閾值,即認為檢查通過。

  • 失敗:如果一次健全狀態檢查失敗,SAE會按照您設定的檢查周期時間重新進行健全狀態檢查。直到失敗次數達到設定的不健康閾值後,SAE會進行Liveness失敗重啟應用執行個體、Readiness失敗摘除執行個體不分配流量等操作。

健全狀態檢查參數

SAE健全狀態檢查通過設定以下參數,檢查應用執行個體與應用的運行狀態。

  • 延遲時間

    表示應用啟動之後多久開始探測。延遲時間請務必大於應用正常啟動耗時,否則會導致應用發布/運行過程中健全狀態檢查失敗,反覆重啟。例如,應用啟動時間長度為60,建議將延遲時間設定為70。

  • 逾時時間

    表示探測逾時時間。單位為秒,預設為1。例如設定為10,如果探測逾時等待時間超過10秒,表示本次健全狀態檢查失敗,上報逾時異常。如果設定為0或不設定,預設逾時等待時間為1秒。

  • 檢查周期

    健全狀態檢查周期。單位為秒,預設為30。例如設定為5,表示每隔5秒檢查一次。在業務容器剛啟動的時候,SAE可能會比配置的檢查周期更頻繁地執行Readiness Probe。這種策略可以讓執行個體儘快開始處理請求,從而提高服務的啟動速度和整體的使用者體驗。

操作入口

  1. 建立應用

    SAE應用列表中,在頂部選擇目標地區和命名空間,點擊建立應用應用基本資料頁面進行配置後,單擊下一步:進階設定

    對正在啟動並執行應用進行變更

    警告

    重新部署應用後,該應用將會被重啟。為避免業務中斷等不可預知的錯誤,請在業務低峰期執行部署操作。

    SAE應用列表中,在頂部選擇目標地區和命名空間,點擊目標應用ID跳轉到應用詳情頁。在左側導覽列點擊基礎資訊,在右上方點擊部署應用

    對已停止的應用進行變更

    SAE應用列表中,在頂部選擇目標地區和命名空間,點擊目標應用ID跳轉到應用詳情頁。點擊基礎資訊,點擊修改應用配置

  2. 展開應用健全狀態檢查設定地區,按需進行配置。

配置指引

  1. 根據需求啟用應用執行個體存活檢查(Liveness配置)啟用應用業務就緒檢查(Readiness配置)啟用應用啟動探測(StartupProbe配置)。三者需要配置的參數項相同。

    說明
    • 您可以同時配置Liveness檢查、Readiness檢查和StartupProbe檢查(推薦),您也可以選配其一或其二。

    • 如果您同時配置了三種健全狀態檢查,首先會執行StartupProbe檢查,檢查通過後,會執行Liveness檢查和Readiness檢查(Liveness檢查和Readiness檢查會根據配置的檢查延遲時間依次執行)。

  2. 請從以下檢查方式中選擇,並配置參數。

    • HTTP請求檢查:通過向執行個體發送HTTP請求檢查健康情況。通過HTTP訪問獲得的HTTP狀態代碼位於[200,399]之間,則認為訪問成功,執行個體健康;否則認為失敗,執行個體不健康。

    • TCP連接埠檢查:通過TCP Socket與執行個體建立串連來檢查執行個體的健康情況。如果可以建立串連,則認為執行個體健康;如果串連失敗,則認為不健康。

    • 執行命令檢查:通過在執行個體中執行探針檢測命令來檢查執行個體的健康情況。如果執行命令後返回的狀態代碼為0,則認為執行成功,執行個體健康;如果不為0,則認為執行失敗,執行個體不健康。

    HTTP請求檢查

    配置項

    說明

    路徑

    訪問HTTP Server的路徑。

    連接埠

    訪問HTTP Server的連接埠。

    進階設定

    展開進階設定後,選擇判斷返回的字串中是否包含設定的關鍵字。

    協議

    選擇HTTPHTTPS

    延遲時間(秒)

    表示應用啟動之後多久開始探測。延遲時間請務必大於應用正常啟動耗時,否則會導致應用發布/運行過程中健全狀態檢查失敗,反覆重啟。例如,應用啟動時間長度為60秒,建議將延遲時間設定為70秒。

    逾時時間(秒)

    表示探測逾時時間。單位為秒,預設為1秒。例如設定為10秒,如果探測逾時等待時間超過10秒,表示本次健全狀態檢查失敗,上報逾時異常。如果設定為0或不設定,預設逾時等待時間為1秒。

    檢查周期(秒)

    健全狀態檢查周期。單位為秒,預設為30秒。例如設定為5秒,表示每隔5秒檢查一次。在業務容器剛啟動的時候,SAE可能會比配置的檢查周期更頻繁地執行Readiness Probe。這種策略可以讓執行個體儘快開始處理請求,從而提高服務的啟動速度和整體的使用者體驗。

    健康閾值(次)

    探針在失敗後,被視為成功的最小連續成功數。Liveness必須設定為1。

    不健康閾值(次)

    判定總體失敗的連續失敗數。

    TCP連接埠檢查

    配置項

    說明

    TCP連接埠

    設定TCP檢查訪問的連接埠。

    延遲時間(秒)

    表示應用啟動之後多久開始探測。延遲時間請務必大於應用正常啟動耗時,否則會導致應用發布/運行過程中健全狀態檢查失敗,反覆重啟。例如,應用啟動時間長度為60秒,建議將延遲時間設定為70秒。

    逾時時間(秒)

    表示探測逾時時間。單位為秒,預設為1秒。例如設定為10秒,如果探測逾時等待時間超過10秒,表示本次健全狀態檢查失敗,上報逾時異常。如果設定為0或不設定,預設逾時等待時間為1秒。

    檢查周期(秒)

    健全狀態檢查周期。單位為秒,預設為30秒。例如設定為5秒,表示每隔5秒檢查一次。在業務容器剛啟動的時候,SAE可能會比配置的檢查周期更頻繁地執行Readiness Probe。這種策略可以讓執行個體儘快開始處理請求,從而提高服務的啟動速度和整體的使用者體驗。

    健康閾值(次)

    探針在失敗後,被視為成功的最小連續成功數。Liveness必須設定為1。

    不健康閾值(次)

    判定總體失敗的連續失敗數。

    執行命令檢查

    配置項

    說明

    延遲時間(秒)

    表示應用啟動之後多久開始探測。延遲時間請務必大於應用正常啟動耗時,否則會導致應用發布/運行過程中健全狀態檢查失敗,反覆重啟。例如,應用啟動時間長度為60秒,建議將延遲時間設定為70秒。

    逾時時間(秒)

    表示探測逾時時間。單位為秒,預設為1秒。例如設定為10秒,如果探測逾時等待時間超過10秒,表示本次健全狀態檢查失敗,上報逾時異常。如果設定為0或不設定,預設逾時等待時間為1秒。

    檢查周期(秒)

    健全狀態檢查周期。單位為秒,預設為30秒。例如設定為5秒,表示每隔5秒檢查一次。在業務容器剛啟動的時候,SAE可能會比配置的檢查周期更頻繁地執行Readiness Probe。這種策略可以讓執行個體儘快開始處理請求,從而提高服務的啟動速度和整體的使用者體驗。

    健康閾值(次)

    探針在失敗後,被視為成功的最小連續成功數。Liveness必須設定為1。

    不健康閾值(次)

    判定總體失敗的連續失敗數。

    執行命令

    設定應用執行個體或者進程內部執行的健全狀態檢查命令。如果該命令返回碼為0,則表示應用健康。 健全狀態檢查相關命令,請參見Kubernetes官網Configure Probes

    說明

    SAE提供了兩種不同的Shell解譯器可供您選擇,分別是:

    • >_ /bin/sh

    • >_ /bin/bash

    例如:執行命令設定為cat /tmp/healthy,表示定期查看/tmp/healthy檔案是否存在,若檔案存在,返回命令為0(表示命令執行成功)。

驗證結果

健全狀態檢查配置成功後,您可以在目標應用的基礎資訊頁面,單擊執行個體列表頁簽,在預設分組地區查看執行個體的運行狀態,將滑鼠移至狀態後的標誌上,可查看健全狀態檢查配置的詳細資料。

運行狀態

說明

  • Liveness健全狀態檢查未配置

    4nfkjwuWqZ

  • Readiness健全狀態檢查未配置

    FzYPopCQxq

  • Liveness與Readiness健全狀態檢查未配置

    Ga8s7J1YNz

表示執行個體未配置健全狀態檢查。

說明
  • 推薦同時配置Liveness和Readiness檢查。

  • 如果您需要瞭解健全狀態檢查的配置說明,您可以單擊查看詳情,查看配置文檔。

Liveness和Readiness健全狀態檢查失敗

eM5mJvV1M2

表示健全狀態檢查失敗,執行個體不健康。

說明

您可以將滑鼠移至上方在執行個體狀態上,查看健康失敗的原因。也可以單擊排查指南,根據文檔說明排查健全狀態檢查失敗的原因。

健全狀態檢查通過

SXta04iSvl

表示健全狀態檢查通過,執行個體健康。

健全狀態檢查失敗常見原因

  1. 延遲時間過短。應用尚未啟完成就開始了健全狀態檢查,請調整後驗證。

  2. 健全狀態檢查配置不正確。請檢查連接埠與介面設定。

  3. 服務壓力過大。請檢查應用監控,如果是該原因,請增加執行個體數、調大執行個體規格或調小JVM堆參數設定。

  4. 應用自身啟動失敗,請嘗試取消健全狀態檢查設定,如果仍無法啟動應用,請考慮最佳化應用程式。