【问题标题】:How to see why a long-running AWS Step Function failed如何查看长时间运行的 AWS Step Function 失败的原因
【发布时间】:2020-01-08 17:47:39
【问题描述】:

我有一个 AWS Step Function,其中包含许多可以运行半小时或更长时间的状态转换。

只有几个状态,应用程序循环通过它们,直到用完要处理的项目。

我有一次跑步在大约半小时后失败了。我可以查看“执行事件历史记录”下的日志记录。但是,由于这会记录每个转换和状态,因此有数千个事件。如果不挂起浏览器窗口,我无法向下翻页以显示足够多的事件(单击“加载更多”按钮)。

我无法对这个列表进行排序或过滤。

如何找到失败的原因?有没有办法在某处导出执行事件历史记录?还是将其发送到 CloudWatch?

【问题讨论】:

    标签: amazon-web-services aws-step-functions


    【解决方案1】:

    您可以使用带有 --reverse-order 标志的 AWS CLI 命令 aws stepfunctions get-execution-history,以便首先从最近的(错误所在的位置)获取日志。

    【讨论】:

      【解决方案2】:

      您如何处理您的步骤? ECS 或 Fargate 上的 Docker 容器?给我们一些细节。

      您的任务应该在执行时将日志发送到 CloudWatch。 如果您在可以通过 SSH 连接的机器上运行 docker,您还可以查看物理机器上的 Docker 日志。

      【讨论】:

      • 每个步骤都非常简单:要么查看 DynamoDB 表中是否有更多条目,要么触发一个或多个 Lambda 执行。 Lambda 自己记录到 CloudWatch,但我在他们的日志中没有发现任何错误。我的问题是我什至看不到失败发生在哪里。运行被列为“失败”,但我找不到任何输出,因为我无法访问执行事件历史记录的尾部。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-05
      • 2018-12-03
      • 1970-01-01
      • 2021-05-02
      • 1970-01-01
      • 2017-08-03
      • 1970-01-01
      相关资源
      最近更新 更多