服務監控指南
在單一管理員介面中即時監視 GIIP 生態系中運行的服務與 cron 指令碼的狀態、健康度與執行歷史。以摘要儀表板綜覽整體態勢,再透過清單、流程、觸發器檢視深入查看個別服務。
📋 概述
服務監控頁面是用於觀察 GIIP 生態系中運行的 cron 指令碼、代理工作程序與 Azure Function 即時狀態的管理員主控台。它以表格列出每個服務最後回報的狀態(執行中/正常/錯誤/未回報)、執行時間與遙測資料(成功、失敗、略過等),頂部的摘要卡片讓你一眼掌握整體健康度。資料來自代理推送到時序儲存(tKVS)的狀態報告;此介面是維運人員判斷「什麼在運行、什麼已停止」的管制介面。
⚠️ 此介面僅限管理員。 存取需要管理員等級
uLevel >= 70。低於該等級的使用者將被重新導向到首頁。
🔍 介面組成
1. 頂部頁首
- 頁面標題/說明: 「服務監控」(已在地化)與摘要說明。
- 檢視切換按鈕: 在 清單 / 流程 / 觸發器 三種檢視之間切換。
- 重新整理按鈕: 立即重新載入服務狀態(載入時圖示旋轉)。清單檢視每 30 秒、流程與觸發器檢視每 60 秒自動重新整理。
2. 摘要儀表板
頂部 4 張卡片顯示所有服務的彙總統計。
| 卡片 | 意義 |
|---|---|
| 總數(Total) | 受監控的服務/指令碼總數 |
| 執行中(Running) | 目前處於 RUNNING 狀態的服務數 |
| 正常(Healthy) | 以 IDLE(正常待機)回報的服務數 |
| 錯誤(Error) | 以 ERROR(失敗/異常)回報的服務數 |
3. 清單檢視(服務表)
每一列代表一個服務/指令碼,點擊可展開查看詳情(子任務、指標)。
| 欄 | 說明 |
|---|---|
| Script Name | 指令碼/服務名稱 |
| Migration | Azure Function 移轉狀態(已完成/待移轉/無) |
| Hostname | 回報狀態的主機 |
| Status | 狀態徽章(RUNNING / IDLE / ERROR / UNKNOWN) |
| Last Execution | 最後執行時間 |
| Telemetry | 成功、失敗、略過、強制終止等執行指標 |
| Details | 展開(查看子任務與原始報告) |
4. 流程檢視
視覺化服務之間的相依關係與資料流(ServiceMonitorFlow)——以流程圖查看哪個服務連接到哪個服務。
5. 觸發器檢視
以表格顯示每個已註冊觸發器(排程)的最近執行情況以及是否 逾時(overdue)。用於隔離超過預定週期仍無回報的觸發器。
🛠️ 狀態檢查方法
- 進入頁面後,先在頂部 摘要卡片 查看錯誤(Error)數量。
- 在 清單 檢視中,尋找狀態徽章為
ERROR或UNKNOWN(無回報)的列。 - 點擊該列展開,查看 Last Execution / Telemetry / 子任務 —— 最後執行時間過舊或失敗指標偏高即為停機候選。
- 用 重新整理 按鈕重新載入最新報告,確認是否只是短暫延遲。
- 切換到 觸發器 檢視,交叉核對是否有超過預定週期(逾時)的觸發器。
💡 備註
- 狀態值意義:
RUNNING=執行中,IDLE=正常待機(計入摘要的「正常」),ERROR=失敗,UNKNOWN=近期無回報(代理未向 tKVS 推送狀態)。 - 出現大量 UNKNOWN 通常代表代理/指令碼未回報遙測,而非服務已停止——請先確認代理本身是否在運行。
- 自動重新整理: 清單每 30 秒、流程/觸發器每 60 秒自動重新整理,因此數值可能週期性變化。
- 存取權限為 prop 模式,頁面中硬編碼
minLevel={70},因此永遠需要uLevel >= 70(與選單設定無關)。
API 參考
本頁面透過三個派發命令(經由 fetchAzureCommand)與後端通訊。由於沒有單獨的 API 指南,此處記錄要點。
| 命令 | 用途 | 後端 SP |
|---|---|---|
ApiServiceMonitorGetStatus | 取得服務/指令碼狀態清單(摘要與清單檢視) | pApiApiServiceMonitorGetStatusbyAK |
ApiServiceMonitorGetFlow | 取得流程檢視的節點/邊 | (流程用 SP) |
ApiServiceMonitorGetTriggerStatus | 取得觸發器檢視的各觸發器執行情況 | pApiApiServiceMonitorGetTriggerStatusbyAK |
ApiServiceMonitorDelete | 依 ksn 刪除清單檢視中的一筆服務狀態記錄(垃圾桶按鈕,必須彈出確認視窗)。安全限制:僅當該列的 kFactor 屬於服務監控 factor 時才刪除,否則回傳 403。載荷 { ksn }。(giip #1214) | pApiApiServiceMonitorDeletebyAK |
- 回應為結果集陣列形式(例如
[資料, 狀態]),用戶端讀取第一個(資料)陣列。 - 狀態欄位
RstVal = 200表示成功;RstVal = 401表示工作階段過期/未驗證(需重新登入)。
疑難排解
| 症狀 | 原因 | 解決 |
|---|---|---|
| 開啟即被彈回首頁 | uLevel 低於 70 | 請使用管理員帳號(等級 70+)登入。 |
| 「工作階段過期」/401 錯誤 | 驗證權杖過期或缺失 | 重新登入後點擊重新整理。 |
表格大部分顯示 UNKNOWN | 代理/指令碼未向 tKVS 回報狀態 | 檢查該代理是否運行及遙測回報路徑。 |
| 觸發器檢視全部「逾時(紅色)」 | 觸發器 kfactor 為空,無法與 tKVS 報告關聯,可能是結構性誤判 | 逐一確認觸發器的近期回報有無,僅對確實「卡住」的觸發器進行處理。 |
| 數值持續變化 | 30 秒/60 秒自動重新整理正在運行 | 屬正常現象。如需固定某一時刻,請自行擷取數值。 |
| 頂部指南按鈕(📖)不顯示 | 指南對應未部署(舊版本) | 本指南部署並建立索引後即會顯示。 |
版本: 1.0
最後更新: 2026-08-04
原始檔案: giipv3/public/help/service-monitor.zh-TW.md