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

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

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

如果您不確定如何收集您容器執行個體中的所有各種日誌,您可以使用 Amazon ECS 日誌收集器。它可以在 GitHub Linux視窗上使用。此指令碼會收集一般作業系統日誌以及 Docker 和 Amazon ECS 容器代理程式日誌,這對於疑難排解 AWS Support 案例很有幫助。然後,它會將所收集的資訊壓縮並封存為單一檔案,輕鬆共用於診斷目的。也支援為 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 日誌收集器的原始程式碼可在 Linux視窗上 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

在您執行指令碼之後,您可以在指令碼建立的 collect 資料夾中檢查收集到的日誌。該collect.tgz文件是所有日誌的壓縮歸檔,您可以與其共享以 AWS Support 獲取診斷幫助。

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

  2. 使用下載 Amazon ECS 日誌收集器 PowerShell腳本。

    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

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