-
Notifications
You must be signed in to change notification settings - Fork 703
7. 故障排查
kidkidkid edited this page Aug 14, 2025
·
3 revisions
项目启动时,会运行如下几个容器:
coze-loop-app: 后端服务
coze-loop-nginx: nginx代理
coze-loop-mysql: mysql数据库
coze-loop-redis: Redis缓存
coze-loop-clickhouse: Clickhouse存储
coze-loop-minio: 对象存储
coze-loop-rmq-namesrv: rocketmq nameserver
coze-loop-rmq-broker: rocketmq broker你可以参考以下步骤排查容器状态。
-
查看是否所有容器都已经启动并处于 healthy 状态。
docker ps -a
-
如果有服务处于 unhealty 状态,可以查看对应组件的日志并定位报错原因。
docker logs coze-loop-app # 后端服务日志 docker logs coze-loop-nginx # nginx日志 docker logs coze-loop-mysql # mysql日志 docker logs coze-loop-redis # redis日志 docker logs coze-loop-clickhouse # ck日志 docker logs coze-loop-minio # minio日志 docker logs coze-loop-rmq-namesrv # rocketmq nameserver日志 docker logs coze-loop-rmq-broker # rocketmq broker日志
-
对于基础组件,可以参考 docker-compose.yaml 文件中的说明进入基础组件查看数据。 例如:
# mysql,查询user表的数据 docker exec -it coze-loop-mysql mysql -u root -pcozeloop-mysql SHOW DATABASES; USE cozeloop-mysql; SHOW TABLES; SELECT * FROM user LIMIT 10; # clickhouse,查询span数据 docker exec -it coze-loop-clickhouse bash clickhouse-client --host coze-loop-clickhouse --port 9000 --password=cozeloop-clickhouse --database=cozeloop-clickhouse SHOW DATABASES; USE `cozeloop-clickhouse`; SHOW TABLES; SELECT * FROM observability_spans LIMIT 10;
所有容器都正常启动之后,主要关注点就是后端服务的运行日志,如果出现接口报错等情况,我们可以查看服务容器对应的日志,查看是否有错误日志:
docker logs coze-loop-app页面如果接口报错,可以通过F12进入浏览器控制台,查看对应报错的请求,从相应头中获取LogID,位于x-log-id,拿到logid后再去容器内查看日志,如果接口正常,可能会搜索不到对应日志。
去容器内查看日志:
docker logs coze-loop-app | grep {logid}服务端的错误定义在各模块的 errno 目录下,若请求返回了错误码,可以在项目中搜索错误码来简单定位问题,然后再通过上面日志查询的方式定位具体问题。
若您是通过SDK对接开源平台测试,可以参考SDK的错误码信息进行简单定位,如果是服务问题再查看服务日志详细定位。