通知與故障診斷 - AWS Elastic Beanstalk

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

通知與故障診斷

本頁列出了常見問題的原因訊息範例,以及檢閱詳細資訊的連結。原因訊息會顯示於 Elastic Beanstalk 主控台的環境概觀頁面,當運作狀態問題經過幾次檢查後仍持續存在時,在事件中就會記錄原因訊息。

部署

在部署之後,Elastic Beanstalk 會監控您的環境以確保一致性。如果滾動部署失敗,則在您環境中的執行個體上所執行的應用程式,其版本可能會有不同。如果一個或多個批次的部署成功,但是在所有批次的部署完成之前失敗了,就可能會發生此種狀況。

在 5 個執行個體上有 2 個的應用程式版本不正確。預期的版本「v1」(部署 1)。

環境執行個體上的應用程式版本不正確。預期的版本「v1」(部署 1)。

預期的應用程式版本,並未在環境中的部分或全部執行個體上執行。

不正確的應用程式版本「v2」(部署 2)。預期的版本「v1」(部署 1)。

已部署到執行個體上的應用程式和預期的版本不同。如果部署失敗,則預期的版本會重設為最近成功部署的版本。在上述的範例中,第一個部署 (「v1」) 成功,但第二個部署 (「v2」) 失敗了。任何執行個體中的「v2」都會被視為運作狀態不佳。

若要解決此問題,請開始進行另一項部署作業。您可以重新部署已知運作正常的先前版本,或是設定您的環境在部署進行時略過運作狀態檢查,然後重新部署新的版本,以強制完成部署作業。

您也可以找出和終止執行應用程式錯誤版本的執行個體。Elastic Beanstalk 將會啟動執行正確版本的執行個體,來取代您所終止的任何執行個體。利用 EB CLI 運作狀態指令,來找出執行應用程式錯誤版本的執行個體。

應用程式伺服器

有 15% 的請求發生 HTTP 4xx 錯誤

傳送給 ELB 的請求,有 20% 發生 HTTP 4xx 錯誤。

傳送到執行個體或環境的 HTTP 請求,有極高的百分比因為發生了 4xx 錯誤而失敗。

400 系列的狀態碼表示使用者發出了不良的請求,例如請求不存在的頁面 (404 找不到檔案),或使用者不具存取權限 (403 禁止存取)。少量的 404 錯誤是常見的,但是大量的 404 錯誤,則可能代表有內部或外部的連結連到了無法使用的頁面。修正無效的內部連結,並針對無效的外部連結新增重新導向功能,即可解決這些問題。

有 5% 的請求因為發生 HTTP 5xx 錯誤而失敗

傳送給 ELB 的請求,有 3% 因為發生 HTTP 5xx 錯誤而失敗。

傳送到執行個體或環境的 HTTP 請求,有極高的百分比因為發生了 500 系列狀態代碼的錯誤而失敗。

500 系列狀態碼表示應用程式伺服器發生了內部錯誤。這些問題代表您應用程式的程式碼中存在錯誤,應該盡快找出和修正這些錯誤。

CPU 的使用率為

在執行個體上,運作狀態代理程式報告了極高百分比的 CPU 使用率,並且將執行個體的運作狀態設為警告降級

請擴展您的環境,來減少執行個體的負載。

工作者執行個體

在佇列中有 20 筆訊息待處理 (25 秒前)

請求新增到您工作者環境佇列中的速度,比處理請求的速度還快。請擴展您的環境,以提高處理能力。

在無效字母佇列中有 5 筆訊息 (15 秒前)

工作者的請求正重複失敗,並且新增到 無效信件佇列 中。查看無效字母佇列中的請求,來了解其失敗原因。

其他資源

4 個作用中的執行個體低於 Auto Scaling 群組的大小最低限制 5

您環境中所執行的執行個體數量,少於針對 Auto Scaling 群組所設定的最低數量限制。

Auto Scaling 群組 (groupname) 通知已刪除或修改

針對您的 Auto Scaling 群組所設定的通知,已經在 Elastic Beanstalk 外部修改。