跳到主要内容

故障排除

通过日志进行故障排除是必不可少的方式。目前微搭私有化下,用户对资源的精简,没有提供额外的日志服务。日志存放在容器目录下,暴露最长保留 7 天。

1. 服务说明

微搭私有化涉及的重要服务如下:

  • weda-allin-one-design 和 allin-one-runtime 服务

    • 主要涉及数据模型、审批流、APIs、权限等
    • allin-one-runtime:运行态服务
    • weda-allin-one-design:设计态服务
    • 日志存放路径:/data/log
  • proxy

    • 转发代理服务,起到路由转发作用
    • 日志查看方式:可以直接在 docker logskubectl logs中查看日志打印
  • weda-plugin-adaptors

    • 外部数据库服务
    • 日志存放路径:/data/log
  • gitness

    • 功能:构建和发布服务
  • idaasserver

    • 鉴权和认证服务
    • 日志存放路径:/logs

2. 日志排查

首先如果前端服务报错,可以获取报错接口的 RequestId,查看该报错涉及到哪些功能。例如你操作数据模型报错,则可以查看 weda-allin-one-designallin-one-runtime 服务的日志。

2.1 登录服务的容器中

2.1.1 单机版

docker exec -it allin-one-runtime bash
# 或者
docker exec -it weda-allin-one-design bash

2.1.2 集群版

# 1. 查看 pod 列表(software 为具体的命名空间)
kubectl -n software get po | grep "allin-one-runtime"

# 2. 进入 pod(allin-one-runtime-xxxx-yyyy 为上一步获取到的 pod name)
kubectl -n software exec -it allin-one-runtime-xxxx-yyyy -- bash

2.2 查看日志

进入容器后,执行以下命令:

cd /data/log
# a839bbb426b028 为报错接口的请求结果的 id,即 RequestId
grep "a839bbb426b028" ./*

查看是否有 ERROR 级别的日志。如果不能直接看出问题,可以将报错日志存放到文件中,咨询微搭人员来处理定位。

3. 提交问题

为了减少沟通成本,可以将报错现场进行如下描述:

  1. 报错的截图

  2. 当前部署的版本

    可以通过镜像 tag 得到,即 tag 值为版本值

    docker images
  3. 报错的接口以及如何操作可以复现报错场景

  4. 报错日志

    如果能准确获得报错接口,可以将报错日志发给微搭人员