通用监控与自动处置平台
2026-09-29 · 架构设计工作稿;不是实现、部署或生产验收结论。 已确认方向:先建立不依赖具体业务的通用系统,再通过场景包扩展;普通使用者无需理解PromQL;可采用Prometheus作为底层引擎。 本文主讲平台对象、转译、检测、响应与自动处置。业务接入另见鼎味场景包。不新增REQ,不修改原型、业务状态机或Runtime。 文档维护:主架构会话;正式平台、插件、安全和运行负责人须落实,见定案条件D-15。
1. 目标、边界与设计依据
平台在没有零售、设备或某个业务领域知识时也必须成立:接入观察,定义判断,发现需要关注的情况,组织责任,执行获准动作,核验结果。结果可以是异常恢复,也可以是达标后的协作任务完成,不能把所有触发都解释成故障。删除全部专用场景包后,仍能配置一个HTTP探测或通用计数信号,检测条件、通知值班人员、执行获准流程并核验结果。
平台拥有配置、观测接收、评估、告警事件、通知、处置工单和自动化执行记录;不拥有被监控系统的事实与合法状态迁移。监控不是源系统正常流程的替代调度器;自愈调用源系统公开的受控能力,不直接写源数据库。
通用性来自稳定的对象模型和扩展契约,不来自任意SQL、任意脚本或在核心代码里不断增加领域分支。指标目录由数据接入与语义登记产生,不作为推导平台的起点。
参考与取舍:
- 蓝鲸作为采集、监控、路由、自动化协作的能力组织参考,不预设部署整个蓝鲸或承诺其插件可以直接复用。2026-09-29核读官方架构说明、设计理念、代码分层:借鉴独立可复用服务、场景组合和适配边界,不照搬其部署拓扑。上述overview资料不能证明最新版本所有界面行为。
- 蓝鲸标准运维官方说明将流程编排与自助执行分开,提供插件、参数及分支组合。本平台借鉴“维护者编排、使用者绑定参数”的分工,不把整套编排复杂度交给客服;其通用任务的跳过/重试能力不直接成为鼎味资金或履约动作的授权。
- Prometheus将规则评估与告警通知分层,Alertmanager承担归并、静默、抑制和通知等能力,见官方告警概述。本平台仍需自己的策略模型、对象级核验、工单与执行记录。
- Prometheus规则支持持续触发和防抖,见官方规则说明。这些是可采用的引擎能力,不自动满足本平台的来源完整性及恢复验收要求。
| 方案 | 取舍 |
|---|---|
| 直接向使用者暴露PromQL与引擎配置 | 不选作普通入口:技术语法不能解释责任、恢复和动作安全;专业诊断可受控查看生成物 |
| 为每个业务单独写监控页面和流程 | 不选作内核:产生重复告警、排班和恢复系统,不能证明通用性 |
| 通用策略模型+可替换引擎适配+场景包 | 本轮选择:隔离语义和引擎;代价是编译校验、版本兼容及发布协调必须独立设计 |
| 自研所有采集、时序和告警基础设施 | 暂不选择:复用成熟引擎;具体组件版本、容量与可用性方案在D-15验证后定案 |
2. 逻辑结构与责任
flowchart TD
U[通用配置界面或场景化引导] --> C[规范策略与版本管理]
C --> V[类型 权限 成本 依赖校验与试算]
V --> B[版本化执行计划与发布协调]
S[指标 日志 事件 探测 外部告警] --> A[接入适配与数据质量]
A --> E[指标引擎或对象检测器]
B --> E
E --> G[评估归一化与告警事件]
G --> R[响应计划与处置工单]
R --> N[通知 值班 升级]
R --> X[获准的自动处置流程]
X --> T[目标系统受控能力]
T --> F[回源验证]
F --> G
F --> R
| 逻辑责任区 | 拥有 | 不拥有 |
|---|---|---|
| 配置控制面 | 策略、模板、连接器登记、权限、发布代际和编译产物 | 运行结果;源系统业务规则 |
| 数据与检测面 | 观测接收、水位、检测执行与证据、引擎适配 | 告警接手、源业务是否完成的最终裁决 |
| 告警与响应面 | 平台事件身份、归并、静默、响应计划、通知与工单 | 任意改源状态、把投递当接单 |
| 自动化执行面 | 步骤调度、执行预算、回执、验证与人工接管 | 超出连接器权限的副作用或无限重试 |
这是逻辑责任分离,不要求四个微服务。Platform是横向技术能力,不新增零售业务域。身份权限通过既有Identity接缝取得;密钥使用引用,不进入策略文本、指标标签或通知正文。
3. 核心对象与关系
下列名称是语义模型,不是已冻结的数据库表、HTTP路径或SDK类型。
| 对象 | 身份与维护内容 | 关系与不变量 |
|---|---|---|
| MonitoringSpace | 稳定空间身份、管理与数据范围 | 所有数据、缓存、查询、规则和执行绑定空间;范围不只靠界面过滤 |
| Target / TargetType | 对象身份、类型、归属、能力和版本 | 源系统决定对象关系;标签不是授权依据,对象消失不代表健康 |
| DataSource / ConnectorVersion | 接入方式、能力、凭据引用、输入输出Schema | 已发布版本不可覆盖;不同接入方式不被强制转换成时序 |
| Observation / EvidenceRef | 来源、对象、发生/接收时间、版本、质量、证据引用 | 指标样本、日志、事件、探测结果保留各自类型;不共享万能value字段解释所有事实 |
| SignalDefinition | 类型、单位、计算口径、允许维度、时效与明细查询 | 指标只是Signal之一;源语义由提供者维护,平台维护登记及执行映射 |
| QueryDefinition / QueryRevision | 信号版本、范围过滤、分组、统计函数、窗口、时区、质量要求 | 可被视图与策略复用;策略固定查询修订,视图筛选不静默改规则;查询无通知副作用 |
| Policy / PolicyRevision | 对象选择、检测条件、恢复、数据要求、响应引用 | 一个策略多不可变修订;当前有效修订通过版本化激活指针选择 |
| CompiledPlan / Deployment | 依赖版本、编译器版本、摘要、引擎产物、激活代际 | 规范策略为权威;产物可重建且须可回读解释,不独立人工修改 |
| Evaluation | 对象/范围、策略修订、窗口、水位、结果与依据 | 结果区分命中、正常、未知、错误,不用无数据合成正常 |
| AlertEpisode / TriggerOccurrence | 持续异常事件,或一次边沿/周期触发记录;各自保留证据与身份 | 按§7事件模式选择,不由指标名称决定;终结记录不复活,周期触发不伪装故障恢复 |
| ResponsePlanRevision / ResponseInstance / Incident | 处置计划修订、响应实例、关联触发、工单责任、步骤及关闭依据 | 响应实例协调通知/工单/执行而非替代各自状态;选择建单时一事件一主处置工单,子任务不重复承担同一动作 |
| NotificationDelivery / DutyAssignment | 投递目标、原请求、回执;排班及接手快照 | 投递、接单、交接不同;升级不清除原责任 |
| RunbookRevision / AutomationRun / StepAttempt | 流程版本、输入、动作授权、尝试和结果 | 流程定义与执行实例分离;同实例重试保留步骤业务身份 |
| ScenarioPackageRevision | 类型、词汇、信号、模板、连接器引用及依赖清单 | 只扩展与绑定,不绕开平台权限或偷偷修改既有策略 |
重要告警必须有可追踪响应记录。通用响应计划可为通知、工单、自动化或其组合;严重级别与风险政策限制允许组合。场景包可要求全部告警自动建单,但内核不把每个普通观察都强制变成工单。
3.1 配置与运行不是同一条记录
查询修订 → 策略修订 → 响应计划修订 → 套餐修订,组成可复用配置依赖;评估 → 触发记录 → 响应实例 → 投递/工单/步骤尝试,组成运行证据链。响应实例固定依赖版本和当时的目标集合。编辑配置不能改写历史实例;删除依赖须检查有效策略和未结实例。
数据类型、检测方式、事件模式、响应方式是四个独立选择轴。累计量不自动意味着“通知备勤”;温度指标也不自动授权调节设备。组合是否成立由能力、类型和权限校验决定,模板仅提供推荐组合。兼容性不能只判断数据源和套餐是否来自同一个场景包。
4. 数据接入与观察完整性
支持拉取指标、订阅事件/日志、主动探测和外部告警接入。每个适配器声明认证、能力、时间语义、分页/游标、重试、速率限制、重复及错误行为;入站观察必须验来源和空间。远程地址受白名单与网络隔离约束,不能通过探测或Webhook访问任意内网地址。
- 指标用受控维度聚合;高基数对象身份放在授权明细/证据索引,非默认时序标签。空间设置序列、查询成本、存储、接入速率与并发配额,超限明确拒绝或降级并告警,不静默截断为正常。
- 区分事件时间与接收时间,声明窗口、水位、可接受迟到、时钟偏差和数据覆盖率。累计量需声明去重、重启/重置与源版本更正行为;事件重放不能二次累计。
- 区分无对象、零值、无数据、过期、连接失败和查询错误。空集合只有在对象清单与数据范围完整时才可解释为零;局部数据不得输出整个范围健康。
- 迟到观察可以补历史,但不能倒转当前事实或重新触发已执行副作用;对乱序按源版本/序列裁决,无法裁决则挂起核验。
- 事件流负责及时感知,周期性回源核对负责查漏。断点、去重和水位持久化;回放默认仅重建观察与评估,不自动重放处置动作。
- 证据包含可核对的对象集合/查询快照引用,必须标明“触发时对象”和“当前对象”的差异。明细查询再次鉴权,不能通过告警摘要泄漏受限身份。
- 数据质量作为独立健康信号。采集失败导致规则不能判断时,原告警不自动恢复,同时产生采集链路问题。
5. 扩展契约:不依赖具体业务
| 扩展类型 | 必须声明 | 平台拒绝的情况 |
|---|---|---|
| 数据接入适配器 | Schema、对象映射、身份验证、时效、水位、质量、凭据与成本 | 无来源身份、空间不可验证、数据不完整却声称完整 |
| 检测器/引擎适配器 | 条件类型、单位、窗口、四态结果、恢复检查、版本与能力矩阵 | 不支持的条件被静默降级;不能解释计算依据 |
| 动作连接器 | 输入输出、目标身份、授权、前置条件、幂等/查询能力、副作用与补偿限制 | UNKNOWN时不可安全查询却允许盲重发;未声明影响范围 |
| 通知/工单适配器 | 路由、最小消息、投递/回执身份、重试、外部编号与同步语义 | 外部工单关闭直接改业务事实;重复回执重复建单 |
| 场景包 | 类型、模板、词汇、Schema版本、参数边界、依赖与兼容范围 | 安装即发布策略、自动授予写权限、覆盖运行中版本 |
插件登记、审查、测试、发布、停用分别留痕。执行器隔离凭据、网络、资源与运行时间;输入输出校验,日志脱敏。普通使用者不获得任意代码/SQL执行能力;专业自定义扩展也必须经相同注册、审计和安全边界。
场景包安装只登记能力与模板;启用需绑定本空间的数据源、责任和动作授权。升级提供兼容检查与差异预览,既有策略和运行实例固定原依赖版本,不能热替换步骤语义。停用/卸载前盘点有效策略和未决执行,禁止留下悬空依赖;回退包版本也不撤销已发生的外部效果。
6. 规则模型、无代码转译与发布
6.1 双层交互,同一个规范模型
通用配置:对象范围 → 信号 → 条件与组合 → 评估窗口 → 触发/恢复 → 响应。可配置阈值、持续时间、变化、缺失检测、事件匹配和对象期限检查;每种条件须有已验证的检测器能力,不承诺任意表达式都能跨引擎执行。
场景引导:通过场景包提供词汇、模板和默认约束,但保存为同一PolicyRevision。没有场景包也能用通用编辑器完成监控;装入场景包只是降低认知成本,不形成第二个策略事实源。
类型化条件树至少表达:稳定信号引用/版本、目标选择、运算符、单位、窗口、最小样本或覆盖要求、AND/OR分组、触发与恢复条件、无数据策略、时区/日历、严重级别和响应引用。多个信号联算必须声明对齐窗口和关联键,未知采用显式逻辑,不把缺项按false处理。
6.1.1 查询先于判断,不能把接入来源当作唯一查询
查询编辑需要区分以下内容;它们不能合成一个“周期”字段:
| 内容 | 决定什么 | 不可偷换 |
|---|---|---|
| 信号与语义版本 | 原始值是什么、单位和精度、可用维度 | 源名不等于统计口径;订单成立数不等于待打包数 |
| 范围过滤 | 哪些授权对象参与 | 选择全店不等于当前登录者可见的一部分;部分覆盖须可见 |
| 分组维度 | 每个站点分别判断,还是合并判断 | 分组键进入事件身份;跨组混算不能合并成一件事 |
| 统计函数与窗口 | 当前值、窗口最大值、计数、日累计等 | 快照累计值不能再把每分钟样本求和;日历日不等于滚动24小时 |
| 检测频率 | 多久执行一次查询和判断 | 一分钟检测不代表统计最近一分钟 |
| 连续触发/恢复窗口 | 证据需要保持多久 | 连续有效覆盖不等于挑出若干离散命中点 |
| 展示时间范围 | 图表查看哪段历史 | 拖动图表缩放不更改策略统计窗口 |
信号声明可用的统计函数和精确度。不支持的组合解释原因而非生成看似有效的表达式。对于精确商业订单日累计,优先消费由业务/Analytics按身份去重、带统计日起点和水位的指标;Prometheus increase会处理counter重置并外推区间,可能返回非整数,不能未经验证冒充精确商业单据计数,参见官方函数说明。Prometheus counter重置也不是业务日切。
查询预览返回分组序列、单位、覆盖、水位和受权证据引用。同一QueryRevision用于预览和检测,执行时重新鉴权;历史图可能随迟到数据修订,触发证据快照不随之重写。缺失数据的策略显式配置:未知时阻止依赖该数据的危险动作,可另触发数据质量事件;不是自动补零。
多条件在对齐的对象/分组与时间上求值。未知不能当false;错误保留诊断。即便某个OR分支已足以判断命中,动作所需的对象身份、授权和前置证据仍须完整,不能以逻辑短路绕过安全要求。
6.2 编译与解释
规范策略 → Schema/类型/单位校验 → 权限与目标范围校验 → 数据质量和成本预检 → 引擎能力匹配 → 生成执行计划 → 历史试算 → 影子评估 → 审核发布。
- 生成物绑定策略、依赖、编译器和引擎版本及内容摘要。前台自然语言回读、实际执行计划与命中解释均从同一模型生成。
- 普通使用者无需PromQL。专业人员可诊断生成表达式;若需修改,回到规范模型/受审扩展,禁止另改引擎配置成为隐藏权威。
- 试算展示命中频次、对象、样本覆盖和无数据时段,不承诺历史表现即未来正确。影子评估禁止外部通知、真实工单及自愈副作用。
- 参数超界、空范围歧义、指标过期、未配责任、套餐缺权限、未知单位或不支持语义时阻止相关发布,给出可理解的原因。
6.3 发布一致性与Prometheus接缝
Prometheus为候选时序采集/查询与规则引擎;对象期限检查由独立适配器承担。阈值恢复滞回、来源健康等不能一一映射为PromQL语义时,执行计划须声明补充检测步骤,不把缺失序列视为恢复。
本设计选择平台告警服务拥有事件身份、响应、通知路由和生命周期;不同时运行另一套面向用户的Alertmanager路由。Prometheus输出经评估适配器进入平台;需独立获取评估结果及健康信息并持久化,不能仅依赖可能被静默/归并的通知Webhook获取完整告警历史。未来引入Alertmanager必须明确委托边界与唯一策略权威,避免双重防抖和重复通知;协议验证见D-15。
发布不是“上传配置成功”:先准备并校验全部必需产物,收到引擎加载确认,再以受版本保护的激活代际切换副作用授权。旧代际结果可留档,不得继续产生新响应。部分部署失败保留旧有效计划,新计划不显示生效;激活后依赖失效则标记降级并停止危险自动执行。运行时配置漂移报警,不将外部修改静默回写成用户策略。
回退通过新的激活代际指向已验证旧修订;不删除告警、工单和已执行事实。发布前必须声明已有事件是沿用固定版本还是逐一受控交接;切换期间不能两版同时对同一目标自愈。停用策略停止新检测/处置授权,不把未决事件改成恢复;删除前须交接存量责任。
7. 告警、工单与执行的独立生命周期
以下为本轮语义级约束,尚非可直接生成生产枚举的完整命令合同;精确迁移、错误与竞争测试归D-15。
| 对象/维度 | 主要路径 | 关键门禁与异常出口 |
|---|---|---|
| 策略修订与部署 | 草拟→校验→试算/影子→待发布→生效;可拒绝、部署失败或停用 | 编辑生成新修订;发布CAS;失败不能替换有效指针 |
| 评估健康 | 有效 / 无数据 / 过期 / 错误 | 与检测命中独立;恢复须有覆盖要求内的新鲜证据 |
| 持续异常检测与事件 | 正常→待触发→告警中→恢复观察→已恢复 | 仅持续异常模式适用;未满足持续窗口回到正常;恢复终态后复发创建新事件 |
| 边沿/周期触发 | 待判定→记录一次触发;按所选规则重新武装或开启下一周期 | 触发记录为不可逆事实;无需虚构恢复值,不以日切关闭在途工作 |
| 响应实例 | 待启动→执行中/待人工→待核验→已完成;可受权中止 | 汇总必需义务的完成证据,不以单一投递成功结束整个方案;中止需交接在途/未知义务 |
| 工单 | 待分派→待接单→处理中→待验证→已关闭 | 验证失败回处理中;无排班/接单超时升级;关闭不复活,后续问题关联新单 |
| 自动执行 | 待执行→前置核验→执行/等待→验证→成功或失败;可待人工、中止 | 超时结果可能UNKNOWN;停止调度不证明外部动作停止;结果未知保留核验责任 |
| 通知 | 待投递→已受理→已送达或失败/未知 | 已读/接单单独记录;重试查原请求,不能把受理当送达 |
告警“是否被认领”“是否静默”“是否被关联根因抑制”是独立属性,不改变问题真假。维护窗口可抑制通知;自动处置是否同时禁用必须显式配置,默认不因静默而执行危险动作。抑制须有依赖证据和有效期,不能隐藏互不相关的故障。
持续时间以有效观察覆盖的窗口为依据,不以页面打开时长计时。待触发期间出现来源未知,不能继续累加为“持续异常”;恢复观察遇到未知,不能继续累加为“持续正常”。重启保留已知证据和水位,只有能证明缺口期间连续有效才延续窗口;否则重新建立连续窗口,同时保持已有告警未恢复和数据质量问题可见。
持续异常事件去重键至少包含空间、策略连续性身份、目标/受控维度和异常发生代次;其他模式的身份见§7.1。策略修订与样本时间作为证据,不因每个样本换时间戳而制造新事件。修订交接必须显式维护连续性,不能简单因修订变化重复建单。同事件创建主工单有唯一约束;聚合通知可以关联多个事件,但不得吞掉各对象处理结果。
检测恢复可发生在自愈之外,不证明某套餐产生了效果。自动执行成功必须完成其验收;工单关闭需对应响应计划的完成证据、无未决外部副作用和完整处置结果。故障修复型工单还需源恢复证据;协作型工单需任务完成依据,不要求累计量下降。未知、误报裁决、范围失效不能伪装“已恢复”;允许受权登记误报/退役处置,但保留诊断依据并隔离未结义务,不能用其绕开事实核验。
7.1 三种事件模式与三个不同的“重复”
| 模式 | 触发与重新触发 | 结束依据 |
|---|---|---|
| 持续异常 | 持续条件成立形成episode;恢复窗口完成后才开启新代次 | 检测恢复结束episode,未结工单/执行仍独立保留 |
| 条件边沿 | 已观察到有效未命中→有效命中;明确重新武装条件 | 保存一次发生事实;响应按完成条件结束,不给发生事实设置恢复状态 |
| 周期内首次命中 | 以明确时区/日历生成周期ID,每范围/分组周期首次有效命中 | 新周期可新触发;昨日未结工作不自动完成 |
事件去重、重复提醒、动作重试是不同机制。重复样本不得新建同一事件;重复提醒针对既有未响应实例,受渠道预算约束;动作重试保留原操作身份并遵循UNKNOWN核验。它们不得共用一个“重复间隔”字段。
边沿模式在首次启用时已经命中,默认仅建立基线;若用户明确选择“当前已命中也触发”,发布预览必须列出受影响对象。周期首次模式在启用当期已命中时允许产生该期首次响应,但必须展示预估影响。静默/停用结束后的补发行为必须显式选择,默认不追补历史协作任务;下一次新鲜评估可按当前模式触发,不能回放过期任务。
周期触发身份包含空间、策略连续性身份、模式、范围/分组键、周期ID;去重账必须覆盖迟到/重放保留期。编辑阈值、日历、分组、模式需差异检查:普通修订不清空已触发账;身份语义变化需明确切换与旧责任处理,不能用复制/改版暗中绕过去重。跨策略可能重复动作,仍由§9目标/动作族互斥及响应计划预算约束。
日切后只收到昨日样本:判为当前周期数据缺失,不把昨日216单归入今日。今日计数更正下降:保留已发生通知,追加修正证据;不撤销现实增援,也不重新开放本期首次触发。任务不再需要时按有权撤销流程处理,不能伪造已完成。
8. 通知、值班、工单与升级
响应计划按空间、级别、对象范围、日历、时区和策略选择渠道、值班与套餐。支持站内、即时通信、邮件、短信、电话等连接器能力;具体供应商、成本和启用范围不在本轮预设。
- 分派固定事件发生时适用的排班和路由版本;轮班交接记录发起及接受,旧责任在接收前不消失。没有唯一有效值班人时保留待分派并升级到明确兜底责任,不能丢单或猜测人员。
- 建单、通知和自动执行各自持久意图与结果。建单失败保留原事件和原请求重试;外部工单返回编号后绑定,不换请求身份重复建单。
- 低风险可先自动处置,重要问题可通知与自动处置并行;人工接管与自动执行竞争同一处置权,接管后阻止后续自动写步骤,并核验已经在途的调用。
- 接单、响应、解决预算分别计时。升级沿预设责任链推进,不自动解除原工单;渠道失败触发备用路由,发送成功不等于有人接手。
- 外部工单关闭只是观察,需要平台按关闭门禁核验;不允许外部状态直接写源结果。聚合页按权限读取事件和工单,不产生第三套状态。
8.1 响应方案的可组合性
响应计划分别引用接收人规则、渠道/备用渠道、通知模板、工单模板、套餐版本、响应时限与升级规则。输入绑定来自类型化触发上下文(空间、目标/分组、窗口、数值、证据),不能靠解析中文通知正文传递业务参数。
普通使用者可选择已批准方案并填写范围、责任组、等待预算等允许参数;维护者在独立工作面编排步骤、错误出口与授权。两者操作同一版本化模型,不各维护一份逻辑。套餐兼容按输入Schema、目标能力、动作权限和风险检查;不同场景包的兼容只读能力可复用,同一包内也可能不兼容。
通知、等待响应和建单不是必然串行:可先建单再通知,也可并行。每个分支明确完成、失败、未知、超时出口及汇合条件;只有所有必需义务满足才完成响应。仅通知方案的“投递完成”不等于“问题解决”。重要响应缺责任兜底时禁止启用,不把通知组多人名单等同于有人负责。
手动补发、自动升级和备用渠道竞争时,检查当前响应版本与接单事实,保留每个渠道请求身份;已接单后停止未开始的催接单动作,核对已经发出的通知。外部回执迟到不能把已完成任务退回待接单。策略静默不默认解除既有响应超时责任;若需同时暂停响应,必须独立授权并交代已有义务。
9. 自愈套餐与安全执行
套餐为版本化流程:检查、动作、等待、条件分支、验证、审批、升级。允许有界循环,禁止无预算递归、隐式无限重试或通过套餐自我修改权限。
每版声明输入输出、目标选择、授权主体、风险等级、前置条件、动作连接器版本、幂等与查询协议、并发键、超时、总预算、最大影响范围、失败出口、验收与补偿限制。
- 先验证再行动:来源新鲜度、有效策略代际、对象当前版本、执行授权、目标数量及套餐完整性全部满足;执行时源系统再次检查自身不变量。
- 只有一个处置权:相同目标/动作族的人工与自动流程共享受保护的执行权。事件去重不替代动作互斥;租约过期也不证明旧调用未发生,源系统须支持业务幂等或fence。
- 结果未知先查询:外部超时保存原操作身份,查原请求。无安全查询/幂等能力的副作用进入人工核验,不通过增加重试次数求成功。
- 中止不是回滚:阻止未开始步骤,检查在途步骤;外部或实物效果只可按已声明能力补偿。不能恢复备份后重做未知动作。
- 验证独立:命令ACK、任务返回码、目标当前健康分别记录;只有验收条件满足才称自愈成功。验证失败或数据失联保留工单与恢复责任。
- 控制波及范围:单目标、套餐、空间和全局并发/速率预算;失败率过高可熔断。提供停止自动写操作的紧急开关,不同时停止观察和告警。
风险分级按副作用与可恢复性,不按按钮名称。只读查询也需限流与权限;受控重投递需原目标幂等;高影响动作需授权/复核;未声明风险的动作禁止自动执行。具体批准者与预算待D-15,不生成虚构生产授权。
10. 可靠性、安全与平台自监控
- 平台本地事务保护事件去重、主工单唯一性、激活指针与处置权;跨引擎和外部系统使用持久意图、Outbox/Inbox、幂等、对账,不宣称跨系统exactly-once。
- 评估/工单/步骤都有持久检查点。重启先恢复未决目标和原操作结果,不把未收到回执的工作重置成未执行;失联Worker被fence后不能继续写入。
- 配置编辑、发布、动作授权、值班接手与审计读取分权。异步执行复验服务身份与范围;授权撤回阻止新的越权动作,既有未结义务由显式受限恢复主体接手。
- 空间隔离覆盖数据接入、查询、去重、缓存、路由、凭据、导出和执行。下钻及通知字段最小化,审计追加留存;保留时长与数据删除政策待定,不能删掉尚未结清的执行证据。
- 平台监控自己的采集延迟、规则执行错误、部署漂移、事件处理水位、通知/建单失败、无人接单、自动化队列与权限失效。独立外部探针和备用通知链检查平台失联,不能让同一故障域独占自监控。
- 灾难恢复须恢复配置版本、事件代次、幂等账、工单、步骤和外部请求引用;先与引擎/外部回执核对,再逐步开放自动写动作。容量、HA拓扑、RPO/RTO、保留期及独立兜底人员在D-15定案和演练。
11. 通用工作面职责(不是原型映射)
| 工作面 | 主任务 | 不应混入 |
|---|---|---|
| 监控视图 | 观察健康、趋势、数据新鲜度并下钻 | 配置入口墙、把未知当正常的总分 |
| 对象与数据接入 | 管理对象、连接器、信号及质量 | 源业务资料维护和任意数据库浏览 |
| 检测策略 | 创建、解释、试算、发布与回退 | 直接要求普通使用者编写PromQL |
| 告警与处置 | 在事件上下文看责任、工单、自愈和证据 | 以工单状态替代源系统状态 |
| 通知与值班 | 维护路由、渠道、排班及升级链 | 重新实现身份/岗位权威 |
| 自愈套餐 | 编排、授权、试验和追查执行 | 任意脚本控制台和通用改状态入口 |
同一事件的观察、处置、证据适合共享上下文;配置与值班等不同任务独立。页面层次后续按模块设计规则推导,本轮不指定路由、菜单数量或重绘原型。
12. 验证覆盖与实施边界
12.1 不带业务词汇的三种设计推演
| 场景 | 相同内核如何承载 | 不能偷换的结论 |
|---|---|---|
| HTTP服务不可用 | Target为服务端点;探测连接器发布结果与探测器健康;策略按连续失败窗口触发;路由值班;获准套餐检查依赖并调用运维动作,再探测验证 | 探测器失联不等于端点故障;重启动作ACK不等于服务恢复 |
| 设备观测越界 | Target为设备;信号声明物理单位与采样时刻;阈值/恢复阈值形成滞回;告警与通知复用内核;写设备参数须独立动作授权 | 摄氏/华氏必须显式转换;传感器离线不能当温度正常;监控不默认代替设备安全联锁 |
| 通用作业停滞 | Target为作业实例;观察检查点和最后进度时间;期限检测器判断停滞;套餐查询原执行,具备原任务幂等才允许恢复 | 心跳存在不等于有进度;超时不证明未执行;新重试ID不代表新的合法任务 |
这三种推演不需要零售对象、资金语义或业务特判;差异由数据源、信号类型、检测能力、动作连接器和参数表达。此为文档层的通用性反证,尚未搭建三套运行场景。
12.2 覆盖与后续验证
以下是必须通过的设计反例及后续验证要求,本轮仅文档走查,不声称引擎或产品测试通过。
| 编号 | 场景/反证 | 预期及依据 |
|---|---|---|
| M-01 | 删除所有业务场景包 | HTTP探测仍可完成接入、条件、告警、响应、验证;§1/5/6 |
| M-02 | 重复/乱序/迟到观察、来源时钟偏差 | 不二次计数、不倒转状态、不重放副作用;§4/7 |
| M-03 | 正常值为0、空目标、缺数、过期、半数来源不可用 | 区分质量与检测结果,不虚假恢复;§4/7 |
| M-04 | 多评估节点、规则修订切换、恢复后复发 | 事件代次明确;一主工单;新代次不复活终态;§6/7 |
| M-05 | 通知失败、建单响应丢失、无排班、交接未接受 | 查原请求/重试、升级、保留责任;§8 |
| M-06 | 人工接手和两个套餐同时动作,旧Worker恢复 | 处置权、幂等与fence挡重复效果;§9/10 |
| M-07 | 动作超时、部分成功、中止、回执晚到 | UNKNOWN查原目标,不盲重试或回滚现实;§9 |
| M-08 | 指标改善但动作仍未知,外部工单先关闭 | 告警、执行与工单独立核验;§7/8/9 |
| M-09 | 越权查询、跨空间通知/套餐、探测访问内网、撤权 | 接入/查询/执行多层验证,禁止泄漏与越界;§4/5/10 |
| M-10 | 单位不匹配、条件不支持、部分发布、配置漂移、影子规则命中 | 拒绝或降级可解释;影子无副作用,失败不伪装生效;§6 |
| M-11 | 阈值抖动、告警风暴、静默、根因抑制过期 | 有界归并/防抖,问题与抑制分离,过期恢复正常通知;§7/9 |
| M-12 | 平台停机、备份恢复、套餐耗尽预算、来源大规模失联 | 外部健康检查、原身份恢复、熔断与人工接管;§9/10 |
| M-13 | 日累计快照被求和、滚动24小时冒充今日、counter重置 | 查询类型拒绝或明确口径差异;精确业务计数须去重来源与水位;§6.1.1 |
| M-14 | 周期触发后关单再扫描、日切收到昨日样本、统计更正 | 同期不重复,旧样本不触发新周期,旧工作不被日切完成;§7.1 |
| M-15 | 更改分组/事件模式、启用时已命中、恢复停用策略 | 影响预览及切换规则明确,不清空去重账或静默追补历史动作;§7.1 |
| M-16 | 接单同时升级、备用渠道重复回执、跨包套餐复用 | 责任和投递/动作身份分离,兼容性按Schema/能力/权限检查;§8.1/9 |
交付顺序:通用模型与协议 → 数据接入/检测 → 告警责任链 → 受控自动化 → 非业务场景验证 → 专用场景包。此为架构依赖,不是REQ/TASK计划或新审批流程。
当前仍缺精确字段/迁移合同、引擎适配验证、容量与隔离测试、运行人员和灾备证据;统一登记D-15。协议冻结前完成语义与能力验证,自动执行上线前完成权限、并发、外部效果和恢复演练。原型的三条状态规则不能作为这些覆盖的替代证据。