外观
处置(Mitigation)
检测只告警不抑制。处置是从告警一键发起的人工运维动作:每个动作由操作员显式触发、声明式下发、可撤销,且挂在 /admin 前缀下天然进审计日志。
代码:app/api/v1/admin/mitigations.py。接口见 管理面 API,一线操作与判例见 抖动处置。
拒收前缀
POST /admin/fleet/mitigations/prefix-block 与 prefix-unblock。
把前缀写进节点的 base_template.bird.blocked_prefixes(字段级合并,与路由调优同法),materializer 透传进 DesiredState,agent 渲染进 eBGP 导入过滤器做精确匹配 reject,不波及其余路由。
- 缺省作用于 fleet 级——全部未退役节点。退役节点绝不能被重物化,那等于变相 recommission。
- 可传
nodes指定子集,例如先在单节点金丝雀试。 - 幂等。非法前缀
422、未知节点404、退役节点409。
需要 fleet agent ≥1.0.187:更早的 agent 对 DesiredState 的严格校验不识别
blocked_prefixes字段。
断开与恢复对端
POST /admin/fleet/mitigations/peer-disable 与 peer-enable。
按对端 AS 把它的全部 eBGP 会话 enabled 置为 False:BIRD 摘除协议、停收发路由,WireGuard 隧道保留,恢复时秒级重建。反向操作恢复全部会话。
- 幂等。无该 AS 会话返回
404。 - 隧道保留是刻意的:拆隧道要重新协商密钥与端口,而抖动处置往往是临时的。
事务纪律与撤销入口
写路径遵守与其它管理写相同的纪律:变更与 materialize 同事务,提交后再广播门铃。
GET /admin/fleet/mitigations 汇总当前生效的全部拒收前缀(按前缀归组列出波及节点)与全部 disabled 会话,供界面渲染「处置中」清单与撤销入口。任何处置都能从这里原路撤回。