Amazon ECS 日志收集器 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon ECS 日志收集器

如果您不确定如何收集容器实例上的所有日志,您可以使用 Amazon ECS 日志收集器。它在 LinuxWindows 上 GitHub 都可用。该脚本收集一般操作系统日志以及 Docker 和 Amazon ECS 容器代理日志,这对于故障排除 Amazon Web Services Support 案例很有帮助。然后,它会压缩和存档收集到的信息到单个文件中,该文件可以轻松共享以用于诊断目的。它还支持在 Amazon Linux 变体(例如经 Amazon ECS 优化的 AMI)上为 Docker 进程守护程序和 Amazon ECS 容器代理启用调试模式。目前,Amazon ECS 日志收集器支持以下操作系统:

  • Amazon Linux

  • Red Hat Enterprise Linux 7

  • Debian 8

  • Ubuntu 14.04

  • Ubuntu 16.04

  • Ubuntu 18.04

  • Windows Server 2016

注意

亚马逊 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 守护程序,该守护程序会杀死该实例上运行的所有容器。启用调试模式前,应考虑耗尽容器实例并将所有重要任务迁移到其他容器实例。有关更多信息,请参阅 容器实例耗尽

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

运行脚本后,您可以在脚本创建的 collect 文件夹中检查收集的日志。该collect.tgz文件是所有日志的压缩存档,您可以与之共享 Amazon Web Services Support 以获得诊断帮助。

下载并运行适用于 Windows 的 Amazon ECS 日志收集器
  1. 连接到您的容器实例。有关更多信息,请参阅适用于 Windows 实例的 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 进程守护程序,从而终止正在该实例上运行的所有容器。启用调试模式前,应考虑耗尽容器实例并将所有重要任务迁移到其他容器实例。有关更多信息,请参阅 容器实例耗尽

    .\ecs-logs-collector.ps1

运行脚本后,您可以在脚本创建的 collect 文件夹中检查收集的日志。该collect.tgz文件是所有日志的压缩存档,您可以与 Amazon Support 共享该文件以获得诊断帮助。