Files
Nexus/docs/design/plans/2026-06-09-prod-probe-health-check.md
2026-07-08 22:31:31 +08:00

1.5 KiB

实施说明 — 生产探针与健康检查补全(2026-06-09)

背景

  • prod_health_check.sh 鉴权段依赖 NEXUS_TEST_ADMIN_PASSWORD,生产 .env.prod 未配置且文件权限 root,导致 SKIP。
  • 国内运营商线路可能阻断外网 HTTPS,但 SSH 源站 127.0.0.1:8600 可用。

方案

  1. scripts/prod_probe.py:统一探针逻辑(外网公开 / SSH 源站 / 鉴权契约)。
  2. scripts/prod_probe_install.sh:在宿主机 .env.prod 写入探针口令(与 admin 登录一致,不入 git)。
  3. prod_health_check.sh:薄封装,调用 prod_probe.py

鉴权检查项

端点 断言
POST /api/auth/login 返回 access_token
GET /health/detail checks.mysql / checks.redis = ok
GET /api/alert-history/stats today/active/recovered/top_server
GET /api/alert-history/?per_page=50 items + total + per_page=50
命令/会话分页 items + total
POST /api/schedules/ once+push HTTP 201,随后 DELETE 清理

涉及文件

  • scripts/prod_probe.py(新)
  • scripts/prod_probe_install.sh(新)
  • scripts/prod_health_check.sh
  • docker/.env.prod.example
  • docs/project/nexus-1panel-operations-knowledge.md(探针小节)

验证

bash scripts/prod_health_check.sh
NEXUS_TEST_ADMIN_PASSWORD='…' bash scripts/prod_probe_install.sh   # 一次性配置生产

回滚

  • 删除 .env.prodNEXUS_TEST_ADMIN_PASSWORD= 行;探针鉴权段恢复 SKIP。