节点生命周期
节点生命周期包括创建、安装、上报、更新、轮换 secret、停用和删除。
创建节点
管理台创建节点时,Dash 会生成唯一 secret。创建接口不需要请求 body:
POST /api/admin/nodes/
创建后在节点列表读取 secret 和安装命令。
安装节点
推荐通过 Dash 的 /deploy 安装脚本安装:
安装脚本会调用:
node report install <dash-url>/api/node/metrics <secret>
report install 会先请求 /api/node/identity,取得 Dash 的 install_id,再写入本地 report.yaml。
上报状态
节点正常上报时,Dash 会更新:
- 当前指标。
- 历史指标。
- 前台热点快照。
- 节点静态信息。
- Agent 版本。
- 告警 dirty 标记。
- 流量统计输入数据。
静态信息不完整时,节点会继续重试,直到完整上报。
Secret 轮换
- 在 Dash 管理台修改节点 secret。
- 在节点执行:
./node report update <id> <new-secret>
report update 只修改 key,不修改 URL。如果 URL 也变了,使用:
./node report install <new-url> <new-secret>
节点迁移到新 Dash
如果新 Dash 有不同 install_id,report install 会写入新的 target。相同 server_install_id 但目标不同,命令会要求交互选择保留或替换。
非交互环境中遇到重复 server_install_id 会失败。需要在终端执行并选择。
停用节点
短期停用:
systemctl stop ithiltir-node.service
Dash 会按 app.node_offline_threshold 判断离线,并触发内置离线告警。
长期停用:
- 停止节点服务。
- 在 Dash 管理台删除节点。
- 按需删除节点本地
/var/lib/ithiltir-node或%ProgramData%\Ithiltir-node。
删除节点
管理 API:
DELETE /api/admin/nodes/{id}
删除是逻辑删除,不应依赖它做历史数据清理策略。历史保留仍由 TimescaleDB 策略控制。