Files
Nexus/docs/reports/2026-06-14-watch-ui-patrol.md
T

108 lines
3.9 KiB
Markdown
Raw Normal View History

# 巡检 — 2026-06-14(监测 UI + 生产健康)
**日期**2026-06-14
**范围**:监测槽 UI 迭代(`c91cb1c` 已部署 + 工作区待部署)· L2b · pytest · 生产源站
**生产**https://api.synaglobal.vip
## 进度条
| 步骤 | 状态 |
|------|------|
| `local_verify.sh` | ✅ 26/26 + ruff |
| `pytest`(非 chain | ✅ 570 passed1 环境性失败见下) |
| `pytest tests/chain` | ✅ 9/9 |
| `test_watch_*` + `test_ops_patrol_sync` | ✅ 29/30SSH 本地探针 1 失败) |
| 门控 7/7 | ✅(针对已跟踪变更) |
| `vite build` | ✅ |
| 生产 `/health` + `/app/` | ✅ `ok` / `200` @ `c91cb1c` |
| 工作区待部署 | ⚠️ 见 §2 |
---
## 1. 生产(源站 SSH
| 项 | 结果 |
|----|------|
| `curl http://127.0.0.1:8600/health` | `ok` |
| `curl /app/` | `200` |
| `git log -1``/opt/nexus` | `c91cb1c` — polish paused UI + header spacing |
| `bash -n deploy/health_monitor.sh` | ✅ 通过 |
| Docker nexus | 运行中(巡检时刻容器 Up) |
**Layer 3 日志**`/var/log/nexus_health.log` 尾部曾出现 `health_monitor.sh: unexpected EOF`(历史 cron 执行);当前仓库脚本 `bash -n` 正常,疑为旧版残留日志,**不影响当前 `/health`**。建议观察下一小时 cron 是否仍报错。
---
## 2. 工作区未部署(监测槽 UI)
相对生产 `c91cb1c`,本地尚有未提交改动:
| 变更 | 说明 |
|------|------|
| 顶栏 ⋮ 菜单 | 暂停/恢复/移除,去掉开关与 ✕,防误触 |
| 暂停态精简 | 仅保留「恢复实时监测」;隐藏时长行、横幅、圆环占位、底栏 |
| 开启态底栏 | 增加「暂停」文字链 |
| `watch_probe_runner.py` | 删除未使用 `import time`ruff F401 |
**建议**:commit → 门控 → 部署前端(纯 UI + 无害 lint 可随下一次一起上)。
---
## 3. 已部署功能走读(`b5419cd`…`c91cb1c`
| 检查项 | 结果 |
|--------|------|
| SSH 优先 5s 探针 | ✅ 代码在产 |
| 移除 IO 速率 | ✅ 前后端 |
| 四圆环一行(CPU/内存/硬盘/负载) | ✅ `3faa7a4` |
| 恢复监测立即探针 | ✅ `5c508ed` |
| 暂停态圆环占位 + 顶栏间距 | ✅ `c91cb1c`(将被下一版精简 UI 替代) |
---
## 4. 本地验证
```text
bash scripts/local_verify.sh → 26/26, ruff OK
pytest tests/ -m "not chain and not slow" -q → 570 passed, 1 failed
pytest tests/chain -q → 9 passed
pytest tests/test_watch_pins.py test_watch_metrics.py test_ops_patrol_sync.py → 29 passed, 1 failed
cd frontend && npx vite build → OK
deploy/pre_deploy_check.sh → 7/7
```
**环境性失败**`test_ssh_watch_metrics_cmd_runs_locally` — 本机无 `psutil`,远端脚本返回 `error`;CI/生产有 psutil 时通过。非回归。
---
## 5. 发现与处理
| # | 严重度 | 问题 | 状态 |
|---|--------|------|------|
| 1 | P2 | 顶栏开关易误触 | **工作区已改** — ⋮ 菜单 + 底栏「暂停」 |
| 2 | P2 | 暂停态信息过载 | **工作区已改** — 仅恢复按钮区 |
| 3 | P3 | `watch_probe_runner` 未使用 `import time` | **工作区已修** — ruff F401 |
| 4 | P3 | L3 日志历史 syntax 报错 | 观察;当前脚本语法 OK |
| 5 | P3 | Sparkline 渐变 hex 假设 | 未修(线条正常) |
| 6 | P3 | 探针表 total=0 仍 1 页 | 未修 |
---
## 6. 部署后终验清单(下一版 UI)
1. 暂停槽:无时长行/圆环/底栏,仅「恢复实时监测」
2. 开启槽:顶栏仅 ⋮,无贴脸开关;底栏可点「暂停」
3. 四圆环数值与宝塔接近(±5s
4. 暂停 → 恢复后 5–15s 内出现指标
---
## 7. 待办
| 优先级 | 项 |
|--------|-----|
| P0 | 提交并部署 §2 工作区 UI + lint 修复 |
| P1 | 用户浏览器终验暂停/恢复/菜单 |
| P2 | 观察 L3 cron 日志是否仍报 EOF |
| P3 | Sparkline / 空表分页 |