問題排查指南
本文檔幫助您解决 OntiCards 部署和運行過程中遇到的問題。
一、部署問題
1.1 Docker 啟動失败
症狀:執行 docker-compose up 後容器未能正常啟動
- 1
檢查 Docker 是否正常運行
- 2
docker --version docker-compose --version - 3
查看详細錯誤資訊
- 4
docker-compose up不加 -d 参数可以看到实时日志
- 5
常见錯誤速查表
| 錯誤資訊 | 可能原因 | 解决方法 |
|---|---|---|
| "docker: command not found" | Docker 未安裝 | 安裝 Docker Desktop |
| "docker daemon not running" | Docker 服務未啟動 | 啟動 Docker 服務 |
| "port is already allocated" | 埠被占用 | 修改 docker-compose.yml 中的埠或释放占用埠 |
1.2 埠被占用
症狀:提示 "port is already allocated" 或 " Ports are not available"
- 1
查看埠占用情况
- 2
# Windows netstat -ano | findstr :3000 - 3
Linux/Mac
lsof -i :3000
- 4
關閉占用埠的程式,或修改
docker-compose.yml中的埠映射 - 5
services: frontend: ports:- "3001:3000" # 改为其他端口
1.3 容器不斷重啟
症狀:容器啟動後立即退出或反復重啟
- 1
查看容器日誌
- 2
docker-compose logs -f <服务名> - 3
常见原因及解决
| 原因 | 解决方法 |
|---|---|
| 環境變數組態錯誤 | 檢查 .env 檔案組態 |
| 資料庫連接失败 | 確認資料庫服務正常且網絡可达 |
| 磁盘空間不足 | 清理磁盘空間 |
二、訪問問題
2.1 無法訪問前端頁面
症狀:瀏覽器打開 http://localhost:3000 显示無法連接
- 1
確認容器是否運行
- 2
docker-compose ps - 3
查看前端日誌
- 4
docker-compose logs -f frontend - 5
檢查埠映射
- 6
docker port onticards-frontend - 7
對照常见原因清單
| 現象 | 處理方式 |
|---|---|
| 容器未啟動 | 執行 docker-compose up -d |
| 埠映射錯誤 | 檢查 docker-compose.yml |
| 防火墙拦截 | 檢查防火墙設置 |
2.2 後端 API 請求失败
症狀:前端頁面能打開,但操作時報錯 "請求失败"
- 1
確認後端服務是否運行
- 2
docker-compose ps backend - 3
查看後端日誌
- 4
docker-compose logs -f backend - 5
測試 API 健康檢查
- 6
curl http://localhost:8000/api/health
三、資料庫連接問題
3.1 無法連接目標資料庫
症狀:添加數據源時 "測試連接" 失败
- 1
檢查目標資料庫是否運行
- 2
確認服務進程已啟動
- 3
確認網絡連通性
- 4
# 测试端口是否可达 telnet <目标IP> <端口> - 5
Windows PowerShell
Test-NetConnection -ComputerName <目标IP> -Port <端口>
- 6
檢查防火墙設置
- 7
確認目標資料庫所在主機的 3306/5432 等埠已放行
- 8
確認用戶名密碼正確
- 9
以
mysql -u user -p等命令直連測試一次 - 10
確認資料庫允許远程連接
- 11
檢查
bind-address組態(如 MySQL 預設 127.0.0.1)
常见資料庫埠速查
| 資料庫 | 預設埠 |
|---|---|
| MySQL | 3306 |
| PostgreSQL | 5432 |
| Oracle | 1521 |
| SQL Server | 1433 |
| 达梦 | 5236 |
| KingBase | 54321 |
3.2 連接超時
症狀:測試連接時提示 "連接超時"
提示
- 網絡不可达
- 防火墙拦截
- 資料庫最大連接數已滿
- 應用端連接池达到上限
提示
- 檢查網絡和防火墙(
telnet/Test-NetConnection)
- 联系 DBA 增加連接數或释放空闲連接
- 確認連接資訊中的主機地址正確
四、LLM 調用問題
4.1 LLM API 調用失败
症狀:查詢時報錯 "LLM 調用失败" 或 "API 請求錯誤"
- 1
查看後端日誌中的 LLM 調用錯誤
- 2
docker-compose logs -f backend | grep -i "llm\|openai\|qwen" - 3
檢查環境變數組態是否加載
- 4
docker-compose exec backend env | grep LLM - 5
對照錯誤資訊表
| 錯誤資訊 | 可能原因 | 解决方法 |
|---|---|---|
| "Invalid API key" | API Key 錯誤 | 檢查 LLM_API_KEY 組態 |
| "connection timeout" | 網絡不通/代理問題 | 檢查網絡和代理組態 |
| "rate limit exceeded" | 請求頻率超限 | 降低請求頻率或升級套餐 |
| "model not found" | 模型名稱錯誤 | 檢查 LLM_MODEL 組態 |
4.2 網絡訪問問題
症狀:國內無法訪問 OpenAI 等國外服務
方案一:組態代理
# 在 .env 中配置代理 LLM_BASE_URL=http://your-proxy:7890方案二:使用國內模型
LLM_PROVIDER=qwen # 阿里通义千问 LLM_PROVIDER=moonshot # 月之暗面五、數據卡片生成問題
5.1 數據卡片生成緩慢
症狀:添加數據源後,數據卡片生成很慢或卡住
提示
- 表數量太多
- LLM 回應慢
- 網絡不穩定
提示
- 耐心等待,首次生成需要一些時間
- 檢查 LLM 服務是否正常
- 表數量较多時可以分批添加
5.2 數據卡片生成失败
症狀:提示 "數據卡片生成失败"
- 1
查看後端日誌中的具體錯誤
- 2
docker-compose logs -f backend寻找 stack trace - 3
檢查 LLM 服務是否正常
- 4
用其他 client(如
curl)直接調用 LLM,確認可用 - 5
確認目標資料庫連接正常
- 6
在數據源列表中點击「測試連接」
- 7
檢查資料庫權限
- 8
需要
SELECT與讀取表結構(DBA)的權限
六、质檢功能問題
6.1 质檢規則執行失败
症狀:執行质檢時報錯
提示
- 規則 SQL 語法錯誤 → 檢查規則組態
- 資料庫連接問題 → 確認數據源正常
- 權限不足 → 確認有
SELECT權限
6.2 质檢結果為空
症狀:執行完成後沒有檢測到任何問題
提示
- 數據確實沒有問題
- 規則組態過于寬松
- 規則條件與實际數據不匹配
七、性能問題
7.1 系統運行緩慢
- 1
檢查资源使用
- 2
docker stats - 3
對照常见原因
| 現象 | 處理方式 |
|---|---|
| 記憶體不足 | 增加 Docker 記憶體限製 |
| 磁盘空間不足 | 清理磁盘 |
| 並發請求過多 | 限流或擴容 |
7.2 查詢超時
症狀:查詢長時間無回應或提示超時
提示
- 增加查詢超時時間組態
- 减少查詢的數據範围(如縮短時間範围)
- 檢查資料庫性能
八、日誌查看方法
8.1 查看所有服務日誌
docker-compose logs -f
8.2 查看指定服務日誌
# 后端日志
docker-compose logs -f backend
# 前端日志
docker-compose logs -f frontend
8.3 限製日誌行數
docker-compose logs --tail=100 backend
8.4 搜索特定關鍵詞
docker-compose logs | grep -i "error"
九、快速诊斷命令速查
- 1
檢查容器狀態
- 2
docker-compose ps - 3
檢查资源使用
- 4
docker stats - 5
檢查埠占用
- 6
netstat -ano | findstr "3000 8000" - 7
測試網絡連通性
- 8
ping <目标地址> - 9
測試埠連通性
- 10
telnet <目标地址> <端口> - 11
查看服務日誌
- 12
docker-compose logs -f
十、获取更多幫助
如果以上方法無法解决您的問題:
- 查看 FAQ 常见問題解答
- 查看 用戶手冊 了解功能使用
- 提交 GitHub Issue:https://github.com/stepll2026/OntiCards/issues
提交 Issue 時請提供:
- 錯誤日誌(敏感資訊請脱敏)
- 操作步驟描述
- 環境資訊(作業系統、Docker 版本等)
本文檔最後更新時間:2026 年 08 月