# 故障排查 ## 常见问题 ### 服务无法启动 #### 端口被占用 ```bash # 检查端口占用 lsof -i :8000 lsof -i :3000 lsof -i :5432 lsof -i :6379 # 释放端口 kill -9 ``` #### 数据库连接失败 ```bash # 检查数据库是否运行 docker-compose ps db # 检查数据库日志 docker-compose logs db # 重启数据库 docker-compose restart db ``` ### 前端问题 #### 页面空白 1. 检查浏览器控制台错误 2. 清除浏览器缓存 3. 检查API地址配置 #### API请求失败 ```bash # 检查后端服务 curl http://localhost:8000/health # 检查CORS配置 # 确保后端CORS_ORIGINS包含前端地址 ``` ### 后端问题 #### 数据库迁移失败 ```bash # 查看迁移状态 cd backend alembic current alembic history # 手动执行迁移 alembic upgrade head # 回滚迁移 alembic downgrade -1 ``` #### Agent服务异常 ```bash # 检查Agent状态 curl http://localhost:8000/api/v1/agents # 查看Agent日志 docker-compose logs backend | grep Agent ``` ### 性能问题 #### 响应缓慢 1. 检查数据库查询性能 2. 检查Redis缓存命中率 3. 查看是否有慢查询 ```bash # 开启SQL日志 export SQL_ECHO=true ``` #### 内存泄漏 ```bash # 检查容器内存使用 docker stats # 重启服务 docker-compose restart backend ``` ## 日志查看 ```bash # 查看所有服务日志 docker-compose logs -f # 查看特定服务日志 docker-compose logs -f backend docker-compose logs -f frontend # 查看最近日志 docker-compose logs --tail=100 backend ``` ## 调试模式 ### 后端调试 ```bash # 开启调试模式 export APP_DEBUG=true # 使用debug模式启动 uvicorn app.main:app --reload --log-level debug ``` ### 前端调试 ```bash # 开启调试模式 export NEXT_PUBLIC_DEBUG=true # 使用详细日志启动 npm run dev ``` ## 健康检查 ```bash # 检查所有服务健康状态 curl http://localhost:8000/health curl http://localhost:8000/health/ready curl http://localhost:8000/health/live # 检查数据库连接 docker-compose exec db pg_isready # 检查Redis连接 docker-compose exec redis redis-cli ping ``` ## 重置环境 ### 清除所有数据(危险) ```bash # 停止服务并删除数据卷 docker-compose down -v # 重新启动 docker-compose up -d ``` ### 重建特定服务 ```bash # 重建后端 docker-compose up -d --force-recreate backend # 重建前端 docker-compose up -d --force-recreate frontend ``` ## 获取帮助 如遇到无法解决的问题,请提供以下信息: 1. 服务日志 2. 环境变量配置(隐藏敏感信息) 3. 操作系统和Docker版本 4. 问题的完整描述