Skip to content

Commit 5fc7b0f

Browse files
authored
Merge pull request #620 from flashcatcloud/fix/instatus-alert-e2e-docs
fix(instatus): correct incident severity source and test-button claim
2 parents e6f0877 + 9701ada commit 5fc7b0f

2 files changed

Lines changed: 25 additions & 15 deletions

File tree

  • en/on-call/integration/alert-integration/alert-sources
  • zh/on-call/integration/alert-integration/alert-sources

‎en/on-call/integration/alert-integration/alert-sources/instatus.mdx‎

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,9 @@ One integration can follow several status pages. Alerts from different pages are
5454

5555
<Step title="Verify">
5656

57-
Instatus has no button that sends a test notification. To verify:
57+
Saving the subscriber sends a validation delivery right away (the **RUN** button next to the Webhook URL field sends another). Flashduty recognizes it and answers with success, no alert.
58+
59+
To verify with a real incident instead:
5860

5961
1. In Instatus, go to **Incidents** and click **Add incident**. Set the status to **Investigating**, select an affected component, set it to **Major outage**, then save and notify subscribers. Flashduty shows an incident alert and a component alert, both Critical
6062
2. Add an update to that incident with the status **Resolved**, set the component back to **Operational**, and notify subscribers. Both alerts recover
@@ -79,7 +81,8 @@ Instatus sends one JSON payload each time an incident is added or updated, a com
7981
| `incident.id` | Incident ID | Alert Key, label `incident_id` |
8082
| `incident.name` | Incident name | Alert title |
8183
| `incident.status` | Incident status | Alert status, label `incident_status` |
82-
| `incident.impact` | Incident impact | Alert severity, label `impact` |
84+
| `incident.impact` | Incident impact | Label `impact`, informational only: on an incident created through the Instatus dashboard this carries the same word as `status` (e.g. `Investigating`), not an outage severity |
85+
| `incident.affected_components[].status` | Status of each affected component | Alert severity — the worst one across all affected components; used as a fallback only when there are none |
8386
| `incident.url` | Incident link | Label `incident_url` |
8487
| `incident.incident_updates` | Incident updates | The body of the latest update is the alert description, truncated above 8 KB |
8588

@@ -122,15 +125,17 @@ Renaming an incident or component, or changing the impact, does not change the A
122125

123126
**Instatus incidents**
124127

125-
The alert severity comes from the impact (`impact`, which takes the same values as component status), and the alert status from the incident status (`status`):
128+
The alert severity is the worst status across the incident's `affected_components` (same values as component status, only differently cased and spaced, e.g. `Major outage`), and the alert status comes from the incident status (`status`):
126129

127-
| Instatus `impact` | Flashduty severity |
130+
| Instatus `affected_components[].status` | Flashduty severity |
128131
| :--- | :--- |
129-
| `MAJOROUTAGE` | Critical |
130-
| `PARTIALOUTAGE` | Warning |
131-
| `DEGRADEDPERFORMANCE`, `OPERATIONAL` | Info |
132+
| `Major outage` | Critical |
133+
| `Partial outage` | Warning |
134+
| `Degraded performance`, `Operational` | Info |
132135
| Empty or any other value | Warning |
133136

137+
An incident with no affected component falls back to the same mapping applied to `impact` instead — but on a dashboard-created incident, `impact` is usually just the `status` wording (e.g. `Investigating`), which matches none of these values and lands on Warning.
138+
134139
| Instatus `status` | Flashduty status |
135140
| :--- | :--- |
136141
| `INVESTIGATING`, `IDENTIFIED`, `MONITORING` | Trigger or update the alert |

‎zh/on-call/integration/alert-integration/alert-sources/instatus.mdx‎

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,11 @@ keywords: ["告警集成", "Instatus", "状态页", "第三方服务状态", "We
5454

5555
<Step title="验证">
5656

57-
Instatus 没有发送测试通知的按钮。可以这样验证:
57+
保存订阅者时,Instatus 会立即发送一次校验推送(Webhook URL 输入框旁的 **RUN** 按钮可以重新触发)。Flashduty 会识别这次校验推送并返回成功、不生成告警。
5858

59-
1. 在 Instatus 中进入 **Incidents**,点击 **Add incident**,状态选 **Investigating**,勾选一个受影响的组件并把它的状态设为 **Major outage**,保存并通知订阅者。Flashduty 中出现一条事件告警和一条组件告警,等级为 Critical
59+
也可以驱动一次真实的事件来验证:
60+
61+
1. 在 Instatus 中进入 **Incidents**,点击 **Add incident**,状态选 **Investigating**,勾选一个受影响的组件并把它的状态设为 **Major outage**,保存并通知订阅者。Flashduty 中出现一条事件告警和一条组件告警,等级都是 Critical
6062
2. 为这个事件添加一条更新,状态选 **Resolved**,组件恢复为 **Operational**,并通知订阅者。两条告警随之恢复
6163

6264
发布事件或更新时如果没有通知订阅者,Instatus 不会推送,Flashduty 也不会收到。
@@ -79,7 +81,8 @@ Instatus 在事件新增或更新、组件状态变化、计划维护新增或
7981
| `incident.id` | 事件 ID | Alert Key,标签 `incident_id` |
8082
| `incident.name` | 事件名称 | 告警标题 |
8183
| `incident.status` | 事件状态 | 告警状态,标签 `incident_status` |
82-
| `incident.impact` | 事件影响程度 | 告警等级,标签 `impact` |
84+
| `incident.impact` | 事件影响程度 | 标签 `impact`,仅作参考:通过 Instatus 控制台创建的事件,这个字段的取值和 `status` 相同(如 `Investigating`),并不是故障等级 |
85+
| `incident.affected_components[].status` | 受影响组件的状态 | 告警等级,取受影响组件中最高的等级;没有受影响组件时才退回使用 `impact` |
8386
| `incident.url` | 事件详情链接 | 标签 `incident_url` |
8487
| `incident.incident_updates` | 事件的更新记录 | 最新一条更新的正文作为告警描述,超过 8 KB 时截断 |
8588

@@ -122,15 +125,17 @@ Flashduty 按推送类型分别生成 Alert Key:
122125

123126
**事件**
124127

125-
事件的告警等级取自影响程度(`impact`,取值与组件状态相同),告警状态取自事件状态(`status`):
128+
事件的告警等级取自受影响组件中最高的等级(`affected_components[].status`,取值和组件状态相同,只是大小写和间距不同,如 `Major outage`),告警状态取自事件状态(`status`):
126129

127-
| Instatus `impact` | Flashduty 告警等级 |
130+
| Instatus `affected_components[].status` | Flashduty 告警等级 |
128131
| :--- | :--- |
129-
| `MAJOROUTAGE` | Critical |
130-
| `PARTIALOUTAGE` | Warning |
131-
| `DEGRADEDPERFORMANCE`、`OPERATIONAL` | Info |
132+
| `Major outage` | Critical |
133+
| `Partial outage` | Warning |
134+
| `Degraded performance`、`Operational` | Info |
132135
| 空值或其他值 | Warning |
133136

137+
事件没有受影响组件时,退回使用 `impact` 按同样的映射表取等级;但通过控制台创建的事件,`impact` 通常只是 `status` 的文字(例如 `Investigating`),映射不到任何已知取值,等级会落到 Warning。
138+
134139
| Instatus `status` | Flashduty 状态 |
135140
| :--- | :--- |
136141
| `INVESTIGATING`、`IDENTIFIED`、`MONITORING` | 触发或更新告警 |

0 commit comments

Comments
 (0)