工作区
创建状态页
选择创建状态页,然后配置:- 面向客户的名称与全局唯一 Slug;
- 一种或多种界面语言、默认语言与 IANA 时区;
- 公开或私有可见性;
- 投递保留期、私有会话有效期与事件历史窗口;
- Logo、品牌颜色与可选自定义域名。
/status/SLUG。
组件
每个组件包含名称、描述、顺序、可见性与一个面向客户的状态:- 正常
- 性能下降
- 部分中断
- 严重中断
- 维护中
组件分组
像目录收纳文件一样把相关组件放进分组。选择添加组件,类型选分组,填写名称和描述;再在组件的设置里,从所属分组选择它所在的分组。- 分组没有自己的状态,显示组内组件中最差的状态;它的状态条中,每一天取组内当天最差的组件。
- 公共页面上,一个分组是一行,标明组件数量,读者展开后看到各个组件。组内有组件不正常时,分组默认展开。
- 分组只收纳组件,不能嵌套分组。事件、维护、订阅和自动化规则选择的都是组件,不会单独选择分组。
- 上移和下移在同一分组的组件之间排序;分组本身在最外层的条目之间排序。
- 把组内组件移出或归档之后,分组才能归档。
依赖
组件可以依赖技术服务、拨测检查和告警规则,健康度取依赖传递的最差状态。告警事件或拨测检查发生变化后,MoleSignal 会在几秒内重新计算;此外每分钟全量计算一次。在组件设置的依赖中添加:
告警事件按严重度传递:critical 为严重中断,error 为部分中断,warning 为性能下降,info 不影响,已静默的事件不计入。每条依赖可以选择影响按原样传递,或在组件有降级方案时选择最多算性能下降。一个组件最多 100 项依赖;分组没有自己的依赖。
健康度如何影响组件:
组件设置中会显示最近一次计算出的健康度,以及造成它的依赖。
事件生命周期
先把事件保存为草稿,选择受影响组件与影响程度,并编写首条客户更新。发布后事件会公开,并向匹配的订阅者投递更新。1
调查中
确认症状,并告知客户团队正在调查。
2
已定位或处理中
说明已知原因或正在执行的恢复操作。
3
监控中
说明服务已经恢复,团队正在验证稳定性。
4
已解决
发布结束更新。MoleSignal 会恢复组件状态,并在历史中增加一行完整事件。
下次更新与通知
每次发布更新都可以承诺下一次更新的时间:在下次更新里选择 15 或 30 分钟内,1、2、4 或 24 小时内,或不承诺。公共页面会在事件详情和进行中事件的通知上显示这个承诺,邮件和 Webhook 也会带上。结束事件的更新、只是已计划的维护不承诺下次更新。通过 API 发布时,用微秒表示的next_update_at,须在 1 分钟到 7 天之后。
通知订阅者决定这次更新是否发给订阅者。更正措辞时可以关闭:页面照常更新,但不发送任何通知。工作区时间线会把这样的更新标为未通知订阅者。手动修改组件状态时也有同样的开关。通过 API 发布时,传 "notify": false。
维护生命周期
创建计划工作时设置公开标题、开始时间、受影响组件和客户更新。维护只有计划开始时间,没有计划结束时间,预计时长请写在客户更新中。先发布为已计划,最后以已完成或已取消结束。结束的维护会以一行完整事件进入历史。 已计划的维护会在计划开始时间自行动作。每个维护带有两个选项,默认都开启:
关闭到点自动开始时,需在工作开始时手动把维护切换到进行中。
维护在提醒时间之后才发布或改期的,不再发送提醒,因为订阅者刚刚收到过通知。改期后,提醒随新的计划开始时间一起移动。修改维护时没有指明这两个选项的,保持原值不变。MoleSignal 大约每 30 秒检查一次计划开始时间。
事故复盘
已发布的事件可以附一篇事故复盘,用 Markdown 编写:发生了什么、原因是什么、会改进什么。从事件或历史打开事件,在事故复盘中编写;预览显示读者看到的样子。
复盘最多 20,000 个字符。邮件和 Webhook 带的是原样的 Markdown 文本。
历史
历史只收录已经结束的业务事件:已解决的事件,以及已完成或已取消的维护。一行代表一个完整事件,包含类型、标题、结束状态、受影响组件与日期。可以按搜索词、类型、状态、组件和日期过滤并分页。点击标题会打开时间线和更新,不会在表格内无限展开。 历史窗口控制公共归档向前读取 1–365 天,不会把 Overview 重新变成无限事件流。订阅者与投递
公共访客可以选择订阅,登记邮件地址、Webhook 或 Slack 频道。每种方式都需要先确认再激活。管理视图会区分待确认、有效与已退订记录,并显示每个订阅者的接收范围。 在同一个弹窗里选择 RSS 订阅,会给出页面的两种订阅地址,添加到阅读器即可,不需要确认:RSS 2.0 为/api/v1/public/status-pages/<slug>/feed.rss,Atom 1.0 为 /api/v1/public/status-pages/<slug>/feed.atom。两者都包含页面最近 100 个事件和维护,每项附最新的一条更新。私有页面没有订阅源。
页面有多个组件时,访客可以选择整个页面或指定组件。只订阅部分组件的订阅者,只收到涉及其中某个组件的更新;组件分组显示为组内组件上方的标题。每封邮件末尾都有管理订阅和退订两个链接。管理链接会打开页面上的管理订阅,可以修改组件或退订。为已经有效的地址再次订阅时,会收到一封管理订阅邮件,而不是新的确认邮件。
Slack
Slack 消息以主题作为标题,正文是更新内容,并附打开页面和管理订阅的按钮。
提供 Add to Slack 的步骤:
- 在 Slack 中创建一个应用,权限为
incoming-webhook。在 OAuth & Permissions → Redirect URLs 中添加页面设置 → Slack 显示的重定向地址,即<http.external_url>/api/v1/public/slack/callback。http.external_url必须是https地址。 - 在设置 → 通知 → 连接器中新建一个 Slack App 连接器,填入该应用的 Client ID 和 Client Secret。Client Secret 随连接器加密保存。见通知渠道。
- 在页面的设置 → Slack 中选择该连接器并保存。
导入订阅者
在订阅者 → 导入订阅者中,把其他状态页的邮件订阅者迁移过来。选择 CSV 文件或直接粘贴内容:- 首行可以是表头,包含
email和components两列,顺序不限。没有表头时,第一列是邮箱,第二列是组件。 - 组件按名称填写,多个用
;分隔。分组的名称代表组内的组件。留空表示订阅整个页面。 - 一次最多导入 10,000 个地址、2 MB。
检查文件只报告导入结果而不做任何修改:读取的行数、将导入的地址、已是订阅者的地址、曾经退订而被跳过的地址,以及按行号列出的问题行:没有邮箱、不是有效邮箱、文件中已出现过的地址,或页面上没有的组件。
邮件订阅者以纯文本邮件接收每一条更新,邮件使用页面的默认语言。邮件中的状态名称与页面上的标签一致,例如性能下降。
承诺了下次更新的更新会多一行下次更新不晚于和对应时间,时间使用页面时区。除确认邮件外,每封邮件末尾都有管理订阅和退订链接。
计划时间使用页面时区并标明时差,例如
2026-05-25 18:00 UTC+08:00 (Asia/Shanghai)。
Webhook 订阅者以 JSON 请求接收每一条更新。请求格式、Payload 字段与重试节奏见状态页 Webhook 订阅。
每次发布事件或维护更新时,系统都会为匹配订阅者创建有界投递任务。订阅者页面显示尝试次数、成功状态、最后错误与重试状态。投递保留期可配置为 30、60、90、180 或 365 天。
私有访问
私有状态页支持邮件地址与邮件域名 Allowlist。获准访客先申请一次性 Magic Link,再获得 1、7 或 30 天的状态页会话。带链接的邮件使用页面的默认语言,链接 15 分钟内有效。管理员可以立即吊销活动会话。私有访问会覆盖公共页、归档、事件详情与订阅流程。自定义域名与 TLS
添加域名前,先把http.external_url 配置为 MoleSignal 的真实公共 URL。域名面板随后会显示需要创建的 DNS 所有权验证与路由记录。
域名状态依次为等待 DNS、验证中、已验证、正在配置 TLS与有效。失败或降级状态会显示可执行原因与重试入口。
如需由 MoleSignal 直接使用自动管理的证书托管自定义 Hostname,请启用 http.tls 并设置账户邮箱:
发布自动化
打开设置 → 自动化,把运维事件转换为客户更新。- 选择告警事件、拨测检查或组件依赖作为来源。
- 选择具体资源、最低严重度或 Monitor 状态转换,并填写必须匹配的标签。
- 添加延迟,避免瞬时故障直接形成客户沟通。
- 映射事件影响与受影响的状态页组件。组件依赖规则不选组件时,发布到依赖发生变化、并选择“交给自动化规则”的组件。模板可以用
{{labels.component_name}}引用组件名称,用{{labels.dependency_status}}和{{labels.previous_dependency_status}}引用前后两个状态。 - 选择人工批准或自动发布,并定义消息模板。
- 启用前先在规则模拟器中测试。
告警事件适合由响应人员负责的检测,拨测 Monitor 适合直接验证客户路径。两种来源都能更新同一组件模型,但每条规则保留独立的批准与延迟策略。
权限
拨测
发现客户路径故障,并驱动状态页自动化。
通知投递
配置事件响应人员使用的连接器与投递操作。