使用CloudFormation创建WSO2 API Manager堆栈PuppetMaster失败如何查日志
问题根因定位说明
你遇到的是CloudFormation嵌套资源的级联报错,WSO2APIManagerSetup、WSO2APIMPattern1的CREATE_FAILED状态都是依赖资源PuppetMaster创建失败触发的连锁反应,这两个资源本身不对应独立的EC2实例,不需要在这两个资源维度排查日志,所有错误根源都在ID为i-instanceId的PuppetMaster EC2实例内部。
CloudTrail仅记录AWS服务API层面的调用报错,你遇到的是实例内部引导脚本、Puppet任务执行失败,不会触发API层面的错误返回,因此CloudTrail无相关记录属于正常情况。
具体日志排查步骤
- 若当前PuppetMaster实例还未被CloudFormation回滚删除,优先通过EC2控制台查看实例系统日志:选中对应实例,在「监控和故障排查」菜单中选择「获取系统日志」,可以排查实例启动阶段的基础故障,比如网络不通、IAM角色权限不足无法拉取部署资源、系统镜像损坏等不需要登录实例就能定位的问题。
- 登录PuppetMaster实例后,第一优先级查看CloudFormation引导组件的执行日志:
- cfn-init执行日志路径:
/var/log/cfn-init.log - cfn-init命令执行输出日志路径:
/var/log/cfn-init-cmd.log
你看到的Received FAILURE signal with UniqueId i-instanceId报错,就是实例上的cfn-signal工具在引导流程执行失败后,向CloudFormation发送的失败信号,所有引导阶段执行的命令、标准输出、报错栈都会完整记录在上述两个日志中。
- cfn-init执行日志路径:
- 若cfn日志显示Puppet执行阶段报错,直接查看Puppet服务运行日志,默认路径为
/var/log/puppetlabs/puppet/目录下的所有日志文件,重点排查puppet.log以及对应WSO2 APIM部署模块的执行记录,依赖包安装失败、证书配置错误、服务启动异常、配置文件语法错误等Puppet任务层面的问题都会记录在此。
后续排查优化建议
如果当前堆栈已经触发自动回滚、PuppetMaster实例被删除,下次创建堆栈时关闭「失败时回滚」选项,这样创建失败时所有资源会被保留,你可以直接登录实例排查问题,不会出现实例被回收无法查日志的情况。
内容的提问来源于stack exchange,提问作者socrates hlapolosa
相关产品推荐
相关产品推荐

