

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

# 檢視 Elastic Beanstalk 環境的部署日誌
<a name="environments-deployment-logs"></a>

Elastic Beanstalk 會針對您環境的每個部署產生部署日誌。部署日誌提供部署期間所發生情況的合併時間檢視，包括相依性安裝、建置輸出、應用程式啟動，以及遇到的任何錯誤。您可以使用部署日誌快速診斷失敗的部署，而無需將 SSH 關聯至執行個體或關聯多個日誌檔案。

部署日誌會在本機寫入每個執行個體。對於透過主控台、CLI、API 或受管更新觸發的部署，一個執行個體會在部署期間持續將其日誌上傳至 Amazon S3。Elastic Beanstalk 主控台會從 Amazon S3 讀取日誌，因此您可以監控進度，而無需連線到執行個體。

部署日誌的設計是簡潔的。成功時，日誌只會顯示摘要訊息 （例如，哪些命令執行並完成）。在失敗時，日誌包含來自失敗步驟的最多 50 行輸出，因此您可以看到錯誤，而無需篩選詳細輸出。

**注意**  
部署日誌可在 [2026 年 3 月 11 日當天或之後發行的 Amazon Linux](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2026-03-11-al2.html) [2 和 Amazon Linux 2023](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2026-03-11-al2023.html) 平台版本上取得。目前不支援 Windows 平台。

## 受支援的操作
<a name="environments-deployment-logs.supported-operations"></a>

部署日誌會針對下列操作產生：
+ **應用程式部署** – 將新的應用程式版本部署到您的環境。
+ **組態更新** – 變更需要執行個體更新的環境組態設定。
+ **環境建立** – 建立新環境時的初始部署。
+ **重新啟動應用程式伺服器** – 重新啟動執行個體上的應用程式伺服器。

不修改執行個體上應用程式或組態狀態的操作，例如請求日誌、交換 CNAMEs 或更新標籤，不會產生部署日誌。

## 部署日誌內容
<a name="environments-deployment-logs.contents"></a>

部署日誌會在部署期間擷取下列資訊：
+ **部署生命週期** – 每個部署階段的開始和完成訊息，例如 `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 秒開始擷取應用程式輸出。只包含初始啟動訊息 – 如果您的應用程式需要更長的時間來產生輸出，則不會出現在部署日誌中。若要查看完整的應用程式日誌，請請求套件日誌或直接連線至執行個體。如需詳細資訊，請參閱[檢視執行個體日誌](using-features.logging.md)。

當部署步驟失敗時，日誌會標記它，`[ERROR]`並包含失敗步驟中最多 50 行的輸出。如果部署日誌未包含足夠的詳細資訊，您可以從日誌****索引標籤擷取完整的執行個體日誌 （包括 `eb-hooks.log`、 `eb-engine.log`和應用程式日誌）。如需詳細資訊，請參閱[在 Elastic Beanstalk 環境中檢視 Amazon EC2 執行個體的日誌](using-features.logging.md)。

## 在主控台中檢視部署日誌
<a name="environments-deployment-logs.console"></a>

Elastic Beanstalk 主控台提供環境儀表板上的**部署**索引標籤，您可以在其中檢視部署歷史記錄和日誌。

### 檢視部署歷史記錄
<a name="environments-deployment-logs.console.history"></a>

**檢視部署歷史記錄**

1. 開啟 [Elastic Beanstalk 主控台](https://console.aws.amazon.com/elasticbeanstalk)，然後在**區域**清單中選取您的 AWS 區域。

1. 在導覽窗格中，選擇**環境**，然後在清單中選擇您環境的名稱。

1. 在環境儀表板中，選擇**部署**索引標籤。

   部署索引標籤會顯示環境的部署資料表。每一列都包含下列資訊：
   + **請求 ID** – 部署的唯一識別符。
   + **狀態** – *成功*、*失敗*或*進行中*。
   + **類型** – 部署類型，例如*環境建立*、*應用程式部署*、*組態更新*、*受管平台更新*、*重新啟動應用程式伺服器*、*重建環境*、*還原環境*、*交換環境網域*或終止*環境*。
   + **開始時間** – 部署開始時。
   + **持續時間** – 部署完成所需的時間。

部署進行中時，索引標籤會自動輪詢更新。您也可以選擇重新整理按鈕來手動重新載入清單。

### 檢視部署詳細資訊和日誌
<a name="environments-deployment-logs.console.detail"></a>

**檢視部署詳細資訊**

1. 在**部署**索引標籤上，選擇您要檢查之部署的**請求 ID** 連結。

1. 部署詳細資訊頁面會顯示摘要區段，其中包含請求 ID、狀態、部署類型、開始時間、持續時間和部署政策。部署政策 （例如*，一次全部*、*滾動*、*與其他批次一起滾動*、*不可變*或*流量分割*) 會在可以從部署事件判斷時顯示。

1. 在摘要下方，選擇下列其中一個索引標籤：
   + **事件** – 與此部署相關的事件時間軸，篩選為僅顯示所選部署的事件。
   + **部署日誌** – 來自執行個體的合併部署日誌。您可以搜尋、依日誌層級篩選，以及下載日誌檔案。

對於進行中的部署，日誌索引標籤會自動重新整理，以顯示寫入的新日誌項目。部署完成後，主控台會擷取最終日誌狀態，以確保您看到完整的輸出。

**重要**  
在主控台中檢視部署日誌需要環境 Amazon S3 儲存貯體 () 的`s3:GetObject`許可`elasticbeanstalk-region-account-id`。如果您的 IAM 政策不包含此許可，部署歷史記錄和事件仍然可用，但日誌索引標籤會顯示錯誤。

## 執行個體上的部署日誌檔案
<a name="environments-deployment-logs.instance"></a>

部署日誌會寫入每個執行個體上的 `/var/log/deployments/`目錄。日誌檔案名稱取決於如何觸發部署：
+ **工作流程控制部署 **（透過主控台、CLI 或 API 觸發） – `eb-deployment-request-id.log`，其中 *request-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 日誌上傳
<a name="environments-deployment-logs.disable"></a>

若要防止部署日誌上傳至 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。