4.6 KiB
4.6 KiB
巡检 — 监测 SSH 探针 / 硬件详情 / 历史北京时间
日期:2026-06-13
范围:本会话监测相关修复与 UI 改动 + 本地门控 + 生产可达性
生产:https://api.synaglobal.vip
进度条
| 步骤 | 状态 |
|---|---|
SSH 探针引号修复 (adee25d) |
✅ 已提交;前序会话已部署 |
插槽硬件详情 (4acbf04) |
✅ 已提交;前序会话已部署 |
| 监测历史北京时间 | ✅ 工作区实现 + changelog;❌ 未提交、未部署 |
| 本地 L2b | ✅ 26/26 + ruff |
| 功能单测 | ✅ 29/29(watch 22 + ops_patrol 7) |
| 前端 build | ✅ vite build 6.5s |
| 门控 7/7 | ✅(针对当前 index 已跟踪变更) |
| 生产健康 | ⚠️ 本机外网 curl 失败;SSH 无私钥 |
| 浏览器终验 | ⚠️ 北京时间需部署后终验 |
1. 已上线功能(代码库 HEAD)
1.1 SSH 探针引号破坏 bash(adee25d)
| 检查项 | 结果 |
|---|---|
remote_probe.py 使用 .strip(chr(34)) 而非 .strip('"') |
✅ |
test_ssh_watch_metrics_cmd_runs_locally |
✅ |
test_parse_ssh_watch_payload* |
✅ |
审计 docs/audit/2026-06-13-ssh-watch-probe-quote-fix.md |
✅ |
根因回顾:.strip('"') 会剥掉脚本内嵌 bash 双引号,导致远端探针语法错误、插槽全线 ssh_probe_failed。
1.2 监测插槽硬件详情(4acbf04)
| 检查项 | 结果 |
|---|---|
WatchProbeSample 含 cpu_cores / mem_total_gb 等 |
✅ |
fill_hardware_gaps_from_percent 单测 |
✅ |
test_parse_ssh_watch_payload_includes_hardware_specs |
✅ |
Agent _hardware_specs_dict() |
✅ 代码存在 |
1.3 Telegram 群聊 Chat ID(40cba6a / e95e522)
| 检查项 | 结果 |
|---|---|
_extract_chats_from_telegram_updates 含 my_chat_member |
✅(前序已验) |
test_settings_telegram.py |
✅ 纳入 29 passed |
2. 工作区待部署:监测历史北京时间
| 检查项 | 结果 |
|---|---|
formatChartAxisBeijing / 各 watch 组件引用 |
✅ |
WatchMetricsPage 「北京时间」标签 |
✅ |
Changelog 2026-06-13-watch-history-beijing-time.md |
✅ 27 行 |
审计 docs/audit/2026-06-13-watch-history-beijing-time.md |
❌ 缺失(提交前建议补,避免 Gate 2/7 在含该 diff 时失败) |
git commit / 生产 web/app/ |
❌ 未做 |
逻辑:API recorded_at 为 UTC naive / ISO-Z;parseApiDateTime 转 instant 后 Asia/Shanghai 格式化。示例:2026-06-13 04:30:00 UTC → 展示 2026-06-13 12:30:00。
3. 本地验证
bash scripts/local_verify.sh → 26/26 passed, ruff OK
pytest test_watch_metrics.py → 22 passed
pytest test_ops_patrol_sync.py → 7 passed
cd frontend && npx vite build → OK
deploy/pre_deploy_check.sh → 7/7 gates passed
curl http://127.0.0.1:8600/health → ok
4. 生产可达性(本环境)
curl -sk https://api.synaglobal.vip/health → 连接重置 / TLS 失败 (exit 35)
ssh nexus → 主机名不可解析
ssh azureuser@20.24.218.235 → Permission denied (publickey)
(本机无 ~/.ssh/id_rsa_nexus)
结论:无法在本 Agent 环境复验生产 /health 与监测插槽实时数据;不能据此判定生产宕机(与前序巡检一致,疑为本机网络/DNS/密钥限制)。请在可 SSH 生产的环境复验。
5. 工作区噪音(勿混入北京时间提交)
以下改动与本次监测巡检无关,提交北京时间时不应 git add:
browser-worker/整目录删除GlobalBrowserPanel.vue/BrowserPage.vue/useGlobalBrowser.ts等远程浏览器移除deploy/gate_log.jsonl、AI-HANDOFF等杂项
6. 风险与待办
| 优先级 | 项 | 建议 |
|---|---|---|
| P0 | 北京时间上线 | 补 audit → 仅 add watch+datetime+changelog → commit → vite build → 部署前端 |
| P1 | 生产复验 | 有可 SSH 密钥环境:curl -sk https://127.0.0.1:8600/health;打开 #/watch-metrics 看时间列 |
| P2 | 插槽数据 | 确认无 ssh_probe_failed;卡片显示核数/内存/磁盘 |
| P3 | Layer3 巡检 | 见 docs/reports/2026-06-13-session-features-patrol.md(与监测 UI 独立) |
7. 部署后终验清单
#/watch-metrics→ 探针记录「时间」列为北京时间(与系统时钟差 ≤1 分钟)- 趋势图横轴
MM-DD HH:mm与 tooltip 全文时间为北京时间 - 监测插槽有 CPU/内存/磁盘用量与规格(非全线失败)
https://api.synaglobal.vip/health→ok