故障排除
通过日志进行故障排除是必不可少的方式。目前微搭私有化下,用户对资源的精简,没有提供额外的日志服务。日志存放在容器目录下,暴露最长保留 7 天。
1. 服务说明
微搭私有化涉及的重要服务如下:
weda-allin-one-design 和 allin-one-runtime 服务
- 主要涉及数据模型、审批流、APIs、权限等
allin-one-runtime:运行态服务weda-allin-one-design:设计态服务- 日志存放路径:
/data/log
proxy
- 转发代理服务,起到路由转发作用
- 日志查看方式:可以直接在
docker logs或kubectl logs中查看日志打印
weda-plugin-adaptors
- 外部数据库服务
- 日志存放路径:
/data/log
gitness
- 功能:构建和发布服务
idaasserver
- 鉴权和认证服务
- 日志存放路径:
/logs
2. 日志排查
首先如果前端服务报错,可以获取报错接口的 RequestId,查看该报错涉及到哪些功能。例如你操作数据模型报错,则可以查看 weda-allin-one-design、allin-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. 提交问题
为了减少沟通成本,可以将报错现场进行如下描述:
报错的截图
当前部署的版本
可以通过镜像 tag 得到,即 tag 值为版本值
docker images报错的接口以及如何操作可以复现报错场景
报错日志
如果能准确获得报错接口,可以将报错日志发给微搭人员