# 审计 — Layer3 health_monitor P2 + 监测 UI P3 **Changelog**: `docs/changelog/2026-06-14-layer3-health-monitor-p2-p3-ui.md` ## 审计范围 | 文件 | 变更 | 状态 | |------|------|------| | `deploy/health_monitor.sh` | 状态目录、docker_cmd、heredoc Telegram | ☑ | | `tests/test_ops_patrol_sync.py` | bash -n + 路径断言 | ☑ | | `frontend/src/utils/echartsColor.ts` | 新建 | ☑ | | `WatchSparkline.vue` | rgba 渐变 | ☑ | | `WatchProbeRecordsTable.vue` | 空表隐藏分页 | ☑ | | `WatchSlotCard.vue` | ⋮ 菜单、暂停态精简(同批部署) | ☑ | | `WatchMetricRing.vue` | `dimmed` 占位(同批) | ☑ | | `server/background/watch_probe_runner.py` | 删除未使用 import | ☑ | ## Step 3 | H | 规则 | 结论 | |---|------|------| | H1 | sudo docker | SAFE — 与 `nexus-1panel.sh` 同模式,失败则跳过重启 | | H2 | 状态目录权限 | SAFE — 在 DEPLOY_DIR 下,cron 用户可写 | | H3 | Telegram HTML | SAFE — heredoc 真实换行,`--data-urlencode` 不变 | ## Closure | H | 判定 | |---|------| | H1–H3 | SAFE | ## DoD - [x] changelog - [x] `bash -n` + pytest ops_patrol - [x] vite build - [ ] 生产 L3 日志 5min 无新错误