服务监控指南
在一个管理员界面中实时监视 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-CN.md