Files
Nexus/docs/reports/2026-06-13-watch-session-patrol.md
2026-07-08 22:31:31 +08:00

4.6 KiB
Raw Permalink Blame History

巡检 — 监测 SSH 探针 / 硬件详情 / 历史北京时间

日期2026-06-13
范围:本会话监测相关修复与 UI 改动 + 本地门控 + 生产可达性
生产https://api.synaglobal.vip

进度条

步骤 状态
SSH 探针引号修复 (adee25d) 已提交;前序会话已部署
插槽硬件详情 (4acbf04) 已提交;前序会话已部署
监测历史北京时间 工作区实现 + changelog 未提交、未部署
本地 L2b 26/26 + ruff
功能单测 29/29watch 22 + ops_patrol 7
前端 build vite build 6.5s
门控 7/7 (针对当前 index 已跟踪变更)
生产健康 ⚠️ 本机外网 curl 失败;SSH 无私钥
浏览器终验 ⚠️ 北京时间需部署后终验

1. 已上线功能(代码库 HEAD

1.1 SSH 探针引号破坏 bashadee25d

检查项 结果
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

检查项 结果
WatchProbeSamplecpu_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 ID40cba6a / e95e522

检查项 结果
_extract_chats_from_telegram_updatesmy_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-ZparseApiDateTime 转 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.jsonlAI-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. 部署后终验清单

  1. #/watch-metrics → 探针记录「时间」列为北京时间(与系统时钟差 ≤1 分钟)
  2. 趋势图横轴 MM-DD HH:mm 与 tooltip 全文时间为北京时间
  3. 监测插槽有 CPU/内存/磁盘用量与规格(非全线失败)
  4. https://api.synaglobal.vip/healthok