Skip to content

Commit 180a162

Browse files
authored
Merge pull request #582 from flashcatcloud/sync/e2e-docs-0929-test
docs: integration page corrections from real vendor runs
2 parents 693d9f1 + a553f09 commit 180a162

14 files changed

Lines changed: 64 additions & 48 deletions

File tree

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ kubectl exec -n argocd deploy/argocd-notifications-controller -- \
148148
/usr/local/bin/argocd admin notifications template notify flashduty-health <app-name> --recipient flashduty
149149
```
150150

151-
No error output means Flashduty accepted the request. When the application is `Healthy`, this is a recovery message and creates no alert; in an intermediate state such as `Progressing`, Flashduty ignores it.
151+
The command prints debug logs of the request and response, including the full push URL with its `integration_key`, so do not paste the output anywhere public. A `200 OK` status on the `Received response:` line means Flashduty accepted the request. When the application is `Healthy`, this is a recovery message and creates no alert; in an intermediate state such as `Progressing`, Flashduty ignores it.
152152

153153
</Step>
154154

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

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ Creating a notification channel requires the Administrator role in Kentik; Membe
3737
<Steps>
3838
<Step title="Create a Custom Webhook notification channel">
3939

40-
1. Log in to the Kentik Portal and go to **Settings** → **Notifications**
41-
2. Click **Add Notification Channel** and set **Type** to **Custom Webhook**. Do not choose the **JSON** type: Flashduty parses the output of the template below
40+
1. Log in to the Kentik Portal and go to **Settings** → **Notification Channels**
41+
2. Click **Add Notification Channel** and set **Type** to **Webhook** (listed as Custom Webhook). Do not choose the **JSON** type: Flashduty parses the output of the template below
4242
3. Fill in the fields as follows:
4343

4444
| Field | Value |
@@ -47,7 +47,7 @@ Creating a notification channel requires the Administrator role in Kentik; Membe
4747
| **Status** | On |
4848
| **URL** | The full Flashduty integration push URL, including `integration_key` |
4949
| **Custom Headers** | Leave empty |
50-
| **Custom Template** | Paste the template below without renaming any field |
50+
| **Custom Template** | Click **Go to Notification Template Setup** and paste the template below into **TEMPLATE** on the **Template & Preview** tab, without renaming any field |
5151
| **Uglify JSON** | Keep the default |
5252

5353
```go-template
@@ -75,7 +75,7 @@ Creating a notification channel requires the Administrator role in Kentik; Membe
7575
}
7676
```
7777

78-
4. Click **Add Notification Channel** to save
78+
4. Click **Save**
7979

8080
</Step>
8181

@@ -102,6 +102,7 @@ Do not use this channel for mitigation methods or Insights notifications: these
102102
Flashduty uses the Kentik alert ID (`AlarmID`, shown as **Alert ID** in Kentik) as the Alert Key. Every state-change notification of one Kentik alert, from Active to Cleared, carries the same alert ID, so they merge into one alert, and the clear notification closes it.
103103

104104
- **Alerts per key**: an alert policy raises a separate alert for each key (one set of values of the policy dimensions) that matches the conditions. Each alert has its own ID, so each is a separate Flashduty alert that recovers on its own
105+
- **Synthetics alerts per agent**: a Synthetics test raises a separate alert, with its own ID, for each test agent. A new failure after an alert clears gets a new alert ID and becomes a new Flashduty alert
105106
- Changes to the description, severity, metric values, or times do not change the Alert Key. Events without `AlarmID` are rejected
106107
- When one notification carries several events, each event maps to its own alert. A notification with no events is accepted but creates no alert
107108

@@ -150,6 +151,6 @@ The alert title is the Kentik event description (`Description`), such as `Alarm
150151
- **`AlarmID is required`**: the channel is used for mitigation or Insights notifications, or the template was changed. Use the channel only for alert policies and Synthetics tests
151152
- **The alert does not recover**: confirm that the alert is Cleared in Kentik. For policies with **Acknowledgement Required** on, the alert must be acknowledged in Kentik before it can clear (see [Kentik threshold policy settings](https://kb.kentik.com/v1/docs/threshold-policy-settings))
152153
- **One policy creates several alerts**: the policy alerts on each set of dimension values separately; this is expected
153-
- **Test notifications**: the content of the Kentik **Test** / **Test Notification Channels** buttons is defined by Kentik. If it carries an alert ID, Flashduty handles it as a regular alert; close that alert manually in Flashduty
154+
- **Test notifications**: **Send Test Notification** on the **Template & Preview** tab sends mock data whose event description starts with `[TEST]`; Flashduty accepts it and creates no alert. If you first load a real alert with **Enter Alert ID**, the test carries that alert's real state, and Flashduty handles it as a real notification
154155

155156
For field details, see [Kentik notification channels](https://kb.kentik.com/docs/notification-channel) and the [Kentik Custom Webhook templating reference](https://github.com/kentik/custom-notification-templates/blob/main/docs/TEMPLATING_REFERENCE.md).

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

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ You can get the integration push URL in either of the following ways.
4343

4444
You need a Stripe role that can manage webhooks, such as Administrator or Developer.
4545

46-
1. Sign in to the Stripe Dashboard, open the [Webhooks](https://dashboard.stripe.com/webhooks) tab in Workbench, and click **Create an event destination**
46+
1. Sign in to the Stripe Dashboard, open the [Webhooks](https://dashboard.stripe.com/webhooks) tab in Workbench, and click **Add destination**
4747
2. For **Events from**, select **Your account**. If you run a Connect platform and want events from connected accounts, select **Connected accounts** (create one destination for each scope if you need both)
4848
3. Keep the default **API version**. If you are asked to choose an event payload style, choose **Snapshot**: thin events do not contain the object, so Flashduty cannot parse them
4949

@@ -71,19 +71,20 @@ If the destination subscribes to other event types (for example `charge.succeede
7171

7272
1. Click **Continue** and select **Webhook endpoint** as the destination type
7373
2. For **Endpoint URL**, enter the full Flashduty push URL
74-
3. Finish creating the destination. Flashduty does not use the signing secret (starting with `whsec_`) shown on the endpoint page, so you do not need to copy it
74+
3. Optionally enter a **Destination name**, then click **Create destination**. Flashduty does not use the signing secret (starting with `whsec_`) shown on the endpoint page, so you do not need to copy it
7575

7676
Webhook endpoints in test environments (sandbox or test mode) and in live mode are separate. To connect both, create an endpoint in each environment; they can use the same push URL.
7777

7878
</Step>
7979

8080
<Step title="Test">
8181

82-
Stripe has no "send test notification" button. Create real test events in a test environment in any of these ways:
82+
The **Send test events** button on the destination page only shows Stripe CLI instructions and sends nothing. Create real test events in a test environment in any of these ways:
8383

8484
- Run `stripe trigger charge.dispute.created` with the [Stripe CLI](https://docs.stripe.com/cli)
8585
- Pay with test card `4000000000000259`: the payment succeeds and is then disputed as fraudulent. Pay with `4000000000005423` to receive an early fraud warning
86-
- Submit `winning_evidence` as the dispute evidence: the dispute closes as won and Flashduty recovers the alert
86+
- Submit `winning_evidence` (or `losing_evidence`) as the dispute evidence: the dispute closes as won (or lost) and Flashduty recovers the alert. Fully refund the early-fraud-warning payment: Stripe sends `radar.early_fraud_warning.updated` with `actionable` set to `false` and Flashduty recovers the alert
87+
- `payout.failed` needs a failed payout. A sandbox does not accept test bank accounts in its own payout settings; on a Connect platform, pay out from a test connected account whose bank account uses account number `000111111116`, with a destination that receives **Connected accounts** events
8788

8889
Test events have `livemode` set to `false`. Flashduty creates alerts for them as usual and adds the label `livemode=false`.
8990

‎en/on-call/integration/change-integration/argocd.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ kubectl exec -n argocd deploy/argocd-notifications-controller -- \
125125
/usr/local/bin/argocd admin notifications template notify flashduty-change <app name> --recipient flashduty-change
126126
```
127127

128-
If the command prints no error, Flashduty accepted the request. For an application that has synced before, this notification is the result of its latest sync and merges into that sync's existing record without adding a change; for an application that has never synced, Flashduty ignores it.
128+
The command prints debug logs of the request and response, including the full push URL with its `integration_key`, so do not paste the output anywhere public. A `200 OK` status on the `Received response:` line means Flashduty accepted the request. For an application that has synced before, this notification is the result of its latest sync and merges into that sync's existing record without adding a change; for an application that has never synced, Flashduty ignores it.
129129

130130
</Step>
131131

‎en/on-call/integration/change-integration/hcp-terraform.mdx‎

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Notifications are configured per workspace, so configure one for each workspace
2828
<Steps>
2929
<Step title="Open notification settings">
3030

31-
In the workspace, go to **Settings → Notifications** and click **Create a Notification**.
31+
In the workspace, go to **Settings → Notifications** and click **Create a notification**.
3232

3333
</Step>
3434

@@ -43,11 +43,11 @@ In the workspace, go to **Settings → Notifications** and click **Create a Noti
4343

4444
<Step title="Select triggers">
4545

46-
1. Under **Run Events**, choose to send only specific events and check **Created**, **Planning**, **Needs Attention**, **Applying**, **Completed**, and **Errored**
47-
2. Leave **Workspace Events** (drift detection, auto destroy, and so on) unselected; Flashduty ignores these notifications
46+
1. Under **Run Events**, select **All events**
47+
2. Under **Workspace Events** (drift detection, auto destroy, and so on), select **No events**; Flashduty ignores these notifications
4848
3. Click **Create a notification**
4949

50-
When you save, HCP Terraform sends a verification request. Flashduty accepts it without creating a change. You can verify again later with **Send a Test**.
50+
When you save, HCP Terraform sends a verification request. Flashduty accepts it without creating a change. You can verify again later with **Send a test**.
5151

5252
</Step>
5353
</Steps>
@@ -70,15 +70,16 @@ You can also manage this configuration with the Terraform `tfe` provider: a `tfe
7070
| run:planning | planning | Processing |
7171
| run:needs_attention | for example planned or policy_override (waiting for confirmation) | Planned |
7272
| run:applying | applying | Processing |
73-
| run:completed | applied, planned_and_finished | Done |
73+
| run:completed | applied, planned_and_finished, planned_and_saved | Done |
74+
| run:completed | discarded (the run was discarded at the confirm step) | Canceled |
7475
| run:errored | errored, policy_soft_failed | Failed |
75-
| run:errored | canceled, force_canceled, discarded | Canceled |
76+
| run:errored | canceled, force_canceled | Canceled |
7677

7778
Done, Failed, and Canceled are end states; Flashduty records the change's end time.
7879

7980
`planned_and_finished` means a run that only planned (no changes, or a plan-only run). It is also recorded as Done; use the `run_status` label to tell it apart.
8081

81-
The following deliveries are accepted without creating a change: the verification request sent on save or by **Send a Test** (trigger `verification`), health assessment notifications (`assessment:drifted`, `assessment:check_failure`, `assessment:failed`), and workspace notifications (`workspace:auto_destroy_reminder`, `workspace:auto_destroy_run_results`, `workspace:deleted`).
82+
The following deliveries are accepted without creating a change: the verification request sent on save or by **Send a test** (trigger `verification`), health assessment notifications (`assessment:drifted`, `assessment:check_failure`, `assessment:failed`), and workspace notifications (`workspace:auto_destroy_reminder`, `workspace:auto_destroy_run_results`, `workspace:deleted`).
8283

8384
## Change content
8485
---

‎en/on-call/integration/change-integration/launchdarkly.mdx‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ LaunchDarkly sends changes that have already taken effect, so each change is rec
2929
<Step title="Open the Webhooks integration">
3030

3131
1. Click the **gear** icon in the left sidebar to open **Organization settings**
32-
2. Click **Integrations**, find **Webhooks**, and click **Add integration**
32+
2. Click **Integrations**, find **Webhooks**, and click **Add new**
3333

3434
You need a member role that can manage integrations, such as Admin.
3535

@@ -52,7 +52,12 @@ Without a policy, LaunchDarkly sends only flag changes in the **production** env
5252
{
5353
"effect": "allow",
5454
"actions": ["*"],
55-
"resources": ["proj/*:env/*:flag/*", "proj/*:env/*:segment/*"]
55+
"resources": ["proj/*:env/*:flag/*"]
56+
},
57+
{
58+
"effect": "allow",
59+
"actions": ["*"],
60+
"resources": ["proj/*:env/*:segment/*"]
5661
}
5762
]
5863
```

‎en/on-call/integration/change-integration/netlify.mdx‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ In your Netlify project, go to **Project configuration → Notifications → Dep
5353
| Deploy restored | Recommended, records rollbacks |
5454
| Deploy request pending, Deploy request accepted, Deploy request rejected | Add these when the project requires approval for untrusted deploys |
5555

56-
Deploy locked, Deploy unlocked, and Deploy deleted are not needed: they do not change a deploy's result, and Flashduty accepts them without creating a change. Previously successful deploy failed and Previously failed deploy succeeded repeat Deploy failed and Deploy succeeded, so they are not needed either.
56+
Deploy locked, Deploy unlocked, and Deploy deleted are not needed: they do not change a deploy's result, and Flashduty accepts them without creating a change.
5757

5858
</Step>
5959
</Steps>
@@ -65,7 +65,7 @@ Deploy locked, Deploy unlocked, and Deploy deleted are not needed: they do not c
6565
|---|---|---|
6666
| Deploy | The deploy ID (`id`) | Every notification of one deploy updates the same change; two deploys of the same project and branch are two changes |
6767

68-
A rollback (Deploy restored) publishes an existing deploy again, so it updates that deploy's change with status Done and the rollback time as the event time.
68+
A rollback (Deploy restored) publishes an existing deploy again, so it updates that deploy's change with status Done. The rollback notification carries no rollback time, so the event time is when Flashduty receives it.
6969

7070
## Status mapping
7171
---
@@ -77,7 +77,7 @@ A rollback (Deploy restored) publishes an existing deploy again, so it updates t
7777
| Deploy started | Processing |
7878
| Deploy succeeded | Done |
7979
| Deploy restored | Done |
80-
| Deploy failed | Failed |
80+
| Deploy failed | Failed; Canceled when the build was canceled |
8181
| Deploy request rejected | Canceled |
8282

8383
Done, Failed, and Canceled are end states; Flashduty records the change's end time when one arrives.
@@ -117,7 +117,7 @@ Each Netlify notification sends one event. Make sure Deploy started, Deploy succ
117117

118118
<Accordion title="Does a repeated delivery record a duplicate?">
119119

120-
No. A notification with the same deploy, state, and time is recorded once.
120+
No. When Netlify resends a notification that failed, Flashduty records it at the time of the event itself, and a notification with the same deploy, state, and time is recorded once. Deploy restored is the exception: it is recorded at the time Flashduty receives it, so a resent one is recorded again.
121121

122122
</Accordion>
123123

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ kubectl exec -n argocd deploy/argocd-notifications-controller -- \
148148
/usr/local/bin/argocd admin notifications template notify flashduty-health <应用名> --recipient flashduty
149149
```
150150

151-
命令没有输出错误即表示 Flashduty 已接受请求。应用当前为 `Healthy` 时这是一条恢复消息,不会生成告警;为 `Progressing` 等中间状态时 Flashduty 直接忽略。
151+
命令会打印请求和响应的调试日志,其中包含完整的推送地址(含 `integration_key`),请不要把输出贴到公开位置。输出中 `Received response:` 一行的状态为 `200 OK` 即表示 Flashduty 已接受请求。应用当前为 `Healthy` 时这是一条恢复消息,不会生成告警;为 `Progressing` 等中间状态时 Flashduty 直接忽略。
152152

153153
</Step>
154154

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

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ keywords: ["告警集成", "Kentik", "Custom Webhook", "通知渠道", "Syntheti
3737
<Steps>
3838
<Step title="创建 Custom Webhook 通知渠道">
3939

40-
1. 登录 Kentik Portal,进入 **Settings** → **Notifications**
41-
2. 点击 **Add Notification Channel**,类型(Type)选择 **Custom Webhook**。请不要选择 **JSON** 类型,Flashduty 解析的是下面模板的输出
40+
1. 登录 Kentik Portal,进入 **Settings** → **Notification Channels**
41+
2. 点击 **Add Notification Channel**,类型(Type)选择 **Webhook**(列表中显示为 Custom Webhook)。请不要选择 **JSON** 类型,Flashduty 解析的是下面模板的输出
4242
3. 按下表填写:
4343

4444
| 配置项 | 填写内容 |
@@ -47,7 +47,7 @@ keywords: ["告警集成", "Kentik", "Custom Webhook", "通知渠道", "Syntheti
4747
| **Status** | 开启 |
4848
| **URL** | Flashduty 集成的完整推送地址,需包含 `integration_key` |
4949
| **Custom Headers** | 无需填写 |
50-
| **Custom Template** | 粘贴下方模板,不要修改字段名 |
50+
| **Custom Template** | 点击 **Go to Notification Template Setup**,在 **Template & Preview** 标签页的 **TEMPLATE** 中粘贴下方模板,不要修改字段名 |
5151
| **Uglify JSON** | 保持默认即可 |
5252

5353
```go-template
@@ -75,7 +75,7 @@ keywords: ["告警集成", "Kentik", "Custom Webhook", "通知渠道", "Syntheti
7575
}
7676
```
7777

78-
4. 点击 **Add Notification Channel** 保存
78+
4. 点击 **Save** 保存
7979

8080
</Step>
8181

@@ -102,6 +102,7 @@ keywords: ["告警集成", "Kentik", "Custom Webhook", "通知渠道", "Syntheti
102102
Flashduty 使用 Kentik 的告警 ID(`AlarmID`,Kentik 界面中的 **Alert ID**)作为 Alert Key。同一条 Kentik 告警从 Active 到 Cleared 的每次状态变化通知都携带同一个告警 ID,因此会合并到同一条告警,并由清除通知关闭。
103103

104104
- **按维度告警**:告警策略会为每个满足条件的键(Key,即策略维度的一组取值)分别生成告警,每条告警有自己的 ID,因此在 Flashduty 中是不同的告警,分别恢复
105+
- **合成监测按代理告警**:合成监测测试为每个测试代理(Agent)分别生成告警,各有自己的 ID;告警清除后再次失败会生成新的告警 ID,对应新的 Flashduty 告警
105106
- 描述、严重程度、指标值和时间的变化不会改变 Alert Key。缺少 `AlarmID` 的事件会被拒绝
106107
- 一次推送包含多个事件时,每个事件各自对应一条告警;没有事件的推送会返回成功,但不会创建告警
107108

@@ -150,6 +151,6 @@ Flashduty 使用 Kentik 的告警 ID(`AlarmID`,Kentik 界面中的 **Alert I
150151
- **提示 `AlarmID is required`**:该渠道被用于缓解或洞察通知,或模板被修改。只把该渠道用于告警策略和合成监测测试
151152
- **告警没有恢复**:确认告警在 Kentik 中已变为 Cleared。开启了 **Acknowledgement Required** 的策略,告警需先在 Kentik 中确认才能清除(参见 [Kentik 策略阈值设置](https://kb.kentik.com/v1/docs/threshold-policy-settings))
152153
- **一条策略产生了多条告警**:策略按维度的每组取值分别告警,这是预期行为
153-
- **测试通知**:Kentik 的 **Test** / **Test Notification Channels** 按钮发送的内容以 Kentik 为准;若其中带有告警 ID,Flashduty 会按普通告警处理,请在 Flashduty 中手动关闭该告警
154+
- **测试通知**:**Template & Preview** 标签页的 **Send Test Notification** 使用模拟数据(Mock Data)发送时,事件描述以 `[TEST]` 开头,Flashduty 返回成功但不创建告警。若先通过 **Enter Alert ID** 加载一条真实告警再发送,推送内容就是该告警的真实状态,Flashduty 会按真实通知处理
154155

155156
更多字段含义请参阅 [Kentik 通知渠道](https://kb.kentik.com/docs/notification-channel) 和 [Kentik Custom Webhook 模板参考](https://github.com/kentik/custom-notification-templates/blob/main/docs/TEMPLATING_REFERENCE.md)。

0 commit comments

Comments
 (0)