本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
檢視 Elastic Beanstalk 環境的部署日誌
Elastic Beanstalk 會針對您環境的每個部署產生部署日誌。部署日誌提供部署期間所發生情況的合併時間檢視,包括相依性安裝、建置輸出、應用程式啟動,以及遇到的任何錯誤。您可以使用部署日誌快速診斷失敗的部署,而無需將 SSH 關聯至執行個體或關聯多個日誌檔案。
部署日誌會在本機寫入每個執行個體。對於透過主控台、CLI、API 或受管更新觸發的部署,一個執行個體會在部署期間持續將其日誌上傳至 Amazon S3。Elastic Beanstalk 主控台會從 Amazon S3 讀取日誌,因此您可以監控進度,而無需連線到執行個體。
部署日誌的設計是簡潔的。成功時,日誌只會顯示摘要訊息 (例如,哪些命令執行並完成)。在失敗時,日誌包含來自失敗步驟的最多 50 行輸出,因此您可以看到錯誤,而無需篩選詳細輸出。
注意
部署日誌可在 2026 年 3 月 11 日當天或之後發行的 Amazon Linux 2 和 Amazon Linux 2023 平台版本上取得。目前不支援 Windows 平台。
受支援的操作
部署日誌會針對下列操作產生:
應用程式部署 – 將新的應用程式版本部署到您的環境。
組態更新 – 變更需要執行個體更新的環境組態設定。
環境建立 – 建立新環境時的初始部署。
重新啟動應用程式伺服器 – 重新啟動執行個體上的應用程式伺服器。
不修改執行個體上應用程式或組態狀態的操作,例如請求日誌、交換 CNAMEs 或更新標籤,不會產生部署日誌。
部署日誌內容
部署日誌會在部署期間擷取下列資訊:
-
部署生命週期 – 每個部署階段的開始和完成訊息,例如
Starting Application deployment和Completed Application deployment。 -
.ebextensions 輸出 – 成功時,執行的命令名稱。失敗時,最後 50 行
cfn-init輸出以協助診斷問題。 -
平台掛鉤輸出 – 成功時,執行的掛鉤指令碼名稱。失敗時,最後 50 行勾點輸出。
-
相依性安裝 – 從套件管理員輸出pip install,例如 npm install、composer install、 和 bundle install。成功時,只會記錄完成訊息。失敗時,包含最後 50 行輸出。
-
組建輸出 – 來自組建命令的輸出docker build,例如 go build、 和 Java 組建。失敗時,包含最後 50 行輸出。
-
應用程式啟動輸出 – 應用程式啟動後的初始輸出。來源取決於您的平台:
Docker – 來自 docker logs或 的容器日誌 docker compose logs
Java SE、Go、Node.js、Python、Ruby、.NET – 程序 stdout 日誌
Tomcat – Catalina 日誌輸出
PHP – PHP-FPM 主要和集區錯誤日誌
ECS – 來自每個任務容器的容器日誌
注意
從應用程式啟動後 2 秒開始擷取應用程式輸出。只包含初始啟動訊息 – 如果您的應用程式需要更長的時間來產生輸出,則不會出現在部署日誌中。若要查看完整的應用程式日誌,請請求套件日誌或直接連線至執行個體。如需詳細資訊,請參閱檢視執行個體日誌。
當部署步驟失敗時,日誌會標記它,[ERROR]並包含失敗步驟中最多 50 行的輸出。如果部署日誌未包含足夠的詳細資訊,您可以從日誌索引標籤擷取完整的執行個體日誌 (包括 eb-hooks.log、 eb-engine.log和應用程式日誌)。如需詳細資訊,請參閱在 Elastic Beanstalk 環境中檢視 Amazon EC2 執行個體的日誌。
在主控台中檢視部署日誌
Elastic Beanstalk 主控台提供環境儀表板上的部署索引標籤,您可以在其中檢視部署歷史記錄和日誌。
檢視部署歷史記錄
檢視部署歷史記錄
開啟 Elastic Beanstalk 主控台
,然後在區域清單中選取您的 AWS 區域。 -
在導覽窗格中,選擇環境,然後在清單中選擇您環境的名稱。
-
在環境儀表板中,選擇部署索引標籤。
部署索引標籤會顯示環境的部署資料表。每一列都包含下列資訊:
請求 ID – 部署的唯一識別符。
狀態 – 成功、失敗或進行中。
類型 – 部署類型,例如環境建立、應用程式部署、組態更新、受管平台更新、重新啟動應用程式伺服器、重建環境、還原環境、交換環境網域或終止環境。
開始時間 – 部署開始時。
持續時間 – 部署完成所需的時間。
部署進行中時,索引標籤會自動輪詢更新。您也可以選擇重新整理按鈕來手動重新載入清單。
檢視部署詳細資訊和日誌
檢視部署詳細資訊
-
在部署索引標籤上,選擇您要檢查之部署的請求 ID 連結。
-
部署詳細資訊頁面會顯示摘要區段,其中包含請求 ID、狀態、部署類型、開始時間、持續時間和部署政策。部署政策 (例如,一次全部、滾動、與其他批次一起滾動、不可變或流量分割) 會在可以從部署事件判斷時顯示。
-
在摘要下方,選擇下列其中一個索引標籤:
-
事件 – 與此部署相關的事件時間軸,篩選為僅顯示所選部署的事件。
-
部署日誌 – 來自執行個體的合併部署日誌。您可以搜尋、依日誌層級篩選,以及下載日誌檔案。
-
對於進行中的部署,日誌索引標籤會自動重新整理,以顯示寫入的新日誌項目。部署完成後,主控台會擷取最終日誌狀態,以確保您看到完整的輸出。
重要
在主控台中檢視部署日誌需要環境 Amazon S3 儲存貯體 () 的s3:GetObject許可elasticbeanstalk-。如果您的 IAM 政策不包含此許可,部署歷史記錄和事件仍然可用,但日誌索引標籤會顯示錯誤。region-account-id
執行個體上的部署日誌檔案
部署日誌會寫入每個執行個體上的 /var/log/deployments/目錄。日誌檔案名稱取決於如何觸發部署:
-
工作流程控制部署 (透過主控台、CLI 或 API 觸發) –
eb-deployment-,其中request-id.logrequest-id是唯一的部署請求 ID。 -
自我啟動部署 (執行個體啟動或重新啟動應用程式伺服器) –
eb-deployment-。unix-timestamp.log
Elastic Beanstalk 會自動輪換這些檔案,在每個執行個體上保留 50 個最新的部署日誌。
對於工作流程控制的部署,日誌會在下列路徑上傳到 Amazon S3:
s3://elasticbeanstalk-region-account-id/resources/environments/logs/deployments/environment-id/log-filename
在多執行個體環境中,第一個開始上傳的執行個體宣告整個部署的角色。該執行個體會在部署期間將其日誌上傳至 Amazon S3。所有執行個體仍會在本機寫入部署日誌。
重要
將部署日誌上傳至 Amazon S3 需要執行個體設定檔中環境 Amazon S3 儲存貯體的s3:PutObject許可,而且 VPC 組態必須允許連線至 Amazon S3。
部署日誌上傳上限為每個檔案 1 MB。如果部署日誌超過此大小,則會截斷上傳的版本,並顯示訊息指出執行個體上有完整的日誌可用。
停用 S3 日誌上傳
若要防止部署日誌上傳至 Amazon S3,請在您的環境中設定下列環境屬性:
option_settings:
- namespace: aws:elasticbeanstalk:application:environment
option_name: EB_DEPLOYMENT_LOG_S3_DISABLED
value: true
設定此環境屬性時,部署日誌仍會在本機寫入每個執行個體/var/log/deployments/上的 ,但不會上傳至 Amazon S3,而且無法在主控台部署索引標籤中使用。您也可以在軟體下的組態頁面或使用 EB CLI 或 來設定此屬性 AWS CLI。