全部產品
Search
文件中心

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

更新時間:Sep 03, 2024

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

背景資訊

健全狀態檢查原理

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

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

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

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

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

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

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

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

成功和失敗說明

  • 成功:健全狀態檢查成功一次即認為檢查通過。

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

健全狀態檢查參數

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

  • 延遲時間

    健全狀態檢查延遲檢測時間。單位為秒,預設為10。例如設定為5,表示從執行個體啟動5秒後開始檢測。假設應用啟動時間長度為60,建議將延遲時間設定為70。

  • 逾時時間

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

  • 檢查周期

    健全狀態檢查周期。單位為秒,預設為30。例如設定為5,表示每隔5秒檢查一次。

操作步驟

在建立應用過程中配置健全狀態檢查

  1. 登入SAE控制台

  2. 在左側導覽列,單擊應用列表,在頂部功能表列選擇地區,然後單擊建立應用

  3. 應用基本資料設定精靈,設定應用相關資訊,並單擊下一步:應用部署配置

  4. 應用部署配置設定精靈,選擇技術棧語言應用部署方式,設定部署資訊。

  5. 展開應用健全狀態檢查設定地區,選擇檢查方式,並設定相關資訊。

    說明
    • 應用執行個體存活檢查和應用業務就緒檢查的參數相同。

    • 在健全狀態檢查設定中,應用執行個體存活檢查(Liveness配置)應用業務就緒檢查(Readiness配置)二者都配置(推薦),也可二者選配其一。如果二者都配置,SAE會根據配置的檢查延遲時間依次執行健全狀態檢查。

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

      配置項

      說明

      路徑

      訪問HTTP Server的路徑。

      連接埠

      訪問HTTP Server的連接埠。

      進階設定

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

      協議

      選擇HTTPHTTPS

      延遲時間(秒)

      設定健全狀態檢查延遲檢測時間。單位為秒,預設為10。

      逾時時間(秒)

      設定健全狀態檢查逾時等待時間。單位為秒。預設為1。

      檢查周期(秒)

      設定健全狀態檢查周期。單位為秒,預設為30。

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

      配置項

      說明

      TCP連接埠

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

      延遲時間(秒)

      設定健全狀態檢查延遲檢測時間。單位為秒,預設為10。

      逾時時間(秒)

      設定健全狀態檢查逾時等待時間。單位為秒,預設為1。

      檢查周期(秒)

      設定健全狀態檢查周期。單位為秒,預設為30。

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

      配置項

      說明

      延遲時間(秒)

      設定健全狀態檢查延遲檢測時間。單位為秒,預設為10。

      逾時時間(秒)

      設定健全狀態檢查逾時等待時間。單位為秒,預設為1。

      檢查周期(秒)

      設定健全狀態檢查周期。單位為秒,預設為30。

      執行命令

      設定應用執行個體或者進程內部執行的健全狀態檢查命令。如果該命令返回碼為0,則表示應用健康。

      執行命令的具體格式,請參見右側的樣本地區或下文中的樣本。健全狀態檢查相關命令,請參見Kubernetes官網Configure Probes

      說明

      設定執行命令時,首行填寫命令,次行之後再填寫參數。多條參數時以換行分隔,請避免出現空行情況。

  6. 單擊下一步:確認規格

  7. 確認規格設定精靈,查看您所建立應用的詳細資料以及配置費用情況,並單擊確認建立

    頁面會跳轉至建立完成設定精靈,您可以單擊應用詳情頁進入基本資料頁面。

在部署應用過程中配置健全狀態檢查

警告

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

更新應用配置的路徑因執行個體數的不同而不同。本文以執行個體數大於等於1為例,介紹如何配置目標功能。當執行個體數等於0時的操作路徑,請參見更新應用

  1. 登入SAE控制台

  2. 在左側導覽列,單擊應用列表,在頂部功能表列選擇地區,然後單擊具體應用程式名稱。

  3. 基本資料頁面右上方,單擊部署應用

  4. 展開應用健全狀態檢查設定地區,選擇檢查方式,並設定相關資訊。

    說明
    • 應用執行個體存活檢查和應用業務就緒檢查的參數相同。

    • 在健全狀態檢查設定中,應用執行個體存活檢查(Liveness配置)應用業務就緒檢查(Readiness配置)二者都配置(推薦),也可二者選配其一。如果二者都配置,SAE會根據配置的檢查延遲時間依次執行健全狀態檢查。

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

      配置項

      說明

      路徑

      訪問HTTP Server的路徑。

      連接埠

      訪問HTTP Server的連接埠。

      進階設定

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

      協議

      選擇HTTPHTTPS

      延遲時間(秒)

      設定健全狀態檢查延遲檢測時間。單位為秒,預設為10。

      逾時時間(秒)

      設定健全狀態檢查逾時等待時間。單位為秒。預設為1。

      檢查周期(秒)

      設定健全狀態檢查周期。單位為秒,預設為30。

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

      配置項

      說明

      TCP連接埠

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

      延遲時間(秒)

      設定健全狀態檢查延遲檢測時間。單位為秒,預設為10。

      逾時時間(秒)

      設定健全狀態檢查逾時等待時間。單位為秒,預設為1。

      檢查周期(秒)

      設定健全狀態檢查周期。單位為秒,預設為30。

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

      配置項

      說明

      延遲時間(秒)

      設定健全狀態檢查延遲檢測時間。單位為秒,預設為10。

      逾時時間(秒)

      設定健全狀態檢查逾時等待時間。單位為秒,預設為1。

      檢查周期(秒)

      設定健全狀態檢查周期。單位為秒,預設為30。

      執行命令

      設定應用執行個體或者進程內部執行的健全狀態檢查命令。如果該命令返回碼為0,則表示應用健康。

      執行命令的具體格式,請參見右側的樣本地區或下文中的樣本。健全狀態檢查相關命令,請參見Kubernetes官網Configure Probes

      說明

      設定執行命令時,首行填寫命令,次行之後再填寫參數。多條參數時以換行分隔,請避免出現空行情況。

  5. 配置完成後,單擊確認

驗證結果

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

運行狀態

說明

  • Liveness健全狀態檢查未配置liveness_not_configured

  • Readiness健全狀態檢查未配置readiness_not_configured

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

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

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

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

健全狀態檢查中

表示執行個體正在或等待進行健全狀態檢查。

說明

應用啟動後,需要等待健全狀態檢查所設定的延遲時間,才會開始健全狀態檢查。

  • Liveness健全狀態檢查失敗liveness_failed

  • Readiness健全狀態檢查失敗readiness_failed

  • Liveness與Readiness健全狀態檢查失敗健全狀態檢查失敗

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

說明

如果您需要查看檢查失敗原因,您可以單擊失敗,跳轉至應用事件頁面,查看健全狀態檢查的詳細資料。

健全狀態檢查通過

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