如何调试失败的Fargate任务初始化

时间:2019-01-10 14:54:39

标签: amazon-web-services amazon-cloudwatch amazon-ecs aws-fargate

我有一个计划要与CloudWatch Event规则一起运行的Fargate任务,并在成功运行时将时间戳输出到数据库。每次运行时,它还会将日志文件输出到CloudWatch。

但是,有1次未创建日志文件,并且数据库未更新。我怀疑任务从未启动,或者启动失败。

在CloudWatch中,事件规则在我希望任务运行时显示触发和调用,因此我认为任务至少是尝试启动。

我的问题是:有什么方法可以调试或记录有关群集无法启动任务的信息?

如果需要提供更多信息,请告诉我。

编辑:我应该指定我正在寻找一种在某处的日志文件中读取此信息的方法。我知道我可以在Web控制台中看到失败的任务原因,但这仅适用于相对较新的任务。

我在此处发布了相同的问题:https://www.reddit.com/r/aws/comments/adtqvt/debugging_failed_fargate_task_initialization/和StackOverflow:https://forums.aws.amazon.com/thread.jspa?messageID=884638&#884638

3 个答案:

答案 0 :(得分:2)

尝试转到“ CloudWatch->日志->见解”,然后单击“运行查询”:

enter image description here

答案 1 :(得分:1)

  1. 转到群集并选择Tasks标签
  2. 在下部窗格中,将Stopped的值选择为Desired Task Status
  3. 找到所需的Task并单击它的GUID
  4. 向下滚动到Containers部分,然后展开遇到错误的相关容器

您将看到错误的某种状态原因。就我而言,是:

CannotStartContainerError: API error (500): failed to initialize logging driver: Cannot determine region for awslogs driver

编辑:我真的不能称赞这个问题-在这里找到它

https://github.com/aws/amazon-ecs-agent/issues/1654#issuecomment-437178282

答案 2 :(得分:0)

我只是遇到了这个问题,缺少日志确实使它很难解决。

我的问题是用于该任务的安全组已被删除。希望这对任何有类似问题的人都有帮助。