使用 Amazon ECS 日誌收集器收集容器日誌 - Amazon Elastic Container Service

使用 Amazon ECS 日誌收集器收集容器日誌

注意

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

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

  • Amazon Linux

  • Red Hat Enterprise Linux 7

  • Debian 8

  • Ubuntu 14.04

  • Ubuntu 16.04

  • Ubuntu 18.04

  • Windows Server 2016

注意

Amazon ECS 日誌收集器的原始程式碼可在 GitHub 取得,同時提供 LinuxWindows 版本。我們鼓勵您為想要進行的變更提交提取請求。然而,Amazon Web Services 目前不支援執行此軟體經修改的複本。

下載並執行 Linux 版的 Amazon ECS 日誌收集器
  1. 連線到您的容器執行個體。

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

    curl -O https://raw.githubusercontent.com/awslabs/ecs-logs-collector/master/ecs-logs-collector.sh
  3. 執行指令碼以收集日誌並建立封存。

    注意

    若要為 Docker 常駐程式與 Amazon ECS 容器代理程式啟用偵錯模式,請在以下命令中新增 --mode=enable-debug 選項。這會重新啟動 Docker 常駐程式,終止在執行個體上執行的所有容器。請考慮耗盡容器執行個體,並將任何重要的任務先移到其他容器執行個體,再啟用除錯模式。如需更多詳細資訊,請參閱 排空 Amazon ECS 容器執行個體

    [ec2-user ~]$ sudo bash ./ecs-logs-collector.sh
重要

建議編輯日誌,從檔案中移除所有敏感資料。您可以搜尋已知資料,也可以在檔案中搜尋環境變數,例如 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN

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

下載並執行 Windows 版的 Amazon ECS 日誌收集器
  1. 連線到您的容器執行個體。如需詳細資訊,請參閱 the Amazon EC2 User Guide 中的 Connect to your Windows instance using RDP

  2. 使用 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
  3. 執行指令碼以收集日誌並建立封存。

    注意

    若要為 Docker 常駐程式與 Amazon ECS 容器代理程式啟用偵錯模式,請在以下命令中新增 -RunMode debug 選項。這會重新啟動 Docker 常駐程式,它會終止在執行個體上執行的所有容器。請考慮耗盡容器執行個體,並將任何重要的任務先移到其他容器執行個體,再啟用除錯模式。如需更多詳細資訊,請參閱 排空 Amazon ECS 容器執行個體

    .\ecs-logs-collector.ps1
重要

建議編輯日誌,從檔案中移除所有敏感資料。您可以搜尋已知資料,也可以在檔案中搜尋環境變數,例如 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN

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