You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AWS CloudFormation部署Docker容器失败,如何获取CloudFormation日志?

排查CoreOS Fleet中Open-OCR服务失败及获取CloudFormation日志的方法

先别急着找CloudFormation日志,咱们可以先从Fleet服务本身的日志入手,先定位服务启动失败的具体原因,再去查CloudFormation的部署日志:

第一步:查看单个Fleet服务的启动日志

针对每个失败的服务,你可以用fleetctl直接查看它的运行日志,这是最快定位服务层面问题的方式:

  • 执行命令:fleetctl journal <失败的服务名>,比如查看rabbitmq的日志:
    fleetctl journal rabbitmq.service
    
    这个命令会输出该服务从启动到失败的所有日志,通常能找到启动失败的直接原因(比如配置错误、依赖缺失、端口占用等)。
  • 也可以用fleetctl status <服务名>查看服务的状态详情,比如:
    fleetctl status rabbitmq.service
    
    它会显示服务的当前状态、最近的启动尝试、依赖关系等信息。

第二步:获取CloudFormation相关日志

如果你的集群是通过CloudFormation部署的,日志主要有两个获取途径:

1. 实例本地的Cloud初始化日志

CoreOS实例在通过CloudFormation启动时,会执行初始化脚本,相关日志保存在实例本地:

  • 查看cloud-init日志:
    cat /var/log/cloud-init.log
    
  • 查看cloud-init的输出日志(包含脚本执行的具体输出):
    cat /var/log/cloud-init-output.log
    
    这些日志会记录CloudFormation在实例上配置的参数、执行的脚本是否成功,比如是否正确安装了依赖、是否设置了正确的环境变量等。

2. AWS CloudWatch日志(如果配置了的话)

通常用CloudFormation部署CoreOS集群时,会将实例的系统日志和服务日志推送到CloudWatch:

  • 登录AWS控制台,进入CloudWatch服务;
  • 在左侧菜单选择日志组,找到和你的CloudFormation栈名称相关的日志组(比如包含栈名前缀的日志组);
  • 日志组里会按实例或服务分类保存日志,你可以在这里找到集群部署过程中所有的日志信息,包括Fleet服务的部署日志。

额外排查建议

除了日志,你还可以检查这些点:

  • 核对每个服务的unit文件是否符合open-ocr的要求,比如rabbitmq的端口配置、worker服务的rabbitmq连接地址是否正确;
  • 检查CoreOS实例的资源使用情况(CPU、内存、磁盘),是否因为资源不足导致服务启动失败;
  • 确认实例之间的网络连通性,比如worker实例是否能访问rabbitmq实例的对应端口。

内容的提问来源于stack exchange,提问作者shantanuo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:44:00