Skip to content

11.10 故障排查手册 ​

概述

按故障类别速查:启动失败 / 认证授权 / 数据异常 / 性能 / 缓存 / 定时任务 / 文件上传。每类给出症状→定位→处理。

启动类 ​

症状定位处理
启动即退出端口占用 / 配置缺失 / Go 版本netstat 查端口;从部署目录运行;核对 go 版本
数据库连接失败link 串/网络/账号telnet 端口;核对 database.default
Redis 告警降级地址/密码/网络修复后自动恢复(运行期探测);/api/cache/info 验证
IdentityLoader 告警依赖接线缺失查 internal/cmd 空白导入与 logic init
panic 堆栈看日志堆栈定位代码 bug;errorStack=false 时看服务端日志

认证授权类 ​

症状定位处理
全部 401jwt.secret 变更 / 时钟改密钥后需重新登录;核对服务器时间
登录后单接口 401令牌过期/黑名单刷新令牌;查是否被强退拉黑
403权限链四环gmeta permission ↔ 菜单节点 ↔ 角色勾选 ↔ 身份缓存(DEL identity 键)
权限改了不生效身份缓存 300sSavePermission 应主动清;查清理链;等过期
租户 1005/1006租户过期/禁用改租户状态/过期;等 60s 或 DEL tenant:info

数据类 ​

症状定位处理
租户串数据tenantTables 漏登记补登记 + 复查查询是否绕过 dao.Ctx
已删除数据可见绕过 dao.Ctx / 手写条件修复为 dao.Ctx 唯一入口
唯一冲突 1062 裸报错无预检(设计内兜底)补 UniqueFields(Group=索引范围)
新字段不返回entity/Req/Res/ToData 四处逐一核对(见 3.3 加字段工作流)
字典文本不显示SerializeMaps/Text 字段spec 声明 + 结构体 {Field}Text

性能类 ​

症状定位处理
接口慢慢查询 / N+1debug 开 SQL 日志;查 userExpandNames 类批查是否缺失
内存增长泄漏/api/server/info heapObjects/goroutines 趋势
并发瓶颈连接池DB 池/Redis 池参数核算
磁盘满日志/上传/备份LogClean 是否运行;upload 清理;扩容
大表超时city 全表查询改级联路径(parent_code 索引)

缓存类 ​

症状定位处理
mode=memoryRedis 不可用修复 Redis;多实例期间限流/锁退化单机
键值陈旧TTL/失效点对照 4.8 键全集;DEL 指定键
多实例不一致Redis 未共享确认 mode=redis
命中率低TTL 过短/api/cache/info hitRate;调 TTL

定时任务类 ​

症状定位处理
任务不执行未发布/cron 无效/未挂载status=1?daemonStatus?Scheduler.mounted vs expected
重复执行锁失效Redis 可用性(job:lock 依赖);execute_policy 核对
执行失败看 job_log exceptionHTTP 超时(30s)/handler panic/数据库错误
任务日志堆积LogClean 未跑检查 LogClean 任务与 retentionDays

文件上传类 ​

症状定位处理
上传 413/拒绝maxSize/白名单/嗅探对照 file.* 配置
图片 404domainUrl/转正失败库中相对路径 vs GetFileUrl;查 temp 是否被清
富文本图片不显示读取绕过基座走 Detail/List(自动 Expand)
temp 堆积CleanTemp 未生效gcron 注册/tempExpireDays>0

排障通用路径 ​

text
1. /api/health          服务活着吗
2. /api/cache/info      缓存模式与健康
3. /api/server/info     全景体检(DB/磁盘/调度器)
4. 启动日志             告警项逐一确认
5. /api.json            接口与文档一致性
6. 操作/登录日志        异常行为追溯

小蚂蚁云团队 · 提供技术支持