应用发布失败排查
- 平台错误提示
- 应用程序是否启动
ps -ef|grep 应用名称
- 业务日志排查
- 查看控制台日志(/home/publish_product/server_java/${application}/${version}/logs/stdout.log,主要输出启动过程中输出到终端的日志,应用启动失败,首要看这个日志(prod不生成,每次启动成功会删除,启动过程中去查看)
- 框架error日志
(/home/product/logs/${application}_logs/frame/error_dubbo_framework.log,在框架层面记录下来的日志,一般启动失败,在这里也会有错误信息,不止是启动失败,应用运行过程中出现错误,也可以先去这个日志文件查看。)
-
- 运维通道cli日志
(/var/log/cli.log从发布系统执行命令后,运维通道调用启动脚本过程中输出的日志)
-
- 操作系统日志
(/var/log/message, 如果应用启动是申请的内存超过了OS 可用的内存,那么操作系统出于自我保护,会直接kill掉应用进程,同时会记录Kill process的日志,如果是docker进程,日志是记录在宿主机上)
-
- dolphin启动日志
/home/product/logs/{应用名_logs}/dolphin-executor-error.log
问题现场
解决方案
- 业务jar包类找不到
- 集团架构提供的组件jar包类找不到
问题现场
解决方案
- 查看业务日志,确认是否有异常 , ps -ef |grep 应用名 查看进程是否存在(如果日志没明显错误且进程存在,则排查端口)
- 端口是否启动(以下两种都可以查看端口暴露情况)
- 端口没暴露
- 端口暴露
- 端口没暴露
问题现场
解决方案
- 查看应用jvm参数是否配置
-
- 若jvm参数未配置
- jvm参数已配置
- 若jvm参数未配置
问题现场
解决方案
问题现场
问题原因
类似案例:
解决方案
后端服务超时未回应问题
问题现场
问题原因
解决方案
问题现场
解决方案
联系8000找架构处理,组件包检测不通过
问题现场
问题原因
- start脚本自定义了发布检测超时时间,检测逻辑不通过,导致发布失败
解决方案
- 调整自定义检测超时时间
问题现场
问题原因
排查过程
解决方案