如何调试由于弹性负载均衡器运行状况检查不正常而偶尔重新启动任务的 ECS Fargate 服务

MGJ*_*123 5 amazon-ecs amazon-elb shinyapps aws-fargate

我在 ECS Fargate 上托管一个闪亮的应用程序。它运行得相当好,但在使用应用程序时偶尔会崩溃。我在事件选项卡中追踪到以下内容:

service YYYY has started 1 tasks: task XXX
service YYYY has stopped 1 running tasks: task XXX
service YYYY deregistered 1 targets in target-group (Name of Elastic Load Balancer)
service YYYY (port 3838) is unhealthy in target-group (Name of Elastic Load Balancer) due to (reason Request timed out).
Run Code Online (Sandbox Code Playgroud)

有谁知道可能是什么原因造成的?或者我怎样才能进一步调查这个问题?

这是否与应用程序内 CPU 利用率的峰值有关?

我发现在某些时候 CPU 利用率会飙升至 100%。那么,如果用户使用应用程序的方式导致如此高的利用率,是否会导致容器被视为不健康?

此外,当 CPU > 50% 时,会为应用程序启用自动缩放 - 但是,当 CPU 利用率飙升至 100% 时,不会激活此功能。有任何想法吗?

小智 0

应用程序是否写入任何日志?确保这些日志发送到容器的控制台,以便它们显示在 ECS 的 CloudWatch 日志中。

将以下内容添加到 Dockerfile 以使日志输出到控制台:

RUN ln -sf /proc/self/fd/1 /var/log/mylocation/mylogfil.log && \
    ln -sf /proc/self/fd/1 /var/log/mylocation/myerrorfile.log
Run Code Online (Sandbox Code Playgroud)