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

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

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

如果您不確定如何收集容器執行個體上的所有各種日誌,您可以使用 Amazon ECS 日誌收集器。它適用於 LinuxWindows 的 on GitHub 。指令碼會收集一般作業系統日誌,以及 Docker 和 Amazon ECS 容器代理程式日誌,這有助於對 AWS Support 案例進行疑難排解。然後,它會將所收集的資訊壓縮並封存為單一檔案,輕鬆共用於診斷目的。它還支援在 Amazon Linux 變體上啟用 Docker 常駐程式和 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 日誌收集器的原始碼可在 LinuxWindows 的 on GitHub 上使用。我們鼓勵您為想要進行的變更提交提取請求。然而,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_SESSION_TOKEN檔案中搜尋環境變數,例如 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 和 。

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

下載並執行 Windows 的 Amazon ECS 日誌收集器
  1. 連線到您的容器執行個體。如需詳細資訊,請參閱 Amazon EC2 RDP 使用者指南中的使用 Word 連線至 Windows 執行個體

  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_SESSION_TOKEN檔案中搜尋環境變數,例如 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 和 。

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