容器監控
容器監控頁面用於監控和管理本地 Docker 容器的執行狀態。透過該頁面可以實時檢視所有後端服務容器的執行狀況,檢視容器日誌,以及重啟容器等操作。
1. 進入容器監控
1.1 開啟容器監控頁面

點選頂部下拉選單選單中的"容器監控",進入容器監控頁面。

2. 檢視容器統計
2.1 統計卡片
頁面頂部顯示三個統計卡片,展示容器概況:

總容器數:
- 顯示系統中所有 Docker 容器的總數
- 包括執行中和已停止的容器
- 藍色圖示標識
執行中:
- 顯示當前正在執行的容器數量
- 綠色圖示標識
- 健康狀態的容器應該都在執行中
已停止:
- 顯示已停止或退出的容器數量
- 橙色圖示標識
- 需要關注停止的容器是否正常
3. 檢視容器列表
3.1 列表欄位說明
容器列表以表格形式展示,包含以下欄位:

| 欄位 | 說明 |
|---|---|
| 序號 | 當前頁中的序號,自動計算,從 1 開始遞增 |
| 容器名稱 | Docker 容器的名稱,通常是服務名稱(如 cuemate-web-api、cuemate-asr 等),加粗顯示,便於識別 |
| 映象 | 容器使用的 Docker 映象名稱和版本,以程式碼格式顯示 示例: registry.cn-beijing.aliyuncs.com/cuemate/cuemate-web-api:v0.1.1 |
| 執行狀態 | 容器當前的執行狀態,用不同顏色的標籤顯示: • 執行中:綠色標籤 • 已停止:橙色標籤 • 已退出:紅色標籤 • 已建立:藍色標籤 • 已暫停:紫色標籤 |
| 埠 | 容器的埠對映資訊,顯示主機埠和容器埠的對映關係 如果埠超過 2 個,會顯示"+N"表示還有更多埠 示例:3001:3001、10095:10095 |
| 大小 | 容器佔用的磁碟空間大小,包括容器層和可寫層的大小 |
| 操作 | • 重啟:重啟該容器 • 日誌:開啟日誌側拉彈框檢視容器日誌 |
3.2 分頁功能
列表底部提供分頁控制元件:
功能說明:
- 顯示當前頁碼和總頁數
- 顯示總記錄數
- 每頁顯示數量可選:10、20、50、100 條
- 切換頁碼檢視更多容器
3.3 自動重新整理
系統每 30 秒自動重新整理一次容器列表,確保顯示最新的容器狀態。
4. 重啟容器
4.1 重啟單個容器
點選容器列表中的"重啟"按鈕,重啟指定容器。

重啟流程:
- 點選目標容器的"重啟"按鈕
- 彈出確認對話方塊:"重啟該服務可能會導致 CueMate 某些服務斷開連線一段時間,確認重啟嗎?"
- 點選"確定"執行重啟
- 顯示全屏載入提示:"正在重啟容器,請稍候..."
- 重啟完成後顯示"容器重啟成功"提示
- 列表自動重新整理,顯示最新狀態
注意事項:
- 重啟容器會導致服務短暫中斷
- 重啟過程通常需要幾秒到幾十秒
- 重啟後容器會保持原有配置和資料
- 重啟前請確保沒有重要操作正在進行
適用場景:
- 容器出現異常需要重啟恢復
- 配置更新後需要重啟生效
- 記憶體洩漏需要重啟釋放資源
5. 檢視容器日誌
5.1 開啟日誌側拉彈框
點選容器列表中的"日誌"按鈕,開啟容器日誌側拉彈框。

彈框特性:
- 右側側拉彈框,佔螢幕寬度 85%
- 顯示容器的完整詳細資訊和日誌內容
- 支援實時檢視和重新整理日誌
5.2 容器資訊
日誌彈框頂部顯示容器的詳細資訊:
基本資訊:
- 容器名稱
- 執行狀態(帶顏色標籤)
- 映象名稱和版本
- 容器大小
- 狀態描述
- 建立時間(本地時間格式)
埠資訊:
- 顯示所有埠對映
- 以綠色標籤形式展示
- 格式:主機埠:容器埠
5.3 日誌內容
彈框下方顯示容器的執行日誌:
日誌檢視器特性:
- 固定高度 400px,支援滾動檢視
- 深色主題背景(黑底白字)
- 自動換行顯示
- 顯示完整的日誌輸出
日誌來源:
- Docker 容器的標準輸出(stdout)
- Docker 容器的標準錯誤(stderr)
- 實時獲取最新日誌內容
6. 日誌操作
6.1 重新整理日誌
點選日誌彈框右上角的"重新整理"按鈕,重新獲取最新的容器日誌。

重新整理功能:
- 重新請求容器日誌內容
- 獲取最新的日誌輸出
- 重新整理時顯示載入狀態
- 重新整理完成後自動更新日誌顯示
使用場景:
- 檢視最新的日誌輸出
- 排查問題時需要實時日誌
- 驗證操作是否生效
6.2 複製日誌
點選日誌彈框右上角的"複製"按鈕,複製日誌內容到剪貼簿。
複製功能:
- 一鍵複製全部日誌內容
- 使用現代剪貼簿 API(navigator.clipboard)
- 自動降級到傳統複製方法(相容舊瀏覽器)
- 複製成功後顯示"日誌內容已複製到剪貼簿"提示
使用場景:
- 儲存日誌內容到本地
- 分享日誌給技術支援
- 在其他工具中分析日誌
- 記錄問題排查過程
7. 重新整理容器列表
7.1 手動重新整理
點選容器列表右上角的"重新整理"按鈕,手動重新整理容器列表。

重新整理功能:
- 重新獲取所有容器的最新狀態
- 更新統計卡片資料
- 重新整理完成後顯示"已重新整理容器列表"提示
- 重新整理時顯示載入狀態
使用場景:
- 檢視容器狀態變化
- 驗證重啟操作是否成功
- 檢查新容器是否啟動
- 確認容器是否停止
7.2 自動重新整理
系統會自動重新整理容器列表:
重新整理策略:
- 每 30 秒自動重新整理一次
- 靜默重新整理,不顯示提示資訊
- 自動更新統計資料和列表內容
- 離開頁面後停止自動重新整理
8. 容器服務說明
8.1 後端服務容器
CueMate 系統使用以下 Docker 容器提供服務:
Web 服務:
- cuemate-web - 主視窗服務
- 埠:3004
- 提供主視窗服務訪問
API 服務:
- cuemate-web-api - 後端 API 服務
- 埠:3001
- 提供業務邏輯和資料訪問
LLM 路由服務:
- cuemate-llm-router - 大模型路由服務
- 埠:3002
- 路由和管理 LLM 請求
RAG 服務:
- cuemate-rag-service - 知識庫檢索服務
- 埠:3003
- 提供向量檢索功能
語音識別服務:
- cuemate-asr - cuemate-asr 語音識別服務
- 埠:10095
- 提供實時語音轉文字功能
向量資料庫:
- cuemate-chroma - ChromaDB 向量資料庫
- 埠:8000
- 儲存和檢索向量資料
8.2 服務依賴關係
依賴說明:
- Web 服務依賴 API 服務
- API 服務依賴 LLM 路由服務和 RAG 服務
- RAG 服務依賴 ChromaDB 向量資料庫
- 桌面客戶端依賴 ASR 語音識別服務
重啟影響:
- 重啟 Web 服務不影響其他服務
- 重啟 API 服務會影響 Web 和桌面客戶端
- 重啟 LLM 路由服務會影響 AI 功能
- 重啟 ASR 服務會影響語音識別功能
9. 日誌檢視技巧
9.1 常見日誌內容
正常日誌:
- 服務啟動資訊
- HTTP 請求日誌
- 資料庫連線日誌
- 定時任務執行日誌
錯誤日誌:
- 異常堆疊資訊
- 資料庫連線失敗
- 第三方服務呼叫失敗
- 配置錯誤提示
效能日誌:
- 請求響應時間
- 資料庫查詢時間
- 快取命中率
- 資源使用情況
9.2 日誌分析方法
定位問題:
- 檢視最新的錯誤日誌
- 搜尋關鍵詞(如 Error、Exception)
- 追蹤請求 ID 或使用者 ID
- 分析日誌時間序列
排查步驟:
- 確定問題發生時間
- 檢視對應時間段的日誌
- 定位錯誤堆疊資訊
- 分析錯誤原因
- 制定解決方案
10. 最佳實踐
10.1 日常監控
建議監控頻率:
- 每日檢視一次容器狀態
- 關注"已停止"容器數量
- 定期檢視容器日誌
- 監控容器資源使用
10.2 問題排查
排查流程:
- 先檢視統計卡片,確認異常容器數量
- 在列表中定位異常容器
- 開啟日誌彈框檢視詳細日誌
- 複製日誌內容進行分析
- 根據日誌內容定位問題
- 嘗試重啟容器解決問題
10.3 日誌管理
日誌檢視建議:
- 定期檢視各服務日誌
- 關注錯誤和異常日誌
- 複製儲存重要日誌
- 結合操作記錄分析問題
11. 常見問題
11.1 容器狀態異常
問題:容器顯示"已退出"或"已停止"狀態。
解決方案:
- 檢視容器日誌,定位退出原因
- 檢查容器內服務是否正常啟動
- 驗證配置檔案是否正確
- 嘗試重啟容器恢復服務
- 如果重啟失敗,檢視詳細錯誤資訊
11.2 日誌載入失敗
問題:點選"日誌"按鈕,日誌內容顯示"獲取日誌失敗,請檢查後端服務是否正常執行"。
解決方案:
- 檢查 Web API 服務是否正常執行
- 檢查 Docker 服務是否正常
- 檢查容器是否存在
- 重新整理頁面重試
- 檢視瀏覽器控制檯錯誤資訊
11.3 重啟容器失敗
問題:點選"重啟"按鈕,提示"重啟容器失敗"。
解決方案:
- 檢查是否有重啟許可權
- 檢查 Docker 服務是否正常
- 檢視容器是否被其他程序佔用
- 檢視 Web API 服務日誌
- 嘗試使用命令列手動重啟:
docker restart <容器名稱>
11.4 自動重新整理不工作
問題:容器列表沒有自動重新整理,需要手動重新整理才能看到最新狀態。
解決方案:
- 確認頁面沒有被瀏覽器掛起
- 檢查網路連線是否正常
- 檢視瀏覽器控制檯是否有錯誤
- 重新整理頁面重新載入
- 清除瀏覽器快取
