

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

# 使用 Amazon ECS 日誌收集器收集容器日誌
<a name="ecs-logs-collector"></a>

**注意**  
您無法在 Amazon ECS 受管執行個體上使用 Amazon ECS 日誌收集器。

如果您不確定如何收集您容器執行個體中的所有各種日誌，您可以使用 Amazon ECS 日誌收集器。此工具的 [Linux](https://github.com/awslabs/ecs-logs-collector) 和 [Windows](https://github.com/awslabs/aws-ecs-logs-collector-for-windows) 版本都可在 GitHub 上取得。指令碼會收集一般作業系統日誌以及 Docker 和 Amazon ECS 容器代理程式日誌，這有助於對 AWS 支援 案例進行故障診斷。然後，它會將所收集的資訊壓縮並封存為單一檔案，輕鬆共用於診斷目的。也支援為 Docker 常駐程式和 Amazon Linux 變體上的 Amazon ECS 容器代理程式 (例如 Amazon ECS 最佳化 AMI) 啟用除錯模式。

**注意**  
在 Amazon Linux Amazon ECS 最佳化 AMIs版本 20250909 和更新版本上，Amazon ECS 日誌收集器會預先安裝在 `/opt/amazon/ecs/ecs-logs-collector.sh`並隨時可用，無需從 GitHub 下載。如需詳細資訊，請參閱 [ECS 最佳化 AMI 文件中的 ECS Logs Collector](https://github.com/aws/amazon-ecs-ami?tab=readme-ov-file#ecs-logs-collector)。

目前，Amazon ECS 日誌收集器支援下列作業系統：
+ Amazon Linux
+ Red Hat Enterprise Linux
+ Ubuntu
+ Windows Server

**執行 Linux 的 Amazon ECS 日誌收集器 (ECS 最佳化 AMI)**

1. 連線到您的容器執行個體。

1. 執行指令碼以收集日誌並建立封存。
**注意**  
若要為 Docker 常駐程式與 Amazon ECS 容器代理程式啟用偵錯模式，請在以下命令中新增 `--mode=enable-debug` 選項。這會重新啟動 Docker 常駐程式，終止在執行個體上執行的所有容器。請考慮耗盡容器執行個體，並將任何重要的任務先移到其他容器執行個體，再啟用除錯模式。如需詳細資訊，請參閱[排空 Amazon ECS 容器執行個體](container-instance-draining.md)。

   ```
   [ec2-user ~]$ sudo /opt/amazon/ecs/ecs-logs-collector.sh
   ```

在您執行指令碼之後，您可以在指令碼建立的 `collect` 資料夾中檢查收集到的日誌。`collect.tgz` 檔案是所有日誌的壓縮封存檔，您可以與 共用以 AWS 支援 尋求診斷協助。

**下載並執行 Linux 版的 Amazon ECS 日誌收集器**

1. 連線到您的容器執行個體。

1. 下載 Amazon ECS 日誌收集器指令碼。

   ```
   curl -O https://raw.githubusercontent.com/awslabs/ecs-logs-collector/master/ecs-logs-collector.sh
   ```

1. 執行指令碼以收集日誌並建立封存。

   ```
   $ sudo bash ./ecs-logs-collector.sh
   ```

**下載並執行 Windows 版的 Amazon ECS 日誌收集器**

1. 連線到您的容器執行個體。如需詳細資訊，請參閱 the *Amazon EC2 User Guide* 中的 [Connect to your Windows instance using RDP](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connecting_to_windows_instance.html)。

1. 使用 PowerShell 下載 Amazon ECS 日誌收集器指令碼。

   ```
   Invoke-WebRequest -OutFile ecs-logs-collector.ps1 https://raw.githubusercontent.com/awslabs/aws-ecs-logs-collector-for-windows/master/ecs-logs-collector.ps1
   ```

1. 執行指令碼以收集日誌並建立封存。
**注意**  
若要為 Docker 常駐程式與 Amazon ECS 容器代理程式啟用偵錯模式，請在以下命令中新增 `-RunMode debug` 選項。這會重新啟動 Docker 常駐程式，它會終止在執行個體上執行的所有容器。請考慮耗盡容器執行個體，並將任何重要的任務先移到其他容器執行個體，再啟用除錯模式。如需詳細資訊，請參閱[排空 Amazon ECS 容器執行個體](container-instance-draining.md)。

   ```
   .\ecs-logs-collector.ps1
   ```

在您執行指令碼之後，您可以在指令碼建立的 `collect` 資料夾中檢查收集到的日誌。`collect.tgz` 檔案是所有日誌的壓縮封存，您可以與 AWS Support 共用，以取得診斷協助。