Skip to content

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

你可以参考以下步骤排查容器状态。

  1. 查看是否所有容器都已经启动并处于 healthy 状态。

    docker ps -a
  2. 如果有服务处于 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日志
  3. 对于基础组件,可以参考 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后再去容器内查看日志,如果接口正常,可能会搜索不到对应日志。 Image 去容器内查看日志:

docker logs coze-loop-app | grep {logid}

错误码

服务端的错误定义在各模块的 errno 目录下,若请求返回了错误码,可以在项目中搜索错误码来简单定位问题,然后再通过上面日志查询的方式定位具体问题。

SDK

若您是通过SDK对接开源平台测试,可以参考SDK的错误码信息进行简单定位,如果是服务问题再查看服务日志详细定位。

Clone this wiki locally