Files
Nexus/docs/design/plans/2026-06-07-ops-patrol-layer3-telegram.md
2026-07-08 22:31:31 +08:00

1.3 KiB
Raw Permalink Blame History

技术说明 — Layer 3 宿主机巡检 Telegram 打通

日期: 2026-06-07

目标

设置页保存 telegram_bot_token / telegram_chat_id 后,Layer-3 health_monitor.sh 能可靠发送 Telegram(/health 连续失败 → 重启通知)。

三层配置读取顺序(health_monitor.sh

  1. 宿主机 ${NEXUS_ROOT}/.envdocker/.env.prod
  2. 容器 /app/.envdocker exec grep
  3. 新增 容器内 Python 从 MySQL settings 表加载(与运行时 load_settings_from_db 一致)

应用内同步(保存 Telegram 时)

ops_patrol_sync.sync_telegram_to_env 写入:

  • /app/.env + NEXUS_PERSIST_DIR/.envnexus-state 卷)
  • NEXUS_HOST_ROOT 可写:{NEXUS_HOST_ROOT}/docker/.env.prod

API

方法 路径 说明
GET /api/settings/ops-patrol/status 巡检 Telegram / env 同步状态
POST /api/settings/ops-patrol/sync-telegram 手动同步 DB → .env

部署

deploy-production.sh 健康检查通过后,若远程无 nexus-health-monitor cron,自动执行 install_ops_cron.sh

回滚

  • revert 本 commit;cron 条目可保留(行为与旧版兼容,仅多 DB 回退)
  • 删除 .envNEXUS_TELEGRAM_* 不影响应用内 DB 配置