跳转到主要内容
修复动作是事先定义好的一步处置:调一次 Jenkins、GitHub Actions、Argo、Rundeck 这类系统的地址,或在登记的 Kubernetes 集群上重启、扩缩容、回滚一个工作负载。处理事件的人在事件上一键发起,每次都要审批,批准后立即执行,结果和验证都记在事件的时间线上。 打开 告警 → 修复动作。查看需要 alerts.remediation.read,定义动作和登记集群需要 alerts.remediation.manage,在事件上发起需要 alerts.incidents.remediate,批准需要 agent.approve。

定义修复动作

点击 新建修复动作,填写: 列表列出每个动作适用的服务(没限定时为 所有事件)和风险等级,停用的标着 已停用,在事件上看不到。

HTTP 请求

地址、请求头和请求体里可以用 {{incident.id}}、{{incident.summary}}、{{incident.severity}}、{{incident.status}}、{{incident.service}}、{{incident.url}} 和 {{params.name}}。填进地址的值按百分号编码。 请求只连地址解析出的 IP,不连云厂商的元数据地址,不跟随跳转,30 秒超时;返回 2xx 算执行成功,响应的开头记在执行记录里。

Kubernetes

登记 Kubernetes 集群

在 Kubernetes 集群 里点击 添加集群,填写 名称、API Server 地址、CA 证书(PEM 格式,空着用系统信任的根证书)和 ServiceAccount Token。Token 加密保存,不再显示。测试连接 读一次集群版本。 给 MoleSignal 单独建一个 ServiceAccount,只授予要用的权限:对目标工作负载的 get 和 patch,扩缩容还要 scale 子资源,回滚还要能列出 ReplicaSet。例如只允许操作 shop 命名空间里的工作负载:
连接只连 API Server 地址解析出的 IP,不连云厂商的元数据地址。还有动作在用的集群不能删除。

在事件上执行

事件详情的 修复动作 列出适用于这个事件的动作:动作没限定服务,或事件的服务对得上。点击动作旁的 执行,填好参数,写一句 原因(例如「checkout 连接池耗尽,先重启」),然后 提交审批。事件已经解决时不能发起。 提交后,这次执行等审批:L2 要一位、L3 要两位有 agent.approve 的人批准,发起人不能批准自己发起的。审批人在同一张卡片上点 批准 或 驳回,也可以在 Mole Agent 的审批里处理。批准够人数后立即执行。 发起、执行和验证都记在事件的时间线上,发起还记进审计日志。 Mole Agent 能列出事件适用的修复动作,也能提议执行;它提议的执行不论动作设的风险等级,一律要两人批准。

API

最后修改于 2026年10月31日