跳到主要内容

故障排除

日志排查是微搭私有化部署中最重要的故障排除方式。由于私有化环境资源配置精简,系统未提供独立的日志服务,所有日志均存储在容器内部目录中,默认保留 7 天。

1. 核心服务架构

微搭私有化部署包含以下核心服务:

1.1 核心业务服务

  • weda-allin-one-design(设计态服务)

    • 负责应用设计、页面编辑等设计时功能
    • 日志路径:/data/log
  • allin-one-runtime(运行态服务)

    • 负责数据模型、审批流、API 接口、权限管理等运行时功能
    • 日志路径:/data/log

1.2 基础设施服务

  • proxy

    • 请求转发代理服务,负责路由分发
    • 日志查看:通过 docker logskubectl logs 直接查看
  • weda-plugin-adaptors

    • 外部数据源连接服务
    • 日志路径:/data/log
  • gitness

    • 应用构建和发布服务
  • idaasserver

    • 用户鉴权和身份认证服务
    • 日志路径:/logs

2. 故障排查流程

2.1 确定问题范围

当前端界面出现错误时,请按以下步骤定位问题:

  1. 获取 RequestId:从浏览器开发者工具的网络面板中,找到报错接口的响应头或响应体中的 RequestId
  2. 确定相关服务:根据操作类型判断涉及的服务
    • 页面设计相关 → weda-allin-one-design
    • 数据操作、API 调用 → allin-one-runtime
    • 外部数据源 → weda-plugin-adaptors

2.2 进入服务容器

单机版部署

# 进入运行态服务容器
docker exec -it allin-one-runtime bash

# 进入设计态服务容器
docker exec -it weda-allin-one-design bash

集群版部署

# 1. 查看 Pod 列表(替换 software 为实际命名空间)
kubectl -n software get pods | grep "allin-one-runtime"

# 2. 进入指定 Pod(替换为实际的 Pod 名称)
kubectl -n software exec -it allin-one-runtime-xxxx-yyyy -- bash

2.3 日志分析

进入容器后,执行以下命令进行日志排查:

# 切换到日志目录
cd /data/log

# 根据 RequestId 搜索相关日志
grep "a839bbb426b028" ./*

# 查看最新的错误日志
grep -i "ERROR" ./* | tail -100

# 查看特定时间段的日志
grep "2024-01-15 14:" ./*

日志分析要点:

  • 重点关注 ERROR 级别的日志信息
  • 查看错误发生的时间线和调用链路
  • 如无法直接定位问题,建议保存完整日志供技术支持分析

3. 问题反馈规范

为提高问题处理效率,请按以下格式整理问题信息:

3.1 基础信息

  1. 错误截图

    • 包含完整的错误提示信息
    • 浏览器控制台的错误信息
  2. 版本信息

    # 查看当前部署版本
    docker images | grep weda
  3. 复现步骤

    • 详细描述操作步骤
    • 提供测试数据或配置信息
    • 说明错误出现的频率

3.2 技术信息

  1. 接口信息

    • 报错的 API 接口地址
    • RequestId(如有)
    • 请求参数和响应内容
  2. 日志信息

    • 相关的错误日志片段
    • 建议提供前后 50-100 行的上下文日志

通过提供完整的问题信息,可以显著提升问题定位和解决的效率。