> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flashcat.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# 发布与管理事件

> 了解如何在状态页中发布故障和维护事件，管理事件生命周期与时间线更新

状态页通过**事件**来传达服务状态变化。Flashduty 状态页支持两类事件：**故障**（Incident）和**维护**（Maintenance），分别对应意外中断和计划性维护场景。

## 事件类型与状态

### 故障（Incident）

故障表示意外发生的影响服务可用性的事件。故障具有以下生命周期状态：

| 状态                     | 说明               |
| ---------------------- | ---------------- |
| **调查中**（Investigating） | 团队已知悉问题，正在调查根因   |
| **已确认**（Identified）    | 问题根因已确认，正在制定修复方案 |
| **监控中**（Monitoring）    | 修复措施已实施，正在监控恢复情况 |
| **已解决**（Resolved）      | 问题已完全修复，服务恢复正常   |

### 维护（Maintenance）

维护表示计划性的服务变更事件，用于提前通知用户可能的服务影响。维护具有以下生命周期状态：

| 状态                 | 说明         |
| ------------------ | ---------- |
| **已计划**（Scheduled） | 维护已安排，尚未开始 |
| **进行中**（Ongoing）   | 维护正在进行     |
| **已完成**（Completed） | 维护已结束      |

***

## 发布事件

<Steps>
  <Step title="选择事件类型">
    在状态页管理页面中，点击 **发布事件**，选择事件类型为 **故障** 或 **维护**。
  </Step>

  <Step title="填写事件信息">
    配置以下字段：

    | 字段        | 说明                       |
    | --------- | ------------------------ |
    | **标题**    | 事件的简要标题                  |
    | **描述**    | 事件的详细说明                  |
    | **状态**    | 事件的初始状态                  |
    | **受影响组件** | 选择受此事件影响的组件，并为每个组件设定影响状态 |
    | **响应人员**  | 指定参与处理的团队成员              |
    | **通知订阅者** | 是否在发布时向订阅者发送通知           |
  </Step>

  <Step title="添加初始更新">
    每个事件至少包含一条时间线更新。系统会根据你填写的信息自动生成初始更新记录。
  </Step>

  <Step title="发布事件">
    确认信息后，点击 **发布** 完成事件创建。
  </Step>
</Steps>

### 组件影响状态

发布事件时，你需要为每个受影响组件指定当前的服务状态：

<Tabs>
  <Tab title="故障影响状态">
    | 状态                          | 说明          |
    | --------------------------- | ----------- |
    | 🟢 **运行正常**（Operational）    | 服务运行正常      |
    | 🟡 **性能下降**（Degraded）       | 服务可用但性能受到影响 |
    | 🟠 **部分中断**（Partial Outage） | 部分功能不可用     |
    | 🔴 **完全中断**（Full Outage）    | 服务完全不可用     |
  </Tab>

  <Tab title="维护影响状态">
    | 状态                            | 说明     |
    | ----------------------------- | ------ |
    | 🟢 **运行正常**（Operational）      | 服务运行正常 |
    | 🔵 **维护中**（Under Maintenance） | 服务正在维护 |
  </Tab>
</Tabs>

<Note>
  当事件进入终止状态（故障的"已解决"或维护的"已完成"）时，所有受影响组件必须恢复为"运行正常"状态。
</Note>

***

## 时间线更新

事件发布后，你可以通过添加**时间线更新**来记录事件的进展，让订阅者持续了解最新情况。

每条时间线更新可以包含：

| 内容         | 说明                  |
| ---------- | ------------------- |
| **时间戳**    | 该更新对应的实际发生时间        |
| **状态变更**   | 将事件推进到下一个生命周期状态（可选） |
| **描述**     | 当前进展的说明文字           |
| **组件状态变更** | 调整受影响组件的服务状态（可选）    |

<Tip>
  对于处于"已计划"状态的维护事件，你可以添加时间戳早于计划开始时间的时间线更新，用于记录准备工作或前置说明。此外，当你将第一条时间线更新的时间戳修改为更早的值时，系统会自动将事件的开始时间调整为该时间戳，以确保时间线的一致性。

  对于故障事件以及其他状态的维护事件，时间线更新的时间戳必须晚于事件的开始时间。
</Tip>

### 关闭事件

将事件状态更新为终止状态即可关闭事件：

* 故障：更新状态为 **已解决**（Resolved）
* 维护：更新状态为 **已完成**（Completed）

关闭事件时，系统会自动记录关闭时间。所有受影响组件此时必须为"运行正常"状态。

### 重新打开事件

已关闭的事件可以重新打开。添加新的时间线更新并将状态设为非终止状态即可重新激活事件。

***

## 维护自动调度

对于维护事件，你可以设置**计划开始时间**和**计划结束时间**，并启用**按计划自动更新**功能。系统将在指定时间自动推进维护状态：

* **计划开始时间**到达时：自动将状态从"已计划"更新为"进行中"
* **计划结束时间**到达时：自动将状态从"进行中"更新为"已完成"

<Warning>
  自动调度的维护窗口不能超过 **30 天**。如果计划结束时间距当前时间超过 30 天，系统将拒绝创建。
</Warning>

### 手动覆盖

即使启用了自动调度，你仍然可以随时手动更新维护状态：

* 如果你手动将维护推进为"进行中"，系统会取消待执行的自动开始任务
* 如果你手动将维护标记为"已完成"，系统会取消待执行的自动结束任务

删除已启用自动调度的维护事件时，系统会自动取消所有待执行的调度任务。

***

## 回溯事件

当服务状态变化未能及时发布时，你可以创建**回溯事件**（Retrospective Event）来补充历史记录。

回溯事件允许你：

* 声明一次已经发生的故障或维护
* 精确设置事件的发生时间和结束时间
* 按真实时间顺序构建事件时间线
* 准确关联受影响的组件

回溯事件与普通事件在状态页上的展示方式完全一致，且会纳入事件历史和服务可用性统计。

<Tip>
  如果回溯事件创建时即为终止状态，且未指定结束时间，系统会自动将最后一条更新的时间戳作为结束时间。
</Tip>

***

## 关联事件

你可以将多个相关事件进行关联，帮助访客了解事件之间的关系。例如，在一次故障解决后的维护事件中，可以关联原始的故障事件。
