ResourceInitializationError:无法验证记录器参数::信号:已杀死
Posted
技术标签:
【中文标题】ResourceInitializationError:无法验证记录器参数::信号:已杀死【英文标题】:ResourceInitializationError: failed to validate logger args: : signal: killed 【发布时间】:2021-01-20 09:28:13 【问题描述】:在启动 AWS ECS Fargate 服务时突然收到消息“ResourceInitializationError: failed to validate logger args: : signal:killed”。几天前,同样的服务运行良好。
以下是相关 aws 任务中的日志驱动配置:
日志配置日志驱动程序:awslogs键值awslogs-group /ecs/analyticsawslogs-region us-east-1awslogs-stream-prefix ecs
有什么想法或帮助吗?
【问题讨论】:
这个问题不适合 *** - 它不是一个与编程相关的问题。您可以尝试在服务器故障 (serverfault.com) 上询问 您找到解决方案了吗?我有完全相同的问题,但没有找到任何解决方案。似乎只有这篇文章提到了这个问题。 【参考方案1】:我终于找到了根本原因:
如果 Fargate 服务无法连接到 CloudWatch api 端点,则会出现该错误。 如果您在无法访问 Internet 的私有子网中运行 Fargate,则可能会发生这种情况。 您可以将 CloudWatch 日志端点添加到您的私有子网或添加 Internet 连接
【讨论】:
对于使用端点方式的人来说,使用的端点服务是com.amazonaws.eu-west-1.logs
。完整的端点列表:docs.aws.amazon.com/general/latest/gr/…
我想评论一下,我只能通过 删除 一个现有的日志端点(在我的情况下是来自我的 vpc 的 com.amazonaws.use-ease-1.logs
服务)来克服这个错误。在那之后错误消失了。
我最近将 CloudWatch 日志的 VPC 端点添加到我的设置中,这现在可以防止我现有的 ECS 集群在可以访问 Internet 时发布到 cloudwatch 日志。
@Luke 当您将私有终端节点添加到您的 VPC 时,它将覆盖该服务的 DNS 条目。您需要确保所有 ECS 实例都可以访问私有端点
感谢@davidgiga1993,我已经添加了一个适用于这个问题的答案【参考方案2】:
我最近在同样的问题上花了几个小时。原来我的容器定义中指定的日志组和流前缀不存在。
如果 AWS 可以提供有用的错误消息,那就太好了……
【讨论】:
谢谢@Drakee510!除此之外,我还必须将“CloudWatchLogsFullAccess”策略添加到执行角色。也许有更好的方法,但我还没有找到。【参考方案3】:我刚刚经历过。我正在运行 ECS Fargate,并且刚刚在我的帐户中为 Cloudwatch Logs com.amazonaws.REGION.logs
添加了一个 VPC 端点。当我添加 VPC 端点时,我的日志不再出现。
为了在不再次删除 VPC 终端节点的情况下解决此问题,对于我在使用 Internet 访问的情况下运行 Fargate 的设置,我必须确保:
我的 ECS 服务有一个允许 HTTPS 流量出站的安全组规则
type: egress
port_to: 443
port_from: 443
protocol: TCP
我的新 VPC 端点有一个安全组规则,允许 HTTPS 流量从我的 ECS 安全组入站
type: ingress
port_to: 443
port_from: 443
protocol: TCP
source_security_group_id: [Your ECS SECURITY GROUP ID]
【讨论】:
以上是关于ResourceInitializationError:无法验证记录器参数::信号:已杀死的主要内容,如果未能解决你的问题,请参考以下文章