flashduty-knowledge-base 1.3.5 → 1.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/dist/en.d.ts +8 -1
- package/dist/esm/en.js +1570 -375
- package/dist/esm/zh.js +1506 -380
- package/dist/iife/en.js +1428 -233
- package/dist/iife/zh.js +1360 -234
- package/dist/zh.d.ts +8 -1
- package/package.json +1 -1
package/dist/esm/en.js
CHANGED
|
@@ -77,11 +77,20 @@ Field|Required|Type|Description
|
|
|
77
77
|
|
|
78
78
|
Field|Required|Type|Description
|
|
79
79
|
:-:|:-:|:-:|:---
|
|
80
|
-
| title_rule | Yes | string | Alert title, no more than \`512\` characters, will be truncated if exceeded.<br><br>Supports dynamic title generation based on alert content, see [Customizing Incidents](https://docs.flashcat.cloud/en/
|
|
80
|
+
| title_rule | Yes | string | Alert title, no more than \`512\` characters, will be truncated if exceeded.<br><br>Supports dynamic title generation based on alert content, see [Customizing Incidents](https://docs.flashcat.cloud/en/on-call/integration/alert-integration/alert-pipelines) for generation rules.
|
|
81
81
|
| event_status | Yes | string | Alert status.<br><br>Enumerated values (case-sensitive): *Critical*, *Warning*, *Info*, *Ok*.<br><br>When specified as Ok, it means automatic recovery of the alert.
|
|
82
82
|
| alert_key | No | string | Alert identifier, used to update or automatically recover existing alerts.<br><br>You can customize this value, but it cannot exceed \`255\` characters. You can also rely on system auto-generation, this value will be returned in the response.<br><br>If you're reporting a recovery event, this value must exist.
|
|
83
83
|
| description | No | string | Alert description, no more than \`2048\` characters, will be truncated if exceeded.
|
|
84
84
|
| labels | No | map | Alert label collection, key is the label name, value is the label value:<br><br>1. Both key and value of labels are string type, case-sensitive.<br>2. Label key should not exceed \`128\` characters, following Prometheus label naming conventions. Value should not exceed \`2048\` characters, will be truncated if exceeded.<br>3. Maximum of \`50\` labels. See \`Label Content Reference\` in [Best Practices](#best-practices).<br><br>Example: "resource": "171.26.23.22", "check": "api latency > 500ms"
|
|
85
|
+
| images | No | [][image](#image) | Array of images, used for image display in frontend or Feishu/DingTalk application notifications.The system merged/overwritten based on alt, for the same alt (including empty strings), only one is retained
|
|
86
|
+
|
|
87
|
+
#### image Structure <span id="image"></span>
|
|
88
|
+
|
|
89
|
+
Field|Required|Type|Description
|
|
90
|
+
:-:|:-:|:-:|:---
|
|
91
|
+
| alt | No | string | Image alternative text, limit 128 characters, truncated if exceeded.
|
|
92
|
+
| src | Yes | string | Image source, value: http/https URL or image_key returned by [Image Upload API](https://developer.flashcat.cloud/api-344943718). Limit 256 characters, discarded if exceeded
|
|
93
|
+
| href | No | string | Hyperlink reference path, limit 256 characters, truncated if exceeded
|
|
85
94
|
|
|
86
95
|
</div>
|
|
87
96
|
|
|
@@ -209,7 +218,7 @@ Failed Response:
|
|
|
209
218
|
3. The new event might be discarded due to matching exclusion, discard, suppression, or silence rules.
|
|
210
219
|
4. When a new event triggers a new alert, the system enters the second layer of noise reduction check, determining if the new alert can be merged into an active incident. If possible, it will only merge into the existing incident without generating a new one.
|
|
211
220
|
|
|
212
|
-
For more information, please refer to [Alert Noise Reduction](https://docs.flashcat.cloud/en/
|
|
221
|
+
For more information, please refer to [Alert Noise Reduction](https://docs.flashcat.cloud/en/on-call/channel/noise-reduction).
|
|
213
222
|
</details> `,t=`---
|
|
214
223
|
title: "Email Integration"
|
|
215
224
|
description: "Generate a unique email address in Flashduty to synchronize alert triggers and recoveries through email"
|
|
@@ -309,7 +318,8 @@ attachment_stripped = true
|
|
|
309
318
|
## Severity Mapping
|
|
310
319
|
---
|
|
311
320
|
|
|
312
|
-
Currently, all alerts pushed to Flashduty through the email integration are set to Warning severity. However, you can customize the severity using the [alert pipeline](https://docs.flashcat.cloud/en/
|
|
321
|
+
Currently, all alerts pushed to Flashduty through the email integration are set to Warning severity. However, you can customize the severity using the [alert pipeline](https://docs.flashcat.cloud/en/on-call/integration/alert-integration/alert-pipelines).
|
|
322
|
+
|
|
313
323
|
`,a=`---
|
|
314
324
|
title: "Nightingale/Flashcat Integration"
|
|
315
325
|
description: "Push alert events from Nightingale (n9e) or Flashcat to Flashduty via webhook. When an alert is triggered, send a trigger event to Flashduty; when an alert recovers, send a recovery event to Flashduty"
|
|
@@ -387,7 +397,7 @@ In the new version, although you can configure the collaboration space directly
|
|
|
387
397
|
#### Step 1: Add Notification Media
|
|
388
398
|
|
|
389
399
|
1. Log in to your n9e console, select Alerting > Media types and click **Add**
|
|
390
|
-
2. Fill in the media name and identifier, select **
|
|
400
|
+
2. Fill in the media name and identifier, select **Flashduty** type, and enter the integration push URL in the \`URL\` section
|
|
391
401
|
3. Click **Save** and complete
|
|
392
402
|
|
|
393
403
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/en/fd/n9e-1.png" />
|
|
@@ -396,7 +406,7 @@ In the new version, although you can configure the collaboration space directly
|
|
|
396
406
|
|
|
397
407
|
1. Log in to your n9e console, select Alerting > Rules and click **Add** or edit the existing alert rules
|
|
398
408
|
2. Configure the basic information as needed
|
|
399
|
-
3. Select the \`
|
|
409
|
+
3. Select the \`Flashduty\` notification media added in the previous step
|
|
400
410
|
4. Select the collaboration space (the collaboration space must be created in [Flashduty](https://console.flashcat.cloud/channel) in advance), and select other options as needed
|
|
401
411
|
5. Click **Save** and complete
|
|
402
412
|
|
|
@@ -405,7 +415,7 @@ In the new version, although you can configure the collaboration space directly
|
|
|
405
415
|
#### Step 3: Select Notification Rules in Alert Rules
|
|
406
416
|
|
|
407
417
|
1. Log in to your n9e console, select Alerting > Alert Rules and click **Add** or edit the existing alert rules
|
|
408
|
-
2. Select the \`
|
|
418
|
+
2. Select the \`Flashduty\` notification rule added in the previous step, and select other options as needed
|
|
409
419
|
3. Click **Save** and complete
|
|
410
420
|
|
|
411
421
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/en/fd/n9e-3.png" />
|
|
@@ -506,7 +516,7 @@ Nightingale/Flashcat to Flashduty alert severity mapping:
|
|
|
506
516
|
|
|
507
517
|
</details>
|
|
508
518
|
|
|
509
|
-
`,
|
|
519
|
+
`,o=`---
|
|
510
520
|
title: "Prometheus Integration Guide"
|
|
511
521
|
description: "Push Prometheus alert events to Flashduty through AlertManager using webhooks. When an alert is triggered, it sends a trigger event to Flashduty, and when the alert recovers, it sends a recovery event."
|
|
512
522
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -688,7 +698,7 @@ Prometheus to Flashduty severity mapping:
|
|
|
688
698
|
|
|
689
699
|
|
|
690
700
|
|
|
691
|
-
`,
|
|
701
|
+
`,i=`---
|
|
692
702
|
title: "Grafana Integration"
|
|
693
703
|
description: "Sync Grafana alert events to Flashduty via webhook to achieve automated alert noise reduction."
|
|
694
704
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -890,7 +900,7 @@ The media type must be associated with a user to send events. The user must have
|
|
|
890
900
|
1. Log in to the Zabbix console, select \`Users > Users\`, select Admin user, select media, select Add to enter the editing window:
|
|
891
901
|
|
|
892
902
|
- Type: Select the Flashduty media type created above
|
|
893
|
-
- Send To: Fill in
|
|
903
|
+
- Send To: Fill in Flashduty
|
|
894
904
|
- Keep other configurations unchanged using default settings
|
|
895
905
|
|
|
896
906
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/zabbix-3.png" />
|
|
@@ -904,7 +914,7 @@ Sending notifications is one of the operations executed by actions in Zabbix. Th
|
|
|
904
914
|
|
|
905
915
|
1. Click \`Create action\` to enter the action editing page
|
|
906
916
|
|
|
907
|
-
- Name: Fill in "Send To
|
|
917
|
+
- Name: Fill in "Send To Flashduty"
|
|
908
918
|
|
|
909
919
|
2. Select \`Operations\`, add notification sending configurations for three scenarios respectively:
|
|
910
920
|
|
|
@@ -978,7 +988,7 @@ Sending notifications is one of the operations executed by actions in Zabbix. Th
|
|
|
978
988
|
|
|
979
989
|
1. Click \`Create action\` to enter the action editing page
|
|
980
990
|
|
|
981
|
-
- Name: Fill in "Send To
|
|
991
|
+
- Name: Fill in "Send To Flashduty"
|
|
982
992
|
|
|
983
993
|
2. Select \`Operations\`, add notification sending configurations for three scenarios respectively:
|
|
984
994
|
|
|
@@ -1015,7 +1025,7 @@ Log in to the Zabbix console, select \`Monitoring > Problems\` to view the lates
|
|
|
1015
1025
|
|
|
1016
1026
|
- \`{ALERT.SUBJECT}\`: Alert title, keep as first parameter
|
|
1017
1027
|
- \`{ALERT.MESSAGE}\`: Alert message, keep as second parameter
|
|
1018
|
-
- \`
|
|
1028
|
+
- \`Flashduty webhook push URL\`, simply copy the integration push URL, keep as third parameter
|
|
1019
1029
|
- \`Zabbix console address\`, copy directly (if your page is configured with tomcat/nginx forwarding path, please include it), used to generate alert detail page links. Leave empty if none, keep as fourth parameter
|
|
1020
1030
|
- \`HTTPProxy\`: If your Zabbix Server cannot directly access Flashduty services, you can set this parameter to a proxy address. Leave empty if none, keep as fifth parameter
|
|
1021
1031
|
|
|
@@ -1059,7 +1069,7 @@ Sending notifications is one of the operations executed by actions in Zabbix. Th
|
|
|
1059
1069
|
|
|
1060
1070
|
1. Click \`Create action\` to enter the action editing page
|
|
1061
1071
|
|
|
1062
|
-
- Name: Fill in "Send To
|
|
1072
|
+
- Name: Fill in "Send To Flashduty"
|
|
1063
1073
|
|
|
1064
1074
|
2. Select \`Operations\`, update notification user configurations for three scenarios respectively:
|
|
1065
1075
|
|
|
@@ -1074,10 +1084,10 @@ Sending notifications is one of the operations executed by actions in Zabbix. Th
|
|
|
1074
1084
|
|
|
1075
1085
|
3. Select \`Operations\`, update notification content configurations for three scenarios respectively:
|
|
1076
1086
|
|
|
1077
|
-
- **In the Default Message configuration item, completely copy the following content and paste it after the default content**.
|
|
1087
|
+
- **In the Default Message configuration item, completely copy the following content and paste it after the default content**. Flashduty will parse corresponding text after receiving events to find alert attribute information:
|
|
1078
1088
|
|
|
1079
1089
|
\`\`\`
|
|
1080
|
-
-----
|
|
1090
|
+
-----Flashduty Required Starts-----event_severity={TRIGGER.SEVERITY}||event_name={TRIGGER.NAME}||event_id={EVENT.ID}||event_tags={EVENT.TAGS}||event_ack={EVENT.ACK.STATUS}||event_value={EVENT.VALUE}||trigger_id={TRIGGER.ID}||trigger_desc={TRIGGER.DESCRIPTION}||trigger_expr={TRIGGER.EXPRESSION}||host_group={TRIGGER.HOSTGROUP.NAME}||host_ip={HOST.IP}||host_name={HOST.NAME}||item_name={ITEM.NAME}||item_value={ITEM.VALUE}-----Flashduty Required Ends-----
|
|
1081
1091
|
\`\`\`
|
|
1082
1092
|
|
|
1083
1093
|
- Repeat the above steps to complete the configuration of \`Recovery operations\` and \`Update operations\`
|
|
@@ -1163,7 +1173,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
1163
1173
|
**Step 1: Set up Notification Channel**
|
|
1164
1174
|
|
|
1165
1175
|
1. Go to \`Settings -> Notifications\` page, click Setup to edit, as shown below;
|
|
1166
|
-
2. Select \`
|
|
1176
|
+
2. Select \`Flashduty (Flashduty)\` as the \`Notification Type\`;
|
|
1167
1177
|
3. Copy and paste the integration_key parameter value from the integration push URL into \`Integration Key\`;
|
|
1168
1178
|
4. Select \`Severity\` as needed;
|
|
1169
1179
|
5. Submit and save
|
|
@@ -1176,7 +1186,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
1176
1186
|
|
|
1177
1187
|
1. Click \`Add New Monitor\` or edit existing monitors, configure monitoring settings as needed;
|
|
1178
1188
|
2. As shown, enable the notification method created in the previous step in the \`Notifications\` section;
|
|
1179
|
-
3. If needed, add \`Tags\`. Note that only tags with both Key/Value will be pushed to
|
|
1189
|
+
3. If needed, add \`Tags\`. Note that only tags with both Key/Value will be pushed to Flashduty;
|
|
1180
1190
|
4. Submit and save, then wait for alerts to trigger.
|
|
1181
1191
|
|
|
1182
1192
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/upk/upk-2.png" alt="drawing" width="500"/>
|
|
@@ -1575,7 +1585,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
1575
1585
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/aliyun/sls-5.png" alt="drawing" width="500"/>
|
|
1576
1586
|
|
|
1577
1587
|
4. Click the \`Confirm\` button to save
|
|
1578
|
-
5. Repeat these steps for all other rules to push all alerts to
|
|
1588
|
+
5. Repeat these steps for all other rules to push all alerts to Flashduty
|
|
1579
1589
|
|
|
1580
1590
|
</div>
|
|
1581
1591
|
|
|
@@ -1594,7 +1604,7 @@ Alibaba Cloud SLS monitoring to Flashduty alert severity mapping:
|
|
|
1594
1604
|
| 2 | Info | Info |
|
|
1595
1605
|
|
|
1596
1606
|
</div>
|
|
1597
|
-
`,
|
|
1607
|
+
`,u=`---
|
|
1598
1608
|
title: "AWS CloudWatch Integration"
|
|
1599
1609
|
description: "Sync AWS CloudWatch alert events to Flashduty via webhook to achieve automated alert noise reduction"
|
|
1600
1610
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -1646,10 +1656,10 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
1646
1656
|
|
|
1647
1657
|
1. Log in to your AWS Console, search for \`Simple Notification Service\` product and enter its console
|
|
1648
1658
|
2. Go to the \`Topics\` page, click the \`Create topic\` button to start creating a topic
|
|
1649
|
-
3. Select \`Standard\` for \`Type\`, enter \`
|
|
1659
|
+
3. Select \`Standard\` for \`Type\`, enter \`Flashduty\` as the name
|
|
1650
1660
|
4. Click the \`Create Topic\` button to complete topic creation
|
|
1651
1661
|
5. Go to the \`Subscriptions\` page, click the \`Create subscription\` button to create a subscription for the topic
|
|
1652
|
-
6. Select \`
|
|
1662
|
+
6. Select \`Flashduty\` for \`Topic ARN\`, choose \`HTTPS\` for \`Protocol\`, enter the integration push URL for \`Endpoint\` (enter the integration name on the current page, the URL will be generated after saving)
|
|
1653
1663
|
7. Click the \`Create subscription\` button to complete subscription creation
|
|
1654
1664
|
|
|
1655
1665
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/aws-cloudwatch-subscribe.png" />
|
|
@@ -1657,7 +1667,7 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
1657
1667
|
8. Return to the \`Subscriptions\` page. When the subscription status shows \`Confirmed\`, the subscription URL verification is successful; otherwise, please contact Flashduty
|
|
1658
1668
|
9. Search for the \`CloudWatch\` product and enter its console
|
|
1659
1669
|
10. Go to the \`All alarms\` page, choose to create or edit existing alarm policies
|
|
1660
|
-
11. For the \`Notification\` step, select \`
|
|
1670
|
+
11. For the \`Notification\` step, select \`Flashduty\` as the \`SNS topic\` for all three states: \`In alarm\`, \`OK\`, and \`Insufficient data\`, as shown below:
|
|
1661
1671
|
|
|
1662
1672
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/aws-cloudwatch-alram.png" />
|
|
1663
1673
|
|
|
@@ -1673,7 +1683,7 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
1673
1683
|
All CloudWatch metric alarms correspond to Flashduty "warning" severity level alerts.
|
|
1674
1684
|
|
|
1675
1685
|
</div>
|
|
1676
|
-
`,
|
|
1686
|
+
`,h=`---
|
|
1677
1687
|
title: "Baidu Cloud BCM Integration"
|
|
1678
1688
|
description: "Sync Baidu Cloud BCM alerts to Flashduty via webhook for automated alert noise reduction"
|
|
1679
1689
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -1806,7 +1816,7 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
1806
1816
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/hw/hw-1.png" alt="drawing" width="500"/>
|
|
1807
1817
|
|
|
1808
1818
|
5. Go to \`Alarm-Alarm Notifications-Notification Groups\` page, click \`Create Notification Group\` button
|
|
1809
|
-
6. Enter \`
|
|
1819
|
+
6. Enter \`Flashduty\` as group name, check the \`flashduty\` notification object created earlier
|
|
1810
1820
|
7. Click \`OK\` button to complete notification group creation
|
|
1811
1821
|
|
|
1812
1822
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/hw/hw-2.png" alt="drawing" width="500"/>
|
|
@@ -1814,7 +1824,7 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
1814
1824
|
Note: When creating a notification group, Huawei Cloud will send a request to Flashduty to verify the push URL. Check the notification group's object list - alerts will only be pushed normally when the notification object status is \`Confirmed\`
|
|
1815
1825
|
|
|
1816
1826
|
8. Go to \`Alarm-Alarm Rules\` page, edit existing alarm rules or create new ones to open the \`Alarm Rule Details\` page
|
|
1817
|
-
9. Select \`
|
|
1827
|
+
9. Select \`Flashduty\` as the notification group, check both \`Alarm Triggered\` and \`Cleared\` conditions. Click \`OK\` button to save changes
|
|
1818
1828
|
|
|
1819
1829
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/hw/hw-3.png" alt="drawing" width="500"/>
|
|
1820
1830
|
|
|
@@ -1891,7 +1901,7 @@ Supports Influxdata versions 1.x ~ 2.x, with different configurations for each v
|
|
|
1891
1901
|
#### Step 1: Create Alert Channel
|
|
1892
1902
|
1. Log in to your \`Influxdata\` console and navigate to the \`Alerts > Notification Endpoints\` page.
|
|
1893
1903
|
2. Click \`Create\` to create an alert notification channel.
|
|
1894
|
-
3. Select \`HTTP\` for \`Destination\` and enter \`
|
|
1904
|
+
3. Select \`HTTP\` for \`Destination\` and enter \`Flashduty\` for \`Name\`.
|
|
1895
1905
|
4. Choose \`POST\` for \`HTTP Method\` and enter the integration push URL.
|
|
1896
1906
|
|
|
1897
1907
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/influxdb-1.png" />
|
|
@@ -1900,7 +1910,7 @@ Supports Influxdata versions 1.x ~ 2.x, with different configurations for each v
|
|
|
1900
1910
|
1. Log in to your \`Influxdata\` console and navigate to the \`Alerts > Notification Rules\` page.
|
|
1901
1911
|
2. Click \`Create\` to create an alert notification rule.
|
|
1902
1912
|
3. Configure \`About\` and \`Conditions\` as needed.
|
|
1903
|
-
4. Select \`
|
|
1913
|
+
4. Select \`Flashduty\` created in Step 1 for \`Message\`.
|
|
1904
1914
|
|
|
1905
1915
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/influxdb-2.png" />
|
|
1906
1916
|
|
|
@@ -2164,7 +2174,7 @@ filter:
|
|
|
2164
2174
|
query_string:
|
|
2165
2175
|
query: "created_at:*"
|
|
2166
2176
|
|
|
2167
|
-
# -------
|
|
2177
|
+
# ------- Flashduty ----------------
|
|
2168
2178
|
alert: pagerduty
|
|
2169
2179
|
pagerduty_service_key: xxx
|
|
2170
2180
|
pagerduty_client_name: wahaha
|
|
@@ -2174,7 +2184,7 @@ pagerduty_v2_payload_component: mysql
|
|
|
2174
2184
|
pagerduty_v2_payload_group: app-stack
|
|
2175
2185
|
pagerduty_v2_payload_severity: error
|
|
2176
2186
|
pagerduty_v2_payload_source: mysql.host.name
|
|
2177
|
-
# -------
|
|
2187
|
+
# ------- Flashduty ----------------
|
|
2178
2188
|
\`\`\`
|
|
2179
2189
|
|
|
2180
2190
|
4. Step 4: Restart ElastAlert and wait for alerts to trigger
|
|
@@ -2238,7 +2248,7 @@ BlueKing alert policies can trigger \`Action Plans\`, which can integrate with e
|
|
|
2238
2248
|
|
|
2239
2249
|
1. Log in to your BlueKing desktop and enter the \`Monitor Platform\`;
|
|
2240
2250
|
2. Go to \`Configuration-Action Plans\` page, click the \`Add Plan\` button to start creating an action plan;
|
|
2241
|
-
3. Enter the name as \`Send To
|
|
2251
|
+
3. Enter the name as \`Send To Flashduty\`, select \`HTTP Callback\` as the plan type, choose \`POST\` as the push method, and fill in the integration push URL (obtained after saving the integration), as shown below:
|
|
2242
2252
|
|
|
2243
2253
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/tencent-bk/create_package.jpg" />
|
|
2244
2254
|
|
|
@@ -2256,12 +2266,12 @@ BlueKing alert policies can trigger \`Action Plans\`, which can integrate with e
|
|
|
2256
2266
|
<div class="md-block">
|
|
2257
2267
|
|
|
2258
2268
|
1. Go to \`Configuration-Alert Policies\` page, select an existing policy to edit or create a new one;
|
|
2259
|
-
2. Scroll down to the \`Alert Processing\` section, select the \`Send To
|
|
2269
|
+
2. Scroll down to the \`Alert Processing\` section, select the \`Send To Flashduty\` action plan for all three scenarios, and disable \`Defense Rules\`, as shown below:
|
|
2260
2270
|
|
|
2261
2271
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/tencent-bk/update_alert_rule.jpg" />
|
|
2262
2272
|
|
|
2263
2273
|
3. Submit and save to complete;
|
|
2264
|
-
4. Repeat these steps for other alerts you want to push to
|
|
2274
|
+
4. Repeat these steps for other alerts you want to push to Flashduty.
|
|
2265
2275
|
|
|
2266
2276
|
</div>
|
|
2267
2277
|
|
|
@@ -2278,7 +2288,7 @@ Alert severity mapping between BlueKing and Flashduty:
|
|
|
2278
2288
|
| Notice | Info | info |
|
|
2279
2289
|
|
|
2280
2290
|
</div>
|
|
2281
|
-
`,
|
|
2291
|
+
`,b=`---
|
|
2282
2292
|
title: "Tencent Cloud CLS Integration"
|
|
2283
2293
|
description: "Sync Tencent Cloud Log Service (CLS) monitoring alerts to Flashduty via webhook for automated alert noise reduction"
|
|
2284
2294
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -2398,7 +2408,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
2398
2408
|
"record_group_id": "{{escape .RecordGroupId}}",
|
|
2399
2409
|
"detail_url": "{{escape .DetailUrl}}",
|
|
2400
2410
|
"query_url": "{{escape .QueryUrl}}",
|
|
2401
|
-
"message": {{.Message}},
|
|
2411
|
+
"message": "{{.Message}}",
|
|
2402
2412
|
"query_result": {{.QueryResult}},
|
|
2403
2413
|
"query_log": {{.QueryLog}},
|
|
2404
2414
|
"analysis_result": {{.AnalysisResult}}
|
|
@@ -2420,7 +2430,7 @@ Tencent Cloud CLS monitoring alert level mapping to Flashduty:
|
|
|
2420
2430
|
| Critical | Critical | Critical
|
|
2421
2431
|
|
|
2422
2432
|
</div>
|
|
2423
|
-
`,
|
|
2433
|
+
`,v=`---
|
|
2424
2434
|
title: "Tencent Cloud Monitor CM Integration"
|
|
2425
2435
|
description: "Sync Tencent Cloud Monitor CM alert events to Flashduty via webhook for automated alert noise reduction"
|
|
2426
2436
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -2545,7 +2555,7 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
2545
2555
|
|
|
2546
2556
|
1. Log in to your Tencent Cloud Console and select EventBridge service
|
|
2547
2557
|
2. Go to the Event Rules page, click the New button to start editing rules
|
|
2548
|
-
3. Enter the name as
|
|
2558
|
+
3. Enter the name as Flashduty, as shown below:
|
|
2549
2559
|
|
|
2550
2560
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/tencent-eb-new-rule.png" />
|
|
2551
2561
|
|
|
@@ -2646,12 +2656,12 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
2646
2656
|
|
|
2647
2657
|
<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/oceanbase-1.png" />
|
|
2648
2658
|
|
|
2649
|
-
5. Copy the following script content into the channel configuration, and **please add the integration_key value from your
|
|
2659
|
+
5. Copy the following script content into the channel configuration, and **please add the integration_key value from your Flashduty push URL to the integration_key parameter in the script**
|
|
2650
2660
|
|
|
2651
2661
|
\`\`\`
|
|
2652
2662
|
#!/usr/bin/env bash
|
|
2653
2663
|
|
|
2654
|
-
function
|
|
2664
|
+
function sendToFlashduty() {
|
|
2655
2665
|
URL="\${address}/event/push/alert/standard?integration_key=\${integration_key}"
|
|
2656
2666
|
curl -s -X POST \${URL} -H 'Content-Type: application/json' -d '{
|
|
2657
2667
|
"event_status": "'\${alert_level}'",
|
|
@@ -2715,7 +2725,7 @@ elif [[ \${statusMd5} == "\${active}" ]];then
|
|
|
2715
2725
|
fi
|
|
2716
2726
|
|
|
2717
2727
|
if [[ \${statusMd5} == \${active} || \${statusMd5} == \${Inactive} ]];then
|
|
2718
|
-
|
|
2728
|
+
sendToFlashduty
|
|
2719
2729
|
fi
|
|
2720
2730
|
\`\`\`
|
|
2721
2731
|
|
|
@@ -2753,7 +2763,7 @@ OCP Alert Notification - Single Alert
|
|
|
2753
2763
|
<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/oceanbase-2.png" />
|
|
2754
2764
|
|
|
2755
2765
|
3. Select **English** for push language
|
|
2756
|
-
4. Select **
|
|
2766
|
+
4. Select **Flashduty** for alert channel
|
|
2757
2767
|
5. Enable **Recovery Notification**
|
|
2758
2768
|
6. Submit
|
|
2759
2769
|
|
|
@@ -2767,7 +2777,7 @@ OCP Alert Notification - Single Alert
|
|
|
2767
2777
|
|OceanBase|Flashduty|Status|
|
|
2768
2778
|
|---|---|---|
|
|
2769
2779
|
|Down|Critical|Critical|
|
|
2770
|
-
|Critical|
|
|
2780
|
+
|Critical|Critical|Critical|
|
|
2771
2781
|
|Warning|Warning|Warning|
|
|
2772
2782
|
|Caution|Info|Info|
|
|
2773
2783
|
|Notice|Info|Info|
|
|
@@ -2834,7 +2844,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
2834
2844
|
|
|
2835
2845
|
<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/graylog-2.png" />
|
|
2836
2846
|
|
|
2837
|
-
6. Enter the
|
|
2847
|
+
6. Enter the Flashduty URL you obtained (URL whitelist required for first-time use)
|
|
2838
2848
|
|
|
2839
2849
|
<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/graylog-3.png" />
|
|
2840
2850
|
|
|
@@ -2846,11 +2856,11 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
2846
2856
|
|
|
2847
2857
|
<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/graylog-5.png" />
|
|
2848
2858
|
|
|
2849
|
-
### Step 2: Use
|
|
2859
|
+
### Step 2: Use Flashduty Alert Channel in Alert Events
|
|
2850
2860
|
1. Create or edit existing Event Definition
|
|
2851
2861
|
2. Skip other alert configurations here (configure alert conditions according to business requirements)
|
|
2852
2862
|
3. Configure channel in Notifications
|
|
2853
|
-
4. Add Notification and select
|
|
2863
|
+
4. Add Notification and select Flashduty channel
|
|
2854
2864
|
5. Click Done
|
|
2855
2865
|
6. Complete the next step to finish
|
|
2856
2866
|
|
|
@@ -2936,7 +2946,7 @@ rules:
|
|
|
2936
2946
|
tags:
|
|
2937
2947
|
level: Warning
|
|
2938
2948
|
\`\`\`
|
|
2939
|
-
4. Add the
|
|
2949
|
+
4. Add the Flashduty webhook URL
|
|
2940
2950
|
|
|
2941
2951
|
\`\`\`
|
|
2942
2952
|
# Add at the bottom of the configuration file
|
|
@@ -3022,12 +3032,12 @@ Sentry provides two types of alert mechanisms: Issue Alerts and Metric Alerts. W
|
|
|
3022
3032
|
|
|
3023
3033
|
## II. Sentry Alert Push Configuration
|
|
3024
3034
|
|
|
3025
|
-
### Step 1: Add
|
|
3035
|
+
### Step 1: Add Flashduty Custom Integrations
|
|
3026
3036
|
|
|
3027
3037
|
1. Log in to the Sentry management console
|
|
3028
3038
|
2. In the left navigation bar, locate **Settings => Custom Integrations**
|
|
3029
3039
|
3. Click Create New Integration and select **Internal Integration**
|
|
3030
|
-
4. On the editing page, **enter
|
|
3040
|
+
4. On the editing page, **enter Flashduty for Name and paste the integration push URL into WebhookURL**
|
|
3031
3041
|
5. Enable **Alert Rule Action**, configure as shown below:
|
|
3032
3042
|
|
|
3033
3043
|
<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/sentry-1.png" />
|
|
@@ -3039,11 +3049,11 @@ Sentry provides two types of alert mechanisms: Issue Alerts and Metric Alerts. W
|
|
|
3039
3049
|
<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/sentry-2.png" />
|
|
3040
3050
|
|
|
3041
3051
|
**Special notes about WEBHOOKS configuration:**
|
|
3042
|
-
1. After checking **issue**,
|
|
3052
|
+
1. After checking **issue**, Flashduty can receive resolved events for issues, meaning when manually triggering resolved for an issue in the issue list, we will automatically recover the associated incident in Flashduty
|
|
3043
3053
|
2. Other issue events such as create, assigned, archived, and unresolved are not supported
|
|
3044
|
-
3. If error and comment are also checked,
|
|
3054
|
+
3. If error and comment are also checked, Flashduty will not receive or process these types of events
|
|
3045
3055
|
|
|
3046
|
-
### Step 2: Use
|
|
3056
|
+
### Step 2: Use Flashduty Integration in Alerts
|
|
3047
3057
|
1. In the left navigation bar, locate **Alerts => Create Alert**
|
|
3048
3058
|
2. Select the type of Alert to create, such as Issue
|
|
3049
3059
|
|
|
@@ -3055,7 +3065,7 @@ Sentry provides two types of alert mechanisms: Issue Alerts and Metric Alerts. W
|
|
|
3055
3065
|
|
|
3056
3066
|
<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/sentry-4.png" />
|
|
3057
3067
|
|
|
3058
|
-
5. Select **
|
|
3068
|
+
5. Select **Flashduty** added above as the notification channel
|
|
3059
3069
|
|
|
3060
3070
|
<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/sentry-5.png" />
|
|
3061
3071
|
|
|
@@ -3136,7 +3146,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3136
3146
|
|
|
3137
3147
|
<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/jkb-2.png" />
|
|
3138
3148
|
|
|
3139
|
-
4. Enter
|
|
3149
|
+
4. Enter Flashduty as the custom name, and input the copied integration push URL
|
|
3140
3150
|
5. Select **POST** as the callback method and **JSON** as the data format
|
|
3141
3151
|
6. Check **Enable URL Callback**, configure other options as needed, refer to the image below
|
|
3142
3152
|
|
|
@@ -3144,10 +3154,10 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3144
3154
|
|
|
3145
3155
|
7. Click Save
|
|
3146
3156
|
|
|
3147
|
-
### Step 2: Use
|
|
3157
|
+
### Step 2: Use Flashduty Alert Channel in Monitoring Tasks
|
|
3148
3158
|
1. Create or edit an existing monitoring task
|
|
3149
3159
|
2. Other alert configurations are omitted here
|
|
3150
|
-
3. Under Webhook notification, select the
|
|
3160
|
+
3. Under Webhook notification, select the Flashduty channel
|
|
3151
3161
|
|
|
3152
3162
|
<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/jkb-4.png" />
|
|
3153
3163
|
|
|
@@ -3164,7 +3174,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3164
3174
|
|2|Info|Info|
|
|
3165
3175
|
|
|
3166
3176
|
</div>
|
|
3167
|
-
`,
|
|
3177
|
+
`,x=`---
|
|
3168
3178
|
title: "AWS EventBridge Alert Events"
|
|
3169
3179
|
description: "Sync AWS EventBridge alert events to Flashduty via webhook for automated alert noise reduction"
|
|
3170
3180
|
date: "2024-08-20T10:00:00+08:00"
|
|
@@ -3225,10 +3235,10 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3225
3235
|
|
|
3226
3236
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/aws-eb-3.png" />
|
|
3227
3237
|
|
|
3228
|
-
4. In the \`Connection details\` section, enter \`
|
|
3238
|
+
4. In the \`Connection details\` section, enter \`Flashduty\` for \`Connection name\`
|
|
3229
3239
|
5. In the \`Authorization\` section, select \`Other\` for \`Destination type\`
|
|
3230
3240
|
6. Select \`API Key\` for \`Authorization type\`
|
|
3231
|
-
7. Enter \`
|
|
3241
|
+
7. Enter \`Flashduty\` for \`API key name\`, and enter the \`integration_key\` from the integration push URL for \`Value\`
|
|
3232
3242
|
8. Click \`Create\` to save
|
|
3233
3243
|
|
|
3234
3244
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/aws-eb-4.png" />
|
|
@@ -3239,10 +3249,10 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3239
3249
|
|
|
3240
3250
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/aws-eb-5.png" />
|
|
3241
3251
|
|
|
3242
|
-
2. Fill in the information in the \`API destination detail\` editing interface, enter \`
|
|
3252
|
+
2. Fill in the information in the \`API destination detail\` editing interface, enter \`Flashduty\` for \`Name\`
|
|
3243
3253
|
3. Enter the integration push URL for \`API destination endpoint\`
|
|
3244
3254
|
4. Select \`POST\` for \`HTTP method\`
|
|
3245
|
-
5. Select \`Use an existing connection\` for \`Connection type\` and choose the \`
|
|
3255
|
+
5. Select \`Use an existing connection\` for \`Connection type\` and choose the \`Flashduty\` Connection added in Step 1
|
|
3246
3256
|
6. Click \`Create\` to save
|
|
3247
3257
|
|
|
3248
3258
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/aws-eb-6.png" />
|
|
@@ -3252,7 +3262,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3252
3262
|
2. Select \`Buses=>Rules\` from the left navigation bar, create or edit existing rules
|
|
3253
3263
|
3. Other configurations are omitted here
|
|
3254
3264
|
4. For \`Target types\`, select \`EventBridge API destination\` as the target type
|
|
3255
|
-
5. Under \`API destination\`, select \`Use an existing API destination\` and choose the \`
|
|
3265
|
+
5. Under \`API destination\`, select \`Use an existing API destination\` and choose the \`Flashduty\` API destination created in Step 2 from the dropdown
|
|
3256
3266
|
6. Click \`Next\`, configure as needed, and save
|
|
3257
3267
|
|
|
3258
3268
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/aws-eb-7.png" />
|
|
@@ -3261,12 +3271,12 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3261
3271
|
|
|
3262
3272
|
<div class="md-block">
|
|
3263
3273
|
|
|
3264
|
-
1. Since AWS EventBridge events don't have severity levels, all events pushed to
|
|
3265
|
-
2. AWS EventBridge events only have triggers without recovery states, so events received by
|
|
3274
|
+
1. Since AWS EventBridge events don't have severity levels, all events pushed to Flashduty will have a Warning severity
|
|
3275
|
+
2. AWS EventBridge events only have triggers without recovery states, so events received by Flashduty won't automatically associate with recovery
|
|
3266
3276
|
|
|
3267
3277
|
</div>
|
|
3268
3278
|
|
|
3269
|
-
`,
|
|
3279
|
+
`,F=`---
|
|
3270
3280
|
title: "Dynatrace Alert Events"
|
|
3271
3281
|
description: "Sync Dynatrace alert events to Flashduty via webhook to achieve automated alert noise reduction."
|
|
3272
3282
|
date: "2024-08-20T10:00:00+08:00"
|
|
@@ -3335,7 +3345,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3335
3345
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/dyn-3.png" />
|
|
3336
3346
|
|
|
3337
3347
|
5. Under \`Notification type\`, select \`Custom Integration\`
|
|
3338
|
-
6. Fill in \`Display name\` with \`
|
|
3348
|
+
6. Fill in \`Display name\` with \`Flashduty\`
|
|
3339
3349
|
7. In \`Webhook URL\`, enter the integration push URL (generated after saving the integration name on the current page)
|
|
3340
3350
|
8. Keep \`Call webhook if problem is closed\` enabled
|
|
3341
3351
|
|
|
@@ -3373,7 +3383,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3373
3383
|
|CUSTOM_ALERT|Info|info|
|
|
3374
3384
|
|
|
3375
3385
|
</div>
|
|
3376
|
-
`,
|
|
3386
|
+
`,_=`---
|
|
3377
3387
|
title: "Huawei Cloud LTS Alert Events"
|
|
3378
3388
|
description: "Sync Huawei Cloud Log Tank Service (LTS) alert events to Flashduty via webhook for automated alert noise reduction."
|
|
3379
3389
|
date: "2024-08-20T10:00:00+08:00"
|
|
@@ -3426,14 +3436,14 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3426
3436
|
|
|
3427
3437
|
## I. Huawei Cloud LTS Alert Push Configuration
|
|
3428
3438
|
|
|
3429
|
-
### Step 1: Create
|
|
3439
|
+
### Step 1: Create Flashduty Alert Channel
|
|
3430
3440
|
1. Log in to your Huawei Cloud Console, search for \`SMN\` (Simple Message Notification) service and enter its console
|
|
3431
3441
|
2. Select \`Topic Management=>Topics\` from the left navigation bar
|
|
3432
|
-
3. Click \`Create Topic\`, enter \`
|
|
3442
|
+
3. Click \`Create Topic\`, enter \`Flashduty\` as the topic name in the edit page and confirm
|
|
3433
3443
|
|
|
3434
3444
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/hw/lts-1.png" alt="drawing" width="500"/>
|
|
3435
3445
|
|
|
3436
|
-
4. Return to the topic list and click \`Add Subscription\` in the newly created
|
|
3446
|
+
4. Return to the topic list and click \`Add Subscription\` in the newly created Flashduty topic
|
|
3437
3447
|
|
|
3438
3448
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/hw/lts-2.png" alt="drawing" width="500"/>
|
|
3439
3449
|
|
|
@@ -3452,14 +3462,14 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3452
3462
|
|
|
3453
3463
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/hw/lts-5.png" alt="drawing" width="500"/>
|
|
3454
3464
|
|
|
3455
|
-
3. In the template edit page, enter **
|
|
3465
|
+
3. In the template edit page, enter **Flashduty** as the name, select \`English\` as the message header language
|
|
3456
3466
|
4. Select \`HTTP/HTTPS\` as notification type and \`JSON\` as data type
|
|
3457
3467
|
5. Click \`Confirm\` to save
|
|
3458
3468
|
|
|
3459
3469
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/hw/lts-6.png" alt="drawing" width="500"/>
|
|
3460
3470
|
|
|
3461
3471
|
6. Return to the \`Alert Action Rules\` list and click \`Create\`
|
|
3462
|
-
7. Enter **
|
|
3472
|
+
7. Enter **Flashduty** as the rule name, select the previously created **Flashduty** topic and template
|
|
3463
3473
|
|
|
3464
3474
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/hw/lts-7.png" alt="drawing" width="500"/>
|
|
3465
3475
|
|
|
@@ -3469,7 +3479,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3469
3479
|
2. Create or edit existing alert rules
|
|
3470
3480
|
3. Other configurations are omitted here
|
|
3471
3481
|
4. In \`Advanced Settings\`, check both \`Alert Trigger\` and \`Alert Recovery\` in notification scenarios
|
|
3472
|
-
5. Enable action rules and select the **
|
|
3482
|
+
5. Enable action rules and select the **Flashduty** rule created in \`Step 2\`
|
|
3473
3483
|
6. Select \`English\` as language, click \`Confirm\` to save after configuration is complete
|
|
3474
3484
|
|
|
3475
3485
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/hw/lts-8.png" alt="drawing" width="500"/>
|
|
@@ -3486,7 +3496,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3486
3496
|
|Info|Info|Info|
|
|
3487
3497
|
|
|
3488
3498
|
</div>
|
|
3489
|
-
`,
|
|
3499
|
+
`,R=`---
|
|
3490
3500
|
title: "Google Cloud Monitoring Alert Events"
|
|
3491
3501
|
description: "Sync Google Cloud Monitoring alert events to Flashduty via webhook for automated alert noise reduction"
|
|
3492
3502
|
date: "2024-07-05T10:00:00+08:00"
|
|
@@ -3547,18 +3557,18 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3547
3557
|
|
|
3548
3558
|
3. Find \`Webhooks\` on the Notification channels page and click \`ADD NEW\`
|
|
3549
3559
|
4. Enter the integration push URL in the \`Endpoint URL\` field (the URL will be generated after saving the integration name on the current page)
|
|
3550
|
-
5. Enter **
|
|
3560
|
+
5. Enter **Flashduty** in the \`Display Name\` field
|
|
3551
3561
|
6. Click \`TEST CONNECTION\` and then \`SAVE\` to complete
|
|
3552
3562
|
|
|
3553
3563
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/google-cm-2.png" />
|
|
3554
3564
|
|
|
3555
|
-
### Step 2: Use
|
|
3565
|
+
### Step 2: Use Flashduty Alert Channel in Alert Policy
|
|
3556
3566
|
|
|
3557
3567
|
1. Return to the \`Alerting\` page
|
|
3558
3568
|
2. Create or edit an existing policy
|
|
3559
3569
|
3. Skip other policy configurations (configure alert conditions according to business requirements)
|
|
3560
3570
|
4. On the \`Notifications and name\` page, keep \`Use notification channel\` enabled
|
|
3561
|
-
5. Select the **
|
|
3571
|
+
5. Select the **Flashduty** channel created in **Step 1** from the \`Notification channels\` dropdown, and check \`Notify on incident closure\`
|
|
3562
3572
|
6. Complete other configurations and save the policy
|
|
3563
3573
|
|
|
3564
3574
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/google-cm-3.png" />
|
|
@@ -3577,7 +3587,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3577
3587
|
|No severity|Info|Info|
|
|
3578
3588
|
|
|
3579
3589
|
</div>
|
|
3580
|
-
`,
|
|
3590
|
+
`,L=`---
|
|
3581
3591
|
title: "Splunk Alert Events"
|
|
3582
3592
|
description: "Sync Splunk alert events to Flashduty via webhook for automated alert noise reduction"
|
|
3583
3593
|
date: "2024-08-20T10:00:00+08:00"
|
|
@@ -3705,14 +3715,14 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
3705
3715
|
|
|
3706
3716
|
## I. AppDynamics Alert Push Configuration
|
|
3707
3717
|
|
|
3708
|
-
### Step 1: Configure
|
|
3718
|
+
### Step 1: Configure Flashduty Alert Channel
|
|
3709
3719
|
|
|
3710
3720
|
1. Log in to your AppDynamics console
|
|
3711
3721
|
2. Find \`Alert Respond\`, select \`HTTP Request Templates\`, and click \`New\` to create an alert channel
|
|
3712
3722
|
|
|
3713
3723
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/appdyn-1.png" />
|
|
3714
3724
|
|
|
3715
|
-
3. In the template configuration, enter **
|
|
3725
|
+
3. In the template configuration, enter **Flashduty** as the \`Name\`
|
|
3716
3726
|
4. In the \`Request URL\` section, select **POST** as the \`Method\`, and enter the integration push URL in \`Raw URL\` (enter the integration name on this page, and the URL will be generated after saving)
|
|
3717
3727
|
|
|
3718
3728
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/appdyn-2.png" />
|
|
@@ -3785,7 +3795,7 @@ If you need to configure \`Custom Templating Variables\`, you can refer to the f
|
|
|
3785
3795
|
|
|
3786
3796
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/appdyn-6.png" />
|
|
3787
3797
|
|
|
3788
|
-
3. In the \`Create HTTP Action\` popup, enter a Name, select **
|
|
3798
|
+
3. In the \`Create HTTP Action\` popup, enter a Name, select **Flashduty** created in \`Step 1\` as the \`HTTP Request Template\`, and click \`SAVE\`
|
|
3789
3799
|
|
|
3790
3800
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/appdyn-7.png" />
|
|
3791
3801
|
|
|
@@ -3812,7 +3822,7 @@ If you need to configure \`Custom Templating Variables\`, you can refer to the f
|
|
|
3812
3822
|
|INFO|Info|Info|
|
|
3813
3823
|
|
|
3814
3824
|
</div>
|
|
3815
|
-
`,
|
|
3825
|
+
`,U=`---
|
|
3816
3826
|
title: "SolarWinds Alert Events"
|
|
3817
3827
|
description: "Sync SolarWinds alert events to Flashduty via webhook for automated alert noise reduction"
|
|
3818
3828
|
date: "2024-08-20T10:00:00+08:00"
|
|
@@ -3865,11 +3875,11 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3865
3875
|
|
|
3866
3876
|
## I. SolarWinds Alert Push Configuration
|
|
3867
3877
|
|
|
3868
|
-
### Step 1: Configure
|
|
3878
|
+
### Step 1: Configure Flashduty Alert Channel
|
|
3869
3879
|
|
|
3870
3880
|
**Prerequisites**
|
|
3871
3881
|
1. SolarWinds has five types of alerts (Anomaly, Entity, Event, Log, Metric Group), each requiring a different alert channel, so five alert channels need to be created
|
|
3872
|
-
2. When creating Webhook channels, it's recommended to name them using the format:
|
|
3882
|
+
2. When creating Webhook channels, it's recommended to name them using the format: Type_Flashduty, for example: Anomaly_Flashduty
|
|
3873
3883
|
3. When selecting **Select Custom Body Template Based On The Alert Types**, the system will generate a default **HTTP POST Body**. **Please do not modify the generated template content**
|
|
3874
3884
|
|
|
3875
3885
|
**Getting Started**
|
|
@@ -3879,7 +3889,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3879
3889
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/sw-1.png" />
|
|
3880
3890
|
|
|
3881
3891
|
3. Click \`CREATE CONFIGURATION\` to create the corresponding alert channel
|
|
3882
|
-
4. Select **POST** for \`Method\`, name it according to the prerequisites, e.g.,
|
|
3892
|
+
4. Select **POST** for \`Method\`, name it according to the prerequisites, e.g., Anomaly_Flashduty
|
|
3883
3893
|
5. Fill in the integration push URL in \`Destination URL\` (enter the integration name on the current page, save to generate the URL)
|
|
3884
3894
|
6. Select **application/json** for \`Content Type\`
|
|
3885
3895
|
7. Choose the type you need to create in \`Select Custom Body Template Based On The Alert Types\`, e.g., Anomaly Based Alert
|
|
@@ -3895,7 +3905,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3895
3905
|
1. Find \`Alerts\` in the left navigation bar, select \`Alert Settings\`
|
|
3896
3906
|
2. Create or edit existing policies (configure alert rules as needed, alert rule configuration is omitted here)
|
|
3897
3907
|
3. In the \`Actions\` section of the policy configuration page, select **Webhook** for \`Services\`
|
|
3898
|
-
4. Select the
|
|
3908
|
+
4. Select the Anomaly_Flashduty channel created in Step 1 for \`Configuration\`
|
|
3899
3909
|
5. Keep \`Send an additional notification when the Alert is cleared\` enabled
|
|
3900
3910
|
|
|
3901
3911
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/sw-4.png" />
|
|
@@ -3915,7 +3925,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
3915
3925
|
|Info|Info|Info|
|
|
3916
3926
|
|
|
3917
3927
|
</div>
|
|
3918
|
-
`,
|
|
3928
|
+
`,E=`---
|
|
3919
3929
|
title: "Volcengine Cloud Monitor Alert Events"
|
|
3920
3930
|
description: "Sync Volcengine Cloud Monitor alert events to Flashduty via webhook for automated alert noise reduction"
|
|
3921
3931
|
date: "2024-08-20T10:00:00+08:00"
|
|
@@ -3968,14 +3978,14 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
3968
3978
|
|
|
3969
3979
|
## I. Volcengine Cloud Monitor Alert Push Configuration
|
|
3970
3980
|
|
|
3971
|
-
### Step 1: Create
|
|
3981
|
+
### Step 1: Create Flashduty Alert Channel
|
|
3972
3982
|
1. Log in to your Volcengine console, search for \`Cloud Monitor\` product, and enter the corresponding product console
|
|
3973
3983
|
2. Select \`Notification Groups=>Callback\` from the left navigation bar
|
|
3974
3984
|
3. Click \`Create Callback URL\`
|
|
3975
3985
|
|
|
3976
3986
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/volcengine/event-1.png" alt="drawing" width="500"/>
|
|
3977
3987
|
|
|
3978
|
-
4. Fill in the information on the edit page, enter \`
|
|
3988
|
+
4. Fill in the information on the edit page, enter \`Flashduty_Metric\` as the callback URL name
|
|
3979
3989
|
5. Select \`General Callback URL\` as the callback URL type
|
|
3980
3990
|
6. Enter the **integration push URL** (enter the integration name on the current page, save to generate the URL)
|
|
3981
3991
|
7. Click \`Confirm\` to complete the creation (connectivity testing is not supported; even if the test shows connectivity failure, it won't affect alert reception)
|
|
@@ -3988,7 +3998,7 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
3988
3998
|
2. Create or edit existing alert policies (configure policies as needed, skipped here)
|
|
3989
3999
|
3. On the policy edit page, select \`Rules and Resources\` for \`Send Aggregation Policy\`
|
|
3990
4000
|
4. Keep \`Alert Recovery Notification\` enabled
|
|
3991
|
-
5. Check \`Alert Callback\` in \`Alert Channels\`, and select the \`
|
|
4001
|
+
5. Check \`Alert Callback\` in \`Alert Channels\`, and select the \`Flashduty_Metric\` channel created in **Step 1** from the dropdown menu
|
|
3992
4002
|
6. After completing other configurations, click \`Confirm\` to finish
|
|
3993
4003
|
|
|
3994
4004
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/volcengine/event-3.png" alt="drawing" width="500"/>
|
|
@@ -4004,7 +4014,7 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
4004
4014
|
|Notice|Info|Info|
|
|
4005
4015
|
|
|
4006
4016
|
</div>
|
|
4007
|
-
`,
|
|
4017
|
+
`,P=`---
|
|
4008
4018
|
title: "Volcengine Cloud Monitor Event Center Alert Events"
|
|
4009
4019
|
description: "Sync Volcengine Cloud Monitor Event Center alert events to Flashduty via webhook for automated alert noise reduction"
|
|
4010
4020
|
date: "2024-07-05T10:00:00+08:00"
|
|
@@ -4057,14 +4067,14 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
4057
4067
|
|
|
4058
4068
|
## I. Volcengine Cloud Monitor Event Center Alert Push Configuration
|
|
4059
4069
|
|
|
4060
|
-
### Step 1: Create
|
|
4070
|
+
### Step 1: Create Flashduty Alert Channel
|
|
4061
4071
|
1. Log in to your Volcengine console, search for \`Cloud Monitor\` product, and enter the corresponding product console
|
|
4062
4072
|
2. Select \`Notification Groups=>Callback\` from the left navigation bar
|
|
4063
4073
|
3. Click \`Create Callback URL\`
|
|
4064
4074
|
|
|
4065
4075
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/volcengine/event-1.png" alt="drawing" width="500"/>
|
|
4066
4076
|
|
|
4067
|
-
4. Fill in the information on the edit page, enter \`
|
|
4077
|
+
4. Fill in the information on the edit page, enter \`Flashduty_Event\` as the callback URL name
|
|
4068
4078
|
5. Select \`General Callback URL\` as the callback URL type
|
|
4069
4079
|
6. Enter the **integration push URL** (enter the integration name on the current page, save to generate the URL)
|
|
4070
4080
|
7. Click \`Confirm\` to complete the creation (connectivity testing is not supported; even if the test shows connectivity failure, it won't affect alert reception)
|
|
@@ -4075,7 +4085,7 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
4075
4085
|
|
|
4076
4086
|
1. Select \`Event Center=>Event Rules\` from the left navigation bar
|
|
4077
4087
|
2. Create or edit existing event rules (configure rules as needed, skipped here)
|
|
4078
|
-
3. On the rule editing page, check \`Alert Callback\` under delivery channels, and select the \`
|
|
4088
|
+
3. On the rule editing page, check \`Alert Callback\` under delivery channels, and select the \`Flashduty_Event\` channel created in **Step 1** from the alert callback dropdown
|
|
4079
4089
|
4. After completing other configurations, click \`Confirm\` to finish
|
|
4080
4090
|
|
|
4081
4091
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/volcengine/metric-3.png" alt="drawing" width="500"/>
|
|
@@ -4144,14 +4154,14 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
4144
4154
|
|
|
4145
4155
|
## I. Volcengine Log Service (TLS) Alert Push Configuration
|
|
4146
4156
|
|
|
4147
|
-
### Step 1: Create
|
|
4157
|
+
### Step 1: Create Flashduty Alert Channel
|
|
4148
4158
|
1. Log in to your Volcengine console, search for \`TLS\` Log Service product, and enter the corresponding product console
|
|
4149
4159
|
2. Select \`Alert=>Notification Management\` from the left navigation bar
|
|
4150
4160
|
3. Choose \`Webhook Alert Integration\` and click \`Create Webhook Alert Integration\`
|
|
4151
4161
|
|
|
4152
4162
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/volcengine/tls-1.png" alt="drawing" width="500"/>
|
|
4153
4163
|
|
|
4154
|
-
4. Fill in the information in the pop-up editor, enter \`
|
|
4164
|
+
4. Fill in the information in the pop-up editor, enter \`Flashduty\` as the name
|
|
4155
4165
|
5. Select \`Custom Webhook\` as type and \`POST\` as request method
|
|
4156
4166
|
6. Enter the **Integration Push URL** as the request URL (generated after saving the integration name on the current page)
|
|
4157
4167
|
7. Keep the request headers as default and click \`Create\`
|
|
@@ -4162,7 +4172,7 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
4162
4172
|
|
|
4163
4173
|
1. Return to the \`Notification Management\` page
|
|
4164
4174
|
2. Select \`Content Templates\` and click \`Create Content Template\`
|
|
4165
|
-
3. Fill in the relevant information, enter \`
|
|
4175
|
+
3. Fill in the relevant information, enter \`Flashduty\` as the template name
|
|
4166
4176
|
4. Other channel content can be empty. In the \`Custom Webhook\` notification content, enter the following template:
|
|
4167
4177
|
|
|
4168
4178
|
\`\`\`
|
|
@@ -4195,11 +4205,11 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
4195
4205
|
|
|
4196
4206
|
1. Return to the \`Notification Management\` page
|
|
4197
4207
|
2. Select \`Notification Groups\` and click \`Create Notification Group\`
|
|
4198
|
-
3. Fill in the relevant information, enter \`
|
|
4208
|
+
3. Fill in the relevant information, enter \`Flashduty\` as the group name
|
|
4199
4209
|
4. Configure notification rules and other settings as needed (skipped here)
|
|
4200
4210
|
5. In notification channel configuration, keep \`Custom Webhook\` checked
|
|
4201
|
-
6. Select the **
|
|
4202
|
-
7. Select the **
|
|
4211
|
+
6. Select the **Flashduty** channel created in **Step 1** for \`Webhook\`
|
|
4212
|
+
7. Select the **Flashduty** template created in **Step 2** for \`Content Template\`
|
|
4203
4213
|
8. Click \`Save\` after completing other configurations
|
|
4204
4214
|
|
|
4205
4215
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/volcengine/tls-4.png" alt="drawing" width="500"/>
|
|
@@ -4210,7 +4220,7 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
4210
4220
|
2. Create a new or edit an existing alert policy
|
|
4211
4221
|
3. Configure alert rules as needed (skipped here)
|
|
4212
4222
|
4. Click \`Associate Notification Group\` in the \`Notification Group\` section
|
|
4213
|
-
5. In the pop-up selection box, choose the **
|
|
4223
|
+
5. In the pop-up selection box, choose the **Flashduty** notification group created in **Step 3**, then click \`Associate\`
|
|
4214
4224
|
6. Click \`Create/Save\` after configuring other settings
|
|
4215
4225
|
|
|
4216
4226
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/volcengine/tls-5.png" alt="drawing" width="500"/>
|
|
@@ -4228,7 +4238,7 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
4228
4238
|
</div>
|
|
4229
4239
|
|
|
4230
4240
|
</div>
|
|
4231
|
-
`,
|
|
4241
|
+
`,D=`---
|
|
4232
4242
|
title: "OpManager Alert Events"
|
|
4233
4243
|
description: "Sync OpManager alert events to Flashduty via webhook for automated alert noise reduction"
|
|
4234
4244
|
date: "2024-07-05T10:00:00+08:00"
|
|
@@ -4346,7 +4356,7 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
4346
4356
|
|
|
4347
4357
|
10. Select the devices you want to apply this configuration to, move them to the selected devices window using the right arrow, then click next
|
|
4348
4358
|
11. Configure Time Window/Delayed Trigger/Recurring Trigger as needed, then click next
|
|
4349
|
-
12. Add the name \`
|
|
4359
|
+
12. Add the name \`Flashduty\` for this configuration profile, then click \`Save\` to complete the setup
|
|
4350
4360
|
|
|
4351
4361
|
</dev>
|
|
4352
4362
|
|
|
@@ -4418,7 +4428,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
4418
4428
|
1. Log in to your \`Meraki\` console and select the device you want to configure alerts for
|
|
4419
4429
|
2. On the \`Alerts\` page, configure \`Cellular gateway\` and other sections as needed
|
|
4420
4430
|
3. Under \`Webhooks\`, configure \`HTTPS receivers\`
|
|
4421
|
-
4. Enter \`
|
|
4431
|
+
4. Enter \`Flashduty\` for \`Name\`, and enter the **integration push URL** for \`URL\`
|
|
4422
4432
|
5. Leave \`Shared secret\` empty, and keep \`Payload template\` as the default \`Meraki(included)\`
|
|
4423
4433
|
6. Click \`Save\` to save the settings
|
|
4424
4434
|
|
|
@@ -4443,7 +4453,7 @@ url: "https://docs.flashcat.cloud/en/flashduty/statecloud-integration-guide"
|
|
|
4443
4453
|
|
|
4444
4454
|
Sync StateCloud monitoring alert events to Flashduty via webhook for automated alert noise reduction.
|
|
4445
4455
|
|
|
4446
|
-
For resource monitoring events from StateCloud [secondary nodes](#secondary-nodes), please use Huawei Cloud integration. Refer to [Huawei Cloud Alert Integration Guide](https://docs.flashcat.cloud/en/
|
|
4456
|
+
For resource monitoring events from StateCloud [secondary nodes](#secondary-nodes), please use Huawei Cloud integration. Refer to [Huawei Cloud Alert Integration Guide](https://docs.flashcat.cloud/en/on-call/integration/alert-integration/alert-sources/huawei-ces).
|
|
4447
4457
|
|
|
4448
4458
|
|
|
4449
4459
|
<div class="hide">
|
|
@@ -4586,7 +4596,7 @@ Choose this option when you need to route alerts to different channels based on
|
|
|
4586
4596
|
|
|
4587
4597
|
1. Log in to your \`Guance\` console, select \`Alert Strategies\` under \`Monitoring\`
|
|
4588
4598
|
2. Create new or modify existing alert policies on the \`Alert Strategies\` page
|
|
4589
|
-
3. In the notification configuration section of the alert strategies editing page, select \`severity\` and choose \`
|
|
4599
|
+
3. In the notification configuration section of the alert strategies editing page, select \`severity\` and choose \`Flashduty\` created in Step 1 as the \`Notification Tragets\`
|
|
4590
4600
|
4. Configure other options as needed and click \`Save\` to complete
|
|
4591
4601
|
|
|
4592
4602
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/en/fd/guance-2.png" />
|
|
@@ -4732,15 +4742,15 @@ When you need to route alerts to different channels based on alert payload infor
|
|
|
4732
4742
|
|
|
4733
4743
|
## I. Huawei Cloud APM Alert Push Configuration
|
|
4734
4744
|
|
|
4735
|
-
### Create
|
|
4745
|
+
### Create Flashduty Alert Channel
|
|
4736
4746
|
|
|
4737
4747
|
1. Log in to your Huawei Cloud Console, search for \`SMN\` (Simple Message Notification) service and enter its console
|
|
4738
4748
|
2. Select \`Topic Management=>Topics\` from the left navigation bar
|
|
4739
|
-
3. Click \`Create Topic\`, enter \`
|
|
4749
|
+
3. Click \`Create Topic\`, enter \`Flashduty\` as the topic name in the edit page and confirm
|
|
4740
4750
|
|
|
4741
4751
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/hw/lts-1.png" alt="drawing" width="500"/>
|
|
4742
4752
|
|
|
4743
|
-
4. Return to the topic list and click \`Add Subscription\` in the newly created
|
|
4753
|
+
4. Return to the topic list and click \`Add Subscription\` in the newly created Flashduty topic
|
|
4744
4754
|
|
|
4745
4755
|
<img src="https://download.flashcat.cloud/flashduty/doc/en/hw/lts-2.png" alt="drawing" width="500"/>
|
|
4746
4756
|
|
|
@@ -4756,7 +4766,7 @@ When you need to route alerts to different channels based on alert payload infor
|
|
|
4756
4766
|
|
|
4757
4767
|
#### Step 1: Add Notification Configuration
|
|
4758
4768
|
1. Log in to your \`Huawei Cloud APM\` console, under \`Application Monitoring=>Metrics\`, click \`Notification\`
|
|
4759
|
-
2. Select the corresponding region, click \`Add\`, and select the created \`
|
|
4769
|
+
2. Select the corresponding region, click \`Add\`, and select the created \`Flashduty\` topic
|
|
4760
4770
|
3. Click \`Confirm\` to complete the configuration
|
|
4761
4771
|
|
|
4762
4772
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/en/hw/hw-apm-1.png" />
|
|
@@ -4766,7 +4776,7 @@ When you need to route alerts to different channels based on alert payload infor
|
|
|
4766
4776
|
2. Select \`Alarm Policy\`, click \`Add Custom Alarm Policy\` or edit an existing alarm policy
|
|
4767
4777
|
3. In the \`Alarm Policy\` edit page, configure alert metrics and conditions according to your business needs
|
|
4768
4778
|
4. In \`Notification Content\`, when referencing variables, it's recommended to use K:V format for easier alert parsing, such as host:\${hostInfo}
|
|
4769
|
-
5. In \`Notification Object\`, select the created \`
|
|
4779
|
+
5. In \`Notification Object\`, select the created \`Flashduty\` notification channel
|
|
4770
4780
|
6. Click \`Confirm\` to complete the configuration
|
|
4771
4781
|
|
|
4772
4782
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/en/hw/hw-apm-2.png" />
|
|
@@ -4873,7 +4883,7 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
4873
4883
|
|
|
4874
4884
|
</div>
|
|
4875
4885
|
|
|
4876
|
-
`,
|
|
4886
|
+
`,H=`---
|
|
4877
4887
|
title: "Keep Alert Integration Guide"
|
|
4878
4888
|
description: "Push alert events to Flashduty through Keep's Provider to achieve automated alert noise reduction."
|
|
4879
4889
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -4954,7 +4964,7 @@ Field|Required|Type|Definition
|
|
|
4954
4964
|
|
|
4955
4965
|
<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/en/fd/keep-2.png" />
|
|
4956
4966
|
|
|
4957
|
-
`,
|
|
4967
|
+
`,j=`---
|
|
4958
4968
|
title: "ElastAlert2 Alert Integration Guide"
|
|
4959
4969
|
description: "Push alert events to Flashduty through ElastAlert2's Provider to achieve automated alert noise reduction."
|
|
4960
4970
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -5005,7 +5015,7 @@ Choose this method when you need to route alerts to different channels based on
|
|
|
5005
5015
|
---
|
|
5006
5016
|
|
|
5007
5017
|
### Configure ElastAlert 2 Alerts
|
|
5008
|
-
Follow the [ElastAlert
|
|
5018
|
+
Follow the [ElastAlert Flashduty](https://elastalert2.readthedocs.io/en/latest/alerts.html#flashduty) push configuration document
|
|
5009
5019
|
|
|
5010
5020
|
1. Create or edit the alert rule file, for example \`rules/elastalert2_alert.yaml\`.
|
|
5011
5021
|
2. Fill in the \`flashduty\` alert type in the \`alert\` field.
|
|
@@ -5057,7 +5067,7 @@ filter:
|
|
|
5057
5067
|
query_string:
|
|
5058
5068
|
query: "created_at:*"
|
|
5059
5069
|
|
|
5060
|
-
# -------
|
|
5070
|
+
# ------- Flashduty ----------------
|
|
5061
5071
|
alert: flashduty
|
|
5062
5072
|
flashduty_integration_key: "xxxx"
|
|
5063
5073
|
flashduty_title: "elastalert2 alert"
|
|
@@ -5072,7 +5082,7 @@ flashduty_group: "group1"
|
|
|
5072
5082
|
flashduty_cluster: "bj"
|
|
5073
5083
|
flashduty_app: "app1"
|
|
5074
5084
|
flashduty_env: "dev"
|
|
5075
|
-
# -------
|
|
5085
|
+
# ------- Flashduty ----------------
|
|
5076
5086
|
\`\`\`
|
|
5077
5087
|
|
|
5078
5088
|
5. Restart ElastAlert and wait for the alert to trigger.`,Y=`---
|
|
@@ -5156,7 +5166,7 @@ By default, the system always creates new alerts for each message, but you can s
|
|
|
5156
5166
|
## Severity Mapping
|
|
5157
5167
|
---
|
|
5158
5168
|
|
|
5159
|
-
Currently, all alerts pushed to Flashduty through the Dingtalk integration are set to Warning severity. However, you can customize the severity using the [alert pipeline](https://docs.flashcat.cloud/en/
|
|
5169
|
+
Currently, all alerts pushed to Flashduty through the Dingtalk integration are set to Warning severity. However, you can customize the severity using the [alert pipeline](https://docs.flashcat.cloud/en/on-call/integration/alert-integration/alert-pipelines).
|
|
5160
5170
|
`,z=`---
|
|
5161
5171
|
title: "Feishu Alert Integration"
|
|
5162
5172
|
description: "Generate a unique Feishu robot address in Flashduty, and synchronize the occurrence and recovery of alerts through Feishu"
|
|
@@ -5238,7 +5248,7 @@ By default, the system always creates new alerts for each message, but you can s
|
|
|
5238
5248
|
## Severity Mapping
|
|
5239
5249
|
---
|
|
5240
5250
|
|
|
5241
|
-
Currently, all alerts pushed to Flashduty through the Feishu(lark) integration are set to Warning severity. However, you can customize the severity using the [alert pipeline](https://docs.flashcat.cloud/en/
|
|
5251
|
+
Currently, all alerts pushed to Flashduty through the Feishu(lark) integration are set to Warning severity. However, you can customize the severity using the [alert pipeline](https://docs.flashcat.cloud/en/on-call/integration/alert-integration/alert-pipelines).
|
|
5242
5252
|
`,B=`---
|
|
5243
5253
|
title: "Volcengine Cloud-Detect Alert Events"
|
|
5244
5254
|
description: "Sync Volcengine Cloud-Detect alert events to Flashduty via webhook for automated alert noise reduction"
|
|
@@ -5428,7 +5438,7 @@ After configuring the Webhook channel, you can use it in notification policies.
|
|
|
5428
5438
|
|
|
5429
5439
|
<div class="md-block">
|
|
5430
5440
|
|
|
5431
|
-
Currently, all alerts pushed to Flashduty through the Cloudflare integration are set to Warning severity. However, you can customize the severity using the [alert pipeline](https://docs.flashcat.cloud/en/
|
|
5441
|
+
Currently, all alerts pushed to Flashduty through the Cloudflare integration are set to Warning severity. However, you can customize the severity using the [alert pipeline](https://docs.flashcat.cloud/en/on-call/integration/alert-integration/alert-pipelines).
|
|
5432
5442
|
|
|
5433
5443
|
</div>
|
|
5434
5444
|
|
|
@@ -5496,7 +5506,7 @@ By default, the system always creates new alerts for each message, but you can s
|
|
|
5496
5506
|
**Trigger or Close Alert Based on Rules**: In this mode, when receiving a new message, the system matches messages according to your rules and triggers new alerts or closes existing alerts based on the matching results.
|
|
5497
5507
|
|
|
5498
5508
|
- You need to fill in at least one **trigger** rule
|
|
5499
|
-
- You must set up regex extraction rules for Alert Key. The system uses this field to find historical alerts for updates or closure. **If regex extraction fails, the system will use the
|
|
5509
|
+
- You must set up regex extraction rules for Alert Key. The system uses this field to find historical alerts for updates or closure. **If regex extraction fails, the system will use the message title to generate an Alert Key** to ensure alerts won't be lost due to configuration errors
|
|
5500
5510
|
- You can choose whether to discard messages when none of the rules match
|
|
5501
5511
|
|
|
5502
5512
|
Configuration example:
|
|
@@ -5507,186 +5517,921 @@ By default, the system always creates new alerts for each message, but you can s
|
|
|
5507
5517
|
|
|
5508
5518
|
### Notes
|
|
5509
5519
|
- Wecom alert integration URL only supports Text and Markdown message types; other message types cannot be received
|
|
5510
|
-
- Flashduty will generate a default alert title: "Wecom robot Alert , If you need to change the title, you can customize it using the [alert pipeline](https://docs.flashcat.cloud/en/
|
|
5520
|
+
- Flashduty will generate a default alert title: "Wecom robot Alert , If you need to change the title, you can customize it using the [alert pipeline](https://docs.flashcat.cloud/en/on-call/integration/alert-integration/alert-pipelines)"
|
|
5511
5521
|
|
|
5512
5522
|
## Severity Mapping
|
|
5513
5523
|
---
|
|
5514
5524
|
|
|
5515
|
-
Currently, all alerts pushed to Flashduty through the Wecom integration are set to Warning severity. However, you can customize the severity using the [alert pipeline](https://docs.flashcat.cloud/en/
|
|
5516
|
-
|
|
5517
|
-
|
|
5525
|
+
Currently, all alerts pushed to Flashduty through the Wecom integration are set to Warning severity. However, you can customize the severity using the [alert pipeline](https://docs.flashcat.cloud/en/on-call/integration/alert-integration/alert-pipelines).
|
|
5526
|
+
|
|
5527
|
+
---
|
|
5528
|
+
title: "Wecom Alert Integration"
|
|
5529
|
+
description: "Generate a unique Wecom robot address in Flashduty, and synchronize the occurrence and recovery of alerts through Wecom"
|
|
5518
5530
|
date: "2025-05-19T10:00:00+08:00"
|
|
5519
|
-
url: "https://docs.flashcat.cloud/en/flashduty/
|
|
5531
|
+
url: "https://docs.flashcat.cloud/en/flashduty/Wecom-alert-integration-guide"
|
|
5520
5532
|
---
|
|
5521
5533
|
|
|
5522
|
-
|
|
5534
|
+
Generate a unique Wecom robot address in Flashduty, and synchronize the occurrence and recovery of alerts through Wecom.
|
|
5523
5535
|
|
|
5524
|
-
|
|
5525
|
-
Flashduty has already adapted webhook protocols for several commonly used ticketing and deployment systems. For these systems, you should first use their corresponding integrations for simplicity. This integration provides a standard HTTP interface that requires development adaptation. The advantage is that you can integrate with any deployment system.
|
|
5526
|
-
:::
|
|
5536
|
+
<div class="hide">
|
|
5527
5537
|
|
|
5528
|
-
## Steps
|
|
5538
|
+
## Operation Steps
|
|
5529
5539
|
---
|
|
5530
5540
|
|
|
5531
|
-
###
|
|
5532
|
-
|
|
5533
|
-
1. Go to the Flashduty console, select **Integration Center=>Change Events** to enter the integration selection page.
|
|
5534
|
-
2. Select **Custom Events** integration:
|
|
5535
|
-
- **Integration Name**: Define a name for the current integration.
|
|
5536
|
-
3. Click **Save** and copy the newly generated **push URL** for later use.
|
|
5537
|
-
4. Done.
|
|
5538
|
-
|
|
5539
|
-
|
|
5540
|
-
## Implementation Protocol
|
|
5541
|
-
---
|
|
5542
|
-
|
|
5543
|
-
Please refer to the [Developer Documentation](https://developer-en.flashcat.cloud/en/flashduty/event-api/change-event) to complete the protocol development.
|
|
5541
|
+
### Create Wecom Alert Integration
|
|
5544
5542
|
|
|
5545
|
-
|
|
5546
|
-
---
|
|
5543
|
+
You can obtain a Wecom alert integration address through either of these two methods:
|
|
5547
5544
|
|
|
5548
|
-
|
|
5549
|
-
1. The scope of changes, like host, cluster, etc.
|
|
5550
|
-
1. Change ownership information, such as team, owner, etc.
|
|
5545
|
+
#### Using Dedicated Integration
|
|
5551
5546
|
|
|
5552
|
-
|
|
5553
|
-
---
|
|
5547
|
+
Choose this method when you don't need to route alert events to different channels. It's simpler and recommended.
|
|
5554
5548
|
|
|
5555
5549
|
<details>
|
|
5556
|
-
<summary>
|
|
5557
|
-
|
|
5558
|
-
#### In Flashduty
|
|
5550
|
+
<summary>Expand</summary>
|
|
5559
5551
|
|
|
5560
|
-
1.
|
|
5552
|
+
1. Go to the Flashduty console, select **Channel**, and enter a specific channel's details page
|
|
5553
|
+
2. Select the **Integration** tab, click **Add Integration** to enter the integration page
|
|
5554
|
+
3. Choose **Wecom Alert** integration and click **Save** to generate a card
|
|
5555
|
+
4. Click the generated card to view the **Wecom Alert Integration URL**, copy it for later use, and you're done
|
|
5556
|
+
|
|
5557
|
+
</details>
|
|
5561
5558
|
|
|
5562
|
-
|
|
5559
|
+
#### Using Shared Integration
|
|
5563
5560
|
|
|
5564
|
-
|
|
5565
|
-
2. Verify that your service can access the internet domain api.flashcat.cloud. If not, you need to enable internet access for your server or specifically allow access to Flashduty's domain.
|
|
5566
|
-
3. Print the response from Flashduty service to check for any specific messages.
|
|
5561
|
+
Choose this method when you need to route alerts to different channels based on the alert event's payload information.
|
|
5567
5562
|
|
|
5568
|
-
|
|
5563
|
+
<details>
|
|
5564
|
+
<summary>Expand</summary>
|
|
5565
|
+
|
|
5566
|
+
1. Go to the Flashduty console, select **Integration Center => Alert Events** to enter the integration selection page
|
|
5567
|
+
2. Select **Wecom Alert** integration:
|
|
5568
|
+
- **Integration Name**: Define a name for the current integration
|
|
5569
|
+
- **Message Type**: Select Wecom alert message type, currently only Text and Markdown are supported
|
|
5570
|
+
- **Push Mode**: Choose when to trigger or recover alerts for Wecom notifications
|
|
5571
|
+
3. Copy the **Wecom Alert Integration URL** for later use
|
|
5572
|
+
4. Configure the default route and select the corresponding channel (after integration creation, you can go to \`Routes\` to configure more routing rules)
|
|
5573
|
+
5. Done
|
|
5569
5574
|
|
|
5570
5575
|
</details>
|
|
5576
|
+
</div>
|
|
5571
5577
|
|
|
5572
|
-
|
|
5573
|
-
title: "Jira Issue Events"
|
|
5574
|
-
description: "Sync Jira Issue events to Flashduty via webhooks to collect change events."
|
|
5575
|
-
date: "2025-05-19T10:00:00+08:00"
|
|
5576
|
-
url: "https://docs.flashcat.cloud/en/flashduty/jira-integration-guide"
|
|
5577
|
-
---
|
|
5578
|
-
|
|
5579
|
-
Synchronize Jira Issue events to Flashduty via webhooks to collect change events.
|
|
5578
|
+
### Customize Wecom Alert Integration
|
|
5580
5579
|
|
|
5581
|
-
|
|
5582
|
-
---
|
|
5580
|
+
#### Wecom Alert Integration URL
|
|
5583
5581
|
|
|
5584
|
-
|
|
5582
|
+
The system will generate a unique Wecom alert integration URL for you. This URL is compatible with Wecom robot message protocol. When platforms only support Wecom robot channels, you can use this URL to receive corresponding messages.
|
|
5585
5583
|
|
|
5586
|
-
|
|
5587
|
-
- (For self-hosted deployments) Your Jira server must be able to access the domain api.flashcat.cloud.
|
|
5584
|
+
#### Push Mode
|
|
5588
5585
|
|
|
5589
|
-
|
|
5590
|
-
---
|
|
5586
|
+
By default, the system always creates new alerts for each message, but you can switch to these modes:
|
|
5591
5587
|
|
|
5592
|
-
|
|
5588
|
+
**Trigger or Close Alert Based on Rules**: In this mode, when receiving a new message, the system matches messages according to your rules and triggers new alerts or closes existing alerts based on the matching results.
|
|
5593
5589
|
|
|
5594
|
-
|
|
5595
|
-
|
|
5590
|
+
- You need to fill in at least one **trigger** rule
|
|
5591
|
+
- You must set up regex extraction rules for Alert Key. The system uses this field to find historical alerts for updates or closure. **If regex extraction fails, the system will use the random to generate an Alert Key** to ensure alerts won't be lost due to configuration errors
|
|
5592
|
+
- You can choose whether to discard messages when none of the rules match
|
|
5596
5593
|
|
|
5597
|
-
|
|
5594
|
+
Configuration example:
|
|
5598
5595
|
|
|
5599
|
-
|
|
5600
|
-
|
|
5601
|
-
- **Integration Name**: Define a name for this integration.
|
|
5602
|
-
3. Click **Save** and copy the newly generated **push URL** for later use.
|
|
5603
|
-
4. Done.
|
|
5596
|
+
- Receive all messages, close the alert when the message content contains **RESOLVED**, otherwise trigger a new alert
|
|
5597
|
+
- Extract Alert Key from messages using the rule **/(.*)/**.
|
|
5604
5598
|
|
|
5605
|
-
### In Jira
|
|
5606
5599
|
|
|
5607
|
-
|
|
5600
|
+
### Notes
|
|
5601
|
+
- Wecom alert integration URL only supports Text and Markdown message types; other message types cannot be received
|
|
5602
|
+
- Flashduty will generate a default alert title: "Wecom robot Alert , If you need to change the title, you can customize it using the [alert pipeline](https://docs.flashcat.cloud/en/on-call/integration/alert-integration/alert-pipelines)"
|
|
5608
5603
|
|
|
5609
|
-
|
|
5610
|
-
|
|
5611
|
-
3. Enter the callback URL as the push URL from your integration, and check Issue Created/Updated/Deleted event types
|
|
5612
|
-
4. Optionally, enter JQL to further narrow down the scope of events to sync (such as specific Projects)
|
|
5613
|
-
5. Click the Save button to submit the configuration
|
|
5604
|
+
## Severity Mapping
|
|
5605
|
+
---
|
|
5614
5606
|
|
|
5615
|
-
|
|
5607
|
+
Currently, all alerts pushed to Flashduty through the Wecom integration are set to Warning severity. However, you can customize the severity using the [alert pipeline](https://docs.flashcat.cloud/en/on-call/integration/alert-integration/alert-pipelines).`,Q=`---
|
|
5608
|
+
title: "Harbor Alert Events"
|
|
5609
|
+
description: "Sync Harbor alert events to Flashduty via webhook for automated alert noise reduction"
|
|
5610
|
+
date: "2024-07-05T10:00:00+08:00"
|
|
5611
|
+
url: "https://docs.flashcat.cloud/en/flashduty/volcengine-tls-integration-guide"
|
|
5612
|
+
---
|
|
5616
5613
|
|
|
5617
|
-
|
|
5614
|
+
Sync Harbor alert events to Flashduty via webhook for automated alert noise reduction.
|
|
5618
5615
|
|
|
5619
|
-
|
|
5616
|
+
<div class="hide">
|
|
5620
5617
|
|
|
5621
|
-
##
|
|
5618
|
+
## In Flashduty
|
|
5622
5619
|
---
|
|
5620
|
+
You can obtain an integration push URL through either of these two methods:
|
|
5623
5621
|
|
|
5624
|
-
|
|
5622
|
+
### Using Private Integration
|
|
5623
|
+
|
|
5624
|
+
Choose this method when you don't need to route alert events to different channels - it's simpler.
|
|
5625
|
+
|
|
5626
|
+
<details>
|
|
5627
|
+
<summary>Expand</summary>
|
|
5625
5628
|
|
|
5626
|
-
|
|
5629
|
+
1. Go to the Flashduty console, select **Channel**, and enter a channel's details page
|
|
5630
|
+
2. Select the **Integrations** tab, click **Add Integration** to enter the integration page
|
|
5631
|
+
3. Choose **Harbor** integration and click **Save** to generate a card
|
|
5632
|
+
4. Click the generated card to view the **Push URL**, copy it for later use, and you're done
|
|
5633
|
+
|
|
5634
|
+
</details>
|
|
5627
5635
|
|
|
5628
|
-
|
|
5629
|
-
| ----------- | ---------- | ------------------- |
|
|
5630
|
-
| planned | planned | Created |
|
|
5631
|
-
| to do | planned | Created |
|
|
5632
|
-
| ready | ready | About to Start |
|
|
5633
|
-
| processing | processing | In Progress |
|
|
5634
|
-
| open | processing | In Progress |
|
|
5635
|
-
| reopen | processing | In Progress |
|
|
5636
|
-
| in progress | processing | In Progress |
|
|
5637
|
-
| canceled | canceled | Canceled/Rolled Back|
|
|
5638
|
-
| aborted | canceled | Canceled/Rolled Back|
|
|
5639
|
-
| done | done | Completed |
|
|
5640
|
-
| resolved | done | Completed |
|
|
5641
|
-
| closed | done | Completed |
|
|
5636
|
+
### Using Shared Integration
|
|
5642
5637
|
|
|
5643
|
-
|
|
5638
|
+
Choose this method when you need to route alerts to different channels based on the alert event payload.
|
|
5644
5639
|
|
|
5640
|
+
<details>
|
|
5641
|
+
<summary>Expand</summary>
|
|
5642
|
+
|
|
5643
|
+
1. Go to the Flashduty console, select **Integration Center=>Alert Events** to enter the integration selection page
|
|
5644
|
+
2. Select **Harbor** integration:
|
|
5645
|
+
- **Integration Name**: Define a name for this integration
|
|
5646
|
+
3. Configure the default route and select the corresponding channel (after the integration is created, you can go to \`Route\` to configure more routing rules)
|
|
5647
|
+
4. Click **Save** and copy the newly generated **push URL** for later use
|
|
5648
|
+
5. Done
|
|
5649
|
+
|
|
5650
|
+
</details>
|
|
5645
5651
|
</div>
|
|
5646
|
-
`,ee=`---
|
|
5647
|
-
title: "Feishu/Lark Integration"
|
|
5648
|
-
description: "By integrating a custom Feishu/Lark application, you can receive and respond to alerts within Feishu/Lark."
|
|
5649
|
-
date: "2025-05-19T10:00:00+08:00"
|
|
5650
|
-
url: "https://docs.flashcat.cloud/en/flashduty/lark-integration-guide?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5"
|
|
5651
|
-
---
|
|
5652
|
-
By integrating a custom Feishu/Lark application, you can receive and respond to alerts within Feishu/Lark.
|
|
5653
5652
|
|
|
5654
|
-
##
|
|
5653
|
+
## In Harbor
|
|
5655
5654
|
---
|
|
5656
5655
|
|
|
5657
|
-
###
|
|
5658
|
-
|
|
5659
|
-
Visit [Feishu/Lark Developer Console](https://open.feishu.cn/app) and create an internal custom application. You can use the [official Flashduty icon](https://download.flashcat.cloud/flashcat_logo_circular.png) for the application icon.
|
|
5660
|
-
|
|
5661
|
-
For details, see the Feishu/Lark development documentation [Create an internal custom application](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#132c1aac).
|
|
5662
|
-
|
|
5663
|
-

|
|
5664
|
-
### 2. Copy credential information
|
|
5656
|
+
### Configure Webhooks
|
|
5665
5657
|
|
|
5666
|
-
|
|
5658
|
+
1. Log in to the Harbor interface with an account that has at least project administrator privileges.
|
|
5659
|
+
2. Go to \`Projects\`, select a project, and select \`Webhooks\`.
|
|
5660
|
+
3. Select notify type \`HTTP\`, so the webhook will be send to a HTTP endpoint.
|
|
5661
|
+
4. Select payload format as \`Default or CloudEvents\` when choose the HTTP notify type.
|
|
5662
|
+
5. Select events that you want to subscribe.
|
|
5663
|
+
6. Enter the alert integration's <span class='integration_url'>PUSH URL</span> in the Endpoint URL field.
|
|
5664
|
+
7. Click Add to create the webhook.
|
|
5667
5665
|
|
|
5666
|
+
## Severity Mapping
|
|
5667
|
+
---
|
|
5668
5668
|
|
|
5669
|
-
|
|
5669
|
+
Currently, all alerts pushed to Flashduty through the Harbor integration are set to Warning severity. However, you can customize the severity using the [alert pipeline](https://docs.flashcat.cloud/en/on-call/integration/alert-integration/alert-pipelines).
|
|
5670
5670
|
|
|
5671
|
-
|
|
5671
|
+
`,X=`---
|
|
5672
|
+
title: "Volcengine RTC Alert Events"
|
|
5673
|
+
description: "Sync Volcengine RTC alert events to Flashduty via webhook for automated alert noise reduction"
|
|
5674
|
+
date: "2024-07-05T10:00:00+08:00"
|
|
5675
|
+
url: "https://docs.flashcat.cloud/en/flashduty/volcengine-rtc-integration-guide"
|
|
5676
|
+
---
|
|
5672
5677
|
|
|
5673
|
-
|
|
5678
|
+
Sync Volcengine RTC alert events to Flashduty via webhook for automated alert noise reduction.
|
|
5674
5679
|
|
|
5675
|
-
|
|
5680
|
+
<div class="hide">
|
|
5676
5681
|
|
|
5677
|
-
##
|
|
5682
|
+
## In Flashduty
|
|
5678
5683
|
---
|
|
5684
|
+
You can obtain an integration push URL through either of these two methods:
|
|
5679
5685
|
|
|
5680
|
-
|
|
5686
|
+
### Using Private Integration
|
|
5681
5687
|
|
|
5682
|
-
|
|
5688
|
+
Choose this method when you don't need to route alert events to different channels - it's simpler.
|
|
5683
5689
|
|
|
5684
|
-
|
|
5690
|
+
<details>
|
|
5691
|
+
<summary>Expand</summary>
|
|
5692
|
+
|
|
5693
|
+
1. Go to the Flashduty console, select **Channel**, and enter a channel's details page
|
|
5694
|
+
2. Select the **Integrations** tab, click **Add Integration** to enter the integration page
|
|
5695
|
+
3. Choose **Volcengine RTC** integration and click **Save** to generate a card
|
|
5696
|
+
4. Click the generated card to view the **Push URL**, copy it for later use, and you're done
|
|
5697
|
+
|
|
5698
|
+
</details>
|
|
5685
5699
|
|
|
5686
|
-
|
|
5687
|
-
---
|
|
5700
|
+
### Using Shared Integration
|
|
5688
5701
|
|
|
5689
|
-
|
|
5702
|
+
Choose this method when you need to route alerts to different channels based on the alert event payload.
|
|
5703
|
+
|
|
5704
|
+
<details>
|
|
5705
|
+
<summary>Expand</summary>
|
|
5706
|
+
|
|
5707
|
+
1. Go to the Flashduty console, select **Integration Center=>Alert Events** to enter the integration selection page
|
|
5708
|
+
2. Select **Volcengine RTC** integration:
|
|
5709
|
+
- **Integration Name**: Define a name for this integration
|
|
5710
|
+
3. Configure the default route and select the corresponding channel (after the integration is created, you can go to \`Route\` to configure more routing rules)
|
|
5711
|
+
4. Click **Save** and copy the newly generated **push URL** for later use
|
|
5712
|
+
5. Done
|
|
5713
|
+
|
|
5714
|
+
</details>
|
|
5715
|
+
</div>
|
|
5716
|
+
|
|
5717
|
+
## In Volcengine
|
|
5718
|
+
---
|
|
5719
|
+
|
|
5720
|
+
### Configure Alert Rules
|
|
5721
|
+
|
|
5722
|
+
1. Login to your \`Volcengine\` console, find \`RTC\`, and enter the corresponding product console.
|
|
5723
|
+
2. In the left menu, select \`Monitor->Alert Notifications\`, and go to the \`Alert Rules\` page.
|
|
5724
|
+
3. Create or edit an alert rule, check \`Alert Callback\` on the rule page and fill in the <span class='integration_url'>push URL</span> for the alert integration.
|
|
5725
|
+
4. Configure other options as needed.
|
|
5726
|
+
5. Click \`Confirm\` to complete the configuration.
|
|
5727
|
+
|
|
5728
|
+

|
|
5729
|
+
|
|
5730
|
+
## Status Mapping
|
|
5731
|
+
|
|
5732
|
+
|Volcengine RTC|Flashduty|Status|
|
|
5733
|
+
|---|---|---|
|
|
5734
|
+
|Critical|Critical|Critical|
|
|
5735
|
+
|Warning|Warning|Warning|
|
|
5736
|
+
|Notice|Info|Info|
|
|
5737
|
+
|
|
5738
|
+
|
|
5739
|
+
You can customize the severity through [Alert Processing Pipeline](https://docs.flashcat.cloud/en/on-call/integration/alert-integration/alert-pipelines).`,ee=`---
|
|
5740
|
+
title: "Ucloud CloudWatch Alert Events"
|
|
5741
|
+
description: "Sync Ucloud CloudWatch alert events to Flashduty via webhook for automated alert noise reduction"
|
|
5742
|
+
date: "2024-07-05T10:00:00+08:00"
|
|
5743
|
+
url: "https://docs.flashcat.cloud/en/flashduty/ucloud-cloudwatch-integration-guide"
|
|
5744
|
+
---
|
|
5745
|
+
|
|
5746
|
+
Sync Ucloud CloudWatch alert events to Flashduty via webhook for automated alert noise reduction.
|
|
5747
|
+
|
|
5748
|
+
<div class="hide">
|
|
5749
|
+
|
|
5750
|
+
## In Flashduty
|
|
5751
|
+
---
|
|
5752
|
+
You can obtain an integration push URL through either of these two methods:
|
|
5753
|
+
|
|
5754
|
+
### Using Private Integration
|
|
5755
|
+
|
|
5756
|
+
Choose this method when you don't need to route alert events to different channels - it's simpler.
|
|
5757
|
+
|
|
5758
|
+
<details>
|
|
5759
|
+
<summary>Expand</summary>
|
|
5760
|
+
|
|
5761
|
+
1. Go to the Flashduty console, select **Channel**, and enter a channel's details page
|
|
5762
|
+
2. Select the **Integrations** tab, click **Add Integration** to enter the integration page
|
|
5763
|
+
3. Choose **Ucloud CloudWatch** integration and click **Save** to generate a card
|
|
5764
|
+
4. Click the generated card to view the **Push URL**, copy it for later use, and you're done
|
|
5765
|
+
|
|
5766
|
+
</details>
|
|
5767
|
+
|
|
5768
|
+
### Using Shared Integration
|
|
5769
|
+
|
|
5770
|
+
Choose this method when you need to route alerts to different channels based on the alert event payload.
|
|
5771
|
+
|
|
5772
|
+
<details>
|
|
5773
|
+
<summary>Expand</summary>
|
|
5774
|
+
|
|
5775
|
+
1. Go to the Flashduty console, select **Integration Center=>Alert Events** to enter the integration selection page
|
|
5776
|
+
2. Select **Ucloud CloudWatch** integration:
|
|
5777
|
+
- **Integration Name**: Define a name for this integration
|
|
5778
|
+
3. Configure the default route and select the corresponding channel (after the integration is created, you can go to \`Route\` to configure more routing rules)
|
|
5779
|
+
4. Click **Save** and copy the newly generated **push URL** for later use
|
|
5780
|
+
5. Done
|
|
5781
|
+
|
|
5782
|
+
</details>
|
|
5783
|
+
</div>
|
|
5784
|
+
|
|
5785
|
+
## In Ucloud
|
|
5786
|
+
---
|
|
5787
|
+
|
|
5788
|
+
### Step 1: Configure Notice Template
|
|
5789
|
+
|
|
5790
|
+
1. Login to your Ucloud console, search for \`CloudWatch\` product, and enter the corresponding product console.
|
|
5791
|
+
2. In the menu, select \`Notice Management\`, and go to the \`Contact Template\` page.
|
|
5792
|
+
3. Create or edit a notification template, check \`Webhook\` on the template page.
|
|
5793
|
+
4. Select \`English\` for **Callback Language**, and enter the <span class='integration_url'>push URL</span> for the alert integration in the input box.
|
|
5794
|
+
5. Enter \`Flashduty\` or another name for the template name.
|
|
5795
|
+
6. Configure other options as needed.
|
|
5796
|
+
7. Click \`Submit\` to complete the configuration.
|
|
5797
|
+
|
|
5798
|
+

|
|
5799
|
+
|
|
5800
|
+
### Step 2: Configure Alert Policy
|
|
5801
|
+
1. Login to your Ucloud console, search for \`CloudWatch\` product, and enter the corresponding product console.
|
|
5802
|
+
2. In the menu, select \`Alarm Management\`, and go to the \`Alarm Policy\` page.
|
|
5803
|
+
3. Create or edit an alert policy, find the **Notification Settings** on the policy configuration page, and select the notification template created in **Step 1**.
|
|
5804
|
+
4. Configure other options as needed.
|
|
5805
|
+
5. Click \`Submit\` to complete the configuration.
|
|
5806
|
+
|
|
5807
|
+
|
|
5808
|
+
## Severity Mapping
|
|
5809
|
+
---
|
|
5810
|
+
Currently, all Ucloud CloudWatch alert events pushed to Flashduty have a severity of Warning. You can customize the severity through [Alert Processing Pipeline](https://docs.flashcat.cloud/en/on-call/integration/alert-integration/alert-pipelines).`,ne=`---
|
|
5811
|
+
title: "Nagios Integration"
|
|
5812
|
+
description: "Synchronize Nagios alert events to Flashduty via script to achieve automated alert noise reduction"
|
|
5813
|
+
date: "2025-05-19T10:00:00+08:00"
|
|
5814
|
+
url: "https://docs.flashcat.cloud/en/flashduty/nagios-integration-guide"
|
|
5815
|
+
---
|
|
5816
|
+
|
|
5817
|
+
Sync Nagios alert events to Flashduty via script to achieve automated alert noise reduction.
|
|
5818
|
+
|
|
5819
|
+
<div class="hide">
|
|
5820
|
+
|
|
5821
|
+
## In Flashduty
|
|
5822
|
+
---
|
|
5823
|
+
You can obtain an integration push URL through either of these two methods:
|
|
5824
|
+
|
|
5825
|
+
### Using Private Integration
|
|
5826
|
+
|
|
5827
|
+
Choose this method when you don't need to route alert events to different channels - it's simpler.
|
|
5828
|
+
|
|
5829
|
+
<details>
|
|
5830
|
+
<summary>Expand</summary>
|
|
5831
|
+
|
|
5832
|
+
1. Go to the Flashduty console, select **Channel**, and enter a channel's details page
|
|
5833
|
+
2. Select the **Integrations** tab, click **Add Integration** to enter the integration page
|
|
5834
|
+
3. Choose **Nagios** integration and click **Save** to generate a card
|
|
5835
|
+
4. Click the generated card to view the **Push URL**, copy it for later use, and you're done
|
|
5836
|
+
|
|
5837
|
+
</details>
|
|
5838
|
+
|
|
5839
|
+
### Using Shared Integration
|
|
5840
|
+
|
|
5841
|
+
Choose this method when you need to route alerts to different channels based on the alert event payload.
|
|
5842
|
+
|
|
5843
|
+
<details>
|
|
5844
|
+
<summary>Expand</summary>
|
|
5845
|
+
|
|
5846
|
+
1. Go to the Flashduty console, select **Integration Center=>Alert Events** to enter the integration selection page
|
|
5847
|
+
2. Select **Nagios** integration:
|
|
5848
|
+
- **Integration Name**: Define a name for this integration
|
|
5849
|
+
3. Configure the default route and select the corresponding channel (after the integration is created, you can go to \`Route\` to configure more routing rules)
|
|
5850
|
+
4. Click **Save** and copy the newly generated **push URL** for later use
|
|
5851
|
+
5. Done
|
|
5852
|
+
|
|
5853
|
+
</details>
|
|
5854
|
+
</div>
|
|
5855
|
+
|
|
5856
|
+
|
|
5857
|
+
## In Nagios
|
|
5858
|
+
|
|
5859
|
+
---
|
|
5860
|
+
|
|
5861
|
+
Nagios installation paths may vary depending on the system and installation method. Please adjust the paths in the following configuration according to your actual environment.
|
|
5862
|
+
|
|
5863
|
+
### Step 1: Download Notification Script
|
|
5864
|
+
|
|
5865
|
+
<div class="md-block">
|
|
5866
|
+
|
|
5867
|
+
Log in to the Nagios Server host and download the notification script to the Nagios plugin directory:
|
|
5868
|
+
|
|
5869
|
+
- **Debian/Ubuntu systems** (typically \`/usr/lib/nagios/plugins/\`):
|
|
5870
|
+
|
|
5871
|
+
\`\`\`bash
|
|
5872
|
+
cd /usr/lib/nagios/plugins/
|
|
5873
|
+
wget --header="Referer: https://console.flashcat.cloud" https://download.flashcat.cloud/flashduty/integration/nagios/send_to_flashduty.sh
|
|
5874
|
+
chmod +x send_to_flashduty.sh
|
|
5875
|
+
\`\`\`
|
|
5876
|
+
|
|
5877
|
+
- **RHEL/CentOS systems** (typically \`/usr/lib64/nagios/plugins/\`):
|
|
5878
|
+
|
|
5879
|
+
\`\`\`bash
|
|
5880
|
+
cd /usr/lib64/nagios/plugins/
|
|
5881
|
+
wget --header="Referer: https://console.flashcat.cloud" https://download.flashcat.cloud/flashduty/integration/nagios/send_to_flashduty.sh
|
|
5882
|
+
chmod +x send_to_flashduty.sh
|
|
5883
|
+
\`\`\`
|
|
5884
|
+
|
|
5885
|
+
- **Source installation** (typically \`/usr/local/nagios/libexec/\`):
|
|
5886
|
+
|
|
5887
|
+
\`\`\`bash
|
|
5888
|
+
cd /usr/local/nagios/libexec/
|
|
5889
|
+
wget --header="Referer: https://console.flashcat.cloud" https://download.flashcat.cloud/flashduty/integration/nagios/send_to_flashduty.sh
|
|
5890
|
+
chmod +x send_to_flashduty.sh
|
|
5891
|
+
\`\`\`
|
|
5892
|
+
|
|
5893
|
+
#### Note: The script uses the \`curl\` command. Please ensure curl is installed on your Nagios Server.
|
|
5894
|
+
|
|
5895
|
+
</div>
|
|
5896
|
+
|
|
5897
|
+
### Step 2: Create Flashduty Configuration File
|
|
5898
|
+
|
|
5899
|
+
<div class="md-block">
|
|
5900
|
+
|
|
5901
|
+
Download the Flashduty configuration file to the Nagios configuration directory:
|
|
5902
|
+
|
|
5903
|
+
- **Debian/Ubuntu systems** (typically \`/etc/nagios3/conf.d/\`):
|
|
5904
|
+
|
|
5905
|
+
\`\`\`bash
|
|
5906
|
+
cd /etc/nagios3/conf.d/
|
|
5907
|
+
wget --header="Referer: https://console.flashcat.cloud" https://download.flashcat.cloud/flashduty/integration/nagios/flashduty.cfg
|
|
5908
|
+
\`\`\`
|
|
5909
|
+
|
|
5910
|
+
- **RHEL/CentOS systems** (typically \`/etc/nagios/objects/\`):
|
|
5911
|
+
|
|
5912
|
+
\`\`\`bash
|
|
5913
|
+
cd /etc/nagios/objects/
|
|
5914
|
+
wget --header="Referer: https://console.flashcat.cloud" https://download.flashcat.cloud/flashduty/integration/nagios/flashduty.cfg
|
|
5915
|
+
\`\`\`
|
|
5916
|
+
|
|
5917
|
+
- **Source installation** (typically \`/usr/local/nagios/etc/objects/\`):
|
|
5918
|
+
|
|
5919
|
+
\`\`\`bash
|
|
5920
|
+
cd /usr/local/nagios/etc/objects/
|
|
5921
|
+
wget --header="Referer: https://console.flashcat.cloud" https://download.flashcat.cloud/flashduty/integration/nagios/flashduty.cfg
|
|
5922
|
+
\`\`\`
|
|
5923
|
+
|
|
5924
|
+
</div>
|
|
5925
|
+
|
|
5926
|
+
### Step 3: Modify Configuration File
|
|
5927
|
+
|
|
5928
|
+
<div class="md-block">
|
|
5929
|
+
|
|
5930
|
+
Edit the downloaded \`flashduty.cfg\` file and modify the following:
|
|
5931
|
+
|
|
5932
|
+
1. Replace the \`pager\` field value with the integration push URL obtained from the Flashduty console
|
|
5933
|
+
2. Modify the script path in \`command_line\` according to your Nagios installation path
|
|
5934
|
+
|
|
5935
|
+
Configuration file example:
|
|
5936
|
+
|
|
5937
|
+
\`\`\`
|
|
5938
|
+
define contact {
|
|
5939
|
+
contact_name Flashduty
|
|
5940
|
+
alias Flashduty Alert Receiver
|
|
5941
|
+
service_notification_commands notify-service-by-Flashduty
|
|
5942
|
+
host_notification_commands notify-host-by-Flashduty
|
|
5943
|
+
service_notification_options w,u,c,r
|
|
5944
|
+
host_notification_options d,u,r
|
|
5945
|
+
service_notification_period 24x7
|
|
5946
|
+
host_notification_period 24x7
|
|
5947
|
+
pager <YOUR_FLASHDUTY_PUSH_URL>
|
|
5948
|
+
}
|
|
5949
|
+
|
|
5950
|
+
|
|
5951
|
+
define command {
|
|
5952
|
+
command_name notify-host-by-Flashduty
|
|
5953
|
+
command_line <NAGIOS_PLUGIN_PATH>/send_to_flashduty.sh type=HOST WEBHOOK_URL="$CONTACTPAGER$" hostname="$HOSTNAME$" state="$HOSTSTATE$" output="$HOSTOUTPUT$" notification_type="$NOTIFICATIONTYPE$" time="$LONGDATETIME$" host_address="$HOSTADDRESS$" host_alias="$HOSTALIAS$" check_command="$HOSTCHECKCOMMAND$"
|
|
5954
|
+
}
|
|
5955
|
+
|
|
5956
|
+
define command {
|
|
5957
|
+
command_name notify-service-by-Flashduty
|
|
5958
|
+
command_line <NAGIOS_PLUGIN_PATH>/send_to_flashduty.sh type=SERVICE WEBHOOK_URL="$CONTACTPAGER$" hostname="$HOSTNAME$" state="$SERVICESTATE$" output="$SERVICEOUTPUT$" notification_type="$NOTIFICATIONTYPE$" time="$LONGDATETIME$" host_address="$HOSTADDRESS$" service_desc="$SERVICEDESC$" host_alias="$HOSTALIAS$" max_attempts="$MAXSERVICEATTEMPTS$"
|
|
5959
|
+
}
|
|
5960
|
+
\`\`\`
|
|
5961
|
+
|
|
5962
|
+
Parameter descriptions:
|
|
5963
|
+
- \`pager\`: Flashduty push URL, the integration push URL obtained from the Flashduty console
|
|
5964
|
+
- \`<NAGIOS_PLUGIN_PATH>\`: Replace with the actual script path, such as \`/usr/local/nagios/libexec\`
|
|
5965
|
+
- \`service_notification_options\`: Service alert notification options, w=warning, u=unknown, c=critical, r=recovery
|
|
5966
|
+
- \`host_notification_options\`: Host alert notification options, d=down, u=unreachable, r=recovery
|
|
5967
|
+
|
|
5968
|
+
**To include additional information in alerts, you can append parameters in \`key=value\` format at the end of \`command_line\`, for example: \`environment="production" region="$_HOSTREGION$"\`. These parameters will be pushed to Flashduty as labels.**
|
|
5969
|
+
|
|
5970
|
+
</div>
|
|
5971
|
+
|
|
5972
|
+
### Step 4: Include Configuration File
|
|
5973
|
+
|
|
5974
|
+
<div class="md-block">
|
|
5975
|
+
|
|
5976
|
+
If you are using **RHEL/CentOS systems** or **source installation**, you need to include the Flashduty configuration file in the Nagios main configuration file.
|
|
5977
|
+
|
|
5978
|
+
- **RHEL/CentOS systems**: Edit \`/etc/nagios/nagios.cfg\` and add:
|
|
5979
|
+
|
|
5980
|
+
\`\`\`
|
|
5981
|
+
cfg_file=/etc/nagios/objects/flashduty.cfg
|
|
5982
|
+
\`\`\`
|
|
5983
|
+
|
|
5984
|
+
- **Source installation**: Edit \`/usr/local/nagios/etc/nagios.cfg\` and add:
|
|
5985
|
+
|
|
5986
|
+
\`\`\`
|
|
5987
|
+
cfg_file=/usr/local/nagios/etc/objects/flashduty.cfg
|
|
5988
|
+
\`\`\`
|
|
5989
|
+
|
|
5990
|
+
:::tips
|
|
5991
|
+
Debian/Ubuntu systems typically auto-load all configuration files in the \`/etc/nagios3/conf.d/\` directory, so manual inclusion is not required.
|
|
5992
|
+
:::
|
|
5993
|
+
|
|
5994
|
+
</div>
|
|
5995
|
+
|
|
5996
|
+
### Step 5: Add Flashduty to Contact Group
|
|
5997
|
+
|
|
5998
|
+
<div class="md-block">
|
|
5999
|
+
|
|
6000
|
+
Edit the contacts configuration file to add the Flashduty contact to the \`admins\` contact group (or another contact group you use):
|
|
6001
|
+
|
|
6002
|
+
- **Debian/Ubuntu systems**: Edit \`/etc/nagios3/conf.d/contacts_nagios2.cfg\`
|
|
6003
|
+
- **RHEL/CentOS systems**: Edit \`/etc/nagios/objects/contacts.cfg\`
|
|
6004
|
+
- **Source installation**: Edit \`/usr/local/nagios/etc/objects/contacts.cfg\`
|
|
6005
|
+
|
|
6006
|
+
Find the contact group definition and add Flashduty to the members list:
|
|
6007
|
+
|
|
6008
|
+
\`\`\`
|
|
6009
|
+
define contactgroup {
|
|
6010
|
+
contactgroup_name admins
|
|
6011
|
+
alias Nagios Administrators
|
|
6012
|
+
members nagiosadmin,Flashduty
|
|
6013
|
+
}
|
|
6014
|
+
\`\`\`
|
|
6015
|
+
|
|
6016
|
+
</div>
|
|
6017
|
+
|
|
6018
|
+
### Step 6: Verify Configuration and Restart Service
|
|
6019
|
+
|
|
6020
|
+
<div class="md-block">
|
|
6021
|
+
|
|
6022
|
+
1. Verify the Nagios configuration file:
|
|
6023
|
+
|
|
6024
|
+
- **Debian/Ubuntu systems**:
|
|
6025
|
+
|
|
6026
|
+
\`\`\`bash
|
|
6027
|
+
/usr/sbin/nagios3 -v /etc/nagios3/nagios.cfg
|
|
6028
|
+
\`\`\`
|
|
6029
|
+
|
|
6030
|
+
- **RHEL/CentOS systems**:
|
|
6031
|
+
|
|
6032
|
+
\`\`\`bash
|
|
6033
|
+
/usr/sbin/nagios -v /etc/nagios/nagios.cfg
|
|
6034
|
+
\`\`\`
|
|
6035
|
+
|
|
6036
|
+
- **Source installation**:
|
|
6037
|
+
|
|
6038
|
+
\`\`\`bash
|
|
6039
|
+
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
|
|
6040
|
+
\`\`\`
|
|
6041
|
+
|
|
6042
|
+
2. If verification passes, restart the Nagios service:
|
|
6043
|
+
|
|
6044
|
+
\`\`\`bash
|
|
6045
|
+
# Debian/Ubuntu
|
|
6046
|
+
systemctl restart nagios3
|
|
6047
|
+
# or
|
|
6048
|
+
service nagios3 restart
|
|
6049
|
+
|
|
6050
|
+
# RHEL/CentOS/Source installation
|
|
6051
|
+
systemctl restart nagios
|
|
6052
|
+
# or
|
|
6053
|
+
service nagios restart
|
|
6054
|
+
\`\`\`
|
|
6055
|
+
|
|
6056
|
+
3. After configuration is complete, Nagios will automatically push alerts to Flashduty when detected
|
|
6057
|
+
|
|
6058
|
+
</div>
|
|
6059
|
+
|
|
6060
|
+
## Status Mapping
|
|
6061
|
+
|
|
6062
|
+
---
|
|
6063
|
+
|
|
6064
|
+
<div class="md-block">
|
|
6065
|
+
|
|
6066
|
+
Nagios to Flashduty alert severity mapping:
|
|
6067
|
+
|
|
6068
|
+
| Nagios | Flashduty | Status |
|
|
6069
|
+
| --------------- | --------- | -------- |
|
|
6070
|
+
| CRITICAL | Critical | Critical |
|
|
6071
|
+
| DOWN | Critical | Critical |
|
|
6072
|
+
| UNREACHABLE | Critical | Critical |
|
|
6073
|
+
| WARNING | Warning | Warning |
|
|
6074
|
+
| OK | Ok | Recovered |
|
|
6075
|
+
| UP | Ok | Recovered |
|
|
6076
|
+
| UNKNOWN | Info | Info |
|
|
6077
|
+
|
|
6078
|
+
</div>
|
|
6079
|
+
`,te=`---
|
|
6080
|
+
title: "JD Cloud Monitoring Alert Events"
|
|
6081
|
+
description: "Sync JD Cloud monitoring alert events to Flashduty via webhook for automated alert noise reduction"
|
|
6082
|
+
date: "2025-05-19T10:00:00+08:00"
|
|
6083
|
+
url: "https://docs.flashcat.cloud/en/flashduty/jdcloud-integration-guide"
|
|
6084
|
+
---
|
|
6085
|
+
|
|
6086
|
+
Sync JD Cloud monitoring alert events to Flashduty via webhook for automated alert noise reduction.
|
|
6087
|
+
|
|
6088
|
+
<div class="hide">
|
|
6089
|
+
|
|
6090
|
+
## In Flashduty
|
|
6091
|
+
---
|
|
6092
|
+
You can obtain an integration push URL through either of these two methods:
|
|
6093
|
+
|
|
6094
|
+
### Using Private Integration
|
|
6095
|
+
|
|
6096
|
+
Choose this method when you don't need to route alert events to different channels - it's simpler.
|
|
6097
|
+
|
|
6098
|
+
<details>
|
|
6099
|
+
<summary>Expand</summary>
|
|
6100
|
+
|
|
6101
|
+
1. Go to the Flashduty console, select **Channel**, and enter a channel's details page
|
|
6102
|
+
2. Select the **Integrations** tab, click **Add Integration** to enter the integration page
|
|
6103
|
+
3. Choose **JD Cloud Monitoring** integration and click **Save** to generate a card
|
|
6104
|
+
4. Click the generated card to view the **Push URL**, copy it for later use, and you're done
|
|
6105
|
+
|
|
6106
|
+
</details>
|
|
6107
|
+
|
|
6108
|
+
### Using Shared Integration
|
|
6109
|
+
|
|
6110
|
+
Choose this method when you need to route alerts to different channels based on the alert event payload.
|
|
6111
|
+
|
|
6112
|
+
<details>
|
|
6113
|
+
<summary>Expand</summary>
|
|
6114
|
+
|
|
6115
|
+
1. Go to the Flashduty console, select **Integration Center=>Alert Events** to enter the integration selection page
|
|
6116
|
+
2. Select **JD Cloud Monitoring** integration:
|
|
6117
|
+
- **Integration Name**: Define a name for this integration
|
|
6118
|
+
3. Configure the default route and select the corresponding channel (after the integration is created, you can go to \`Route\` to configure more routing rules)
|
|
6119
|
+
4. Click **Save** and copy the newly generated **push URL** for later use
|
|
6120
|
+
5. Done
|
|
6121
|
+
|
|
6122
|
+
</details>
|
|
6123
|
+
|
|
6124
|
+
</div>
|
|
6125
|
+
|
|
6126
|
+
## In JD Cloud
|
|
6127
|
+
---
|
|
6128
|
+
|
|
6129
|
+
### Step 1: Create Notification Template
|
|
6130
|
+
1. Login to your JD Cloud console, search for \`Monitoring\` product, and enter the corresponding product console.
|
|
6131
|
+
2. In the left menu, select \`Alarm Management->Notice Templates\`, and create or edit a notification template.
|
|
6132
|
+
3. Check \`Alert Callback\` on the template page, and enter the <span class='integration_url'>push URL</span> for the alert integration in the \`URL\` field.
|
|
6133
|
+
4. Enter the following template content in the \`POST\` input box.
|
|
6134
|
+
\`\`\`
|
|
6135
|
+
{
|
|
6136
|
+
"resource_id": "\${resourceId}",
|
|
6137
|
+
"request_id": "\${requestId}",
|
|
6138
|
+
"metric": "\${metric}",
|
|
6139
|
+
"current_value": "\${currentValue}",
|
|
6140
|
+
"times": "\${times}",
|
|
6141
|
+
"tags": "\${tags}",
|
|
6142
|
+
"alert_time": "\${alertTime}",
|
|
6143
|
+
"region": "\${region}",
|
|
6144
|
+
"threshold": "\${threshold}",
|
|
6145
|
+
"service_code": "\${serviceCode}",
|
|
6146
|
+
"as_group_id": "\${asGroupId}",
|
|
6147
|
+
"unhealthy_instance": "\${unhealthyInstance}",
|
|
6148
|
+
"rule_policy_id": "\${rulePolicyId}",
|
|
6149
|
+
"service_code_en": "\${serviceCodeEN}",
|
|
6150
|
+
"service_code_cn": "\${serviceCodeCN}",
|
|
6151
|
+
"level": "\${level}",
|
|
6152
|
+
"resource_name": "\${resourceName}",
|
|
6153
|
+
"ip_address": "\${ipAddress}",
|
|
6154
|
+
"status": "\${status}"
|
|
6155
|
+
}
|
|
6156
|
+
|
|
6157
|
+
\`\`\`
|
|
6158
|
+
5. Configure other options as needed.
|
|
6159
|
+
6. Click \`Save\` to complete the configuration.
|
|
6160
|
+
|
|
6161
|
+
### Step 2: Configure Alert Rules
|
|
6162
|
+
1. Login to your JD Cloud console, search for \`Monitoring\` product, and enter the corresponding product console.
|
|
6163
|
+
2. In the left menu, select \`Alarm Management->Alarm Rules\`, and create or edit an alert rule.
|
|
6164
|
+
3. In the **Notification Policy** section of the rule configuration page, select \`Use Template\` and choose the template created in **Step 1**.
|
|
6165
|
+
4. Configure other options as needed.
|
|
6166
|
+
5. Click \`Save\` to complete the configuration.
|
|
6167
|
+
|
|
6168
|
+
## Severity Mapping
|
|
6169
|
+
---
|
|
6170
|
+
<div class="md-block">
|
|
6171
|
+
|
|
6172
|
+
JD Cloud Monitoring to Flashduty severity mapping:
|
|
6173
|
+
|
|
6174
|
+
| JD Cloud Monitoring | Flashduty | Status |
|
|
6175
|
+
| ------------------- | --------- | -------- |
|
|
6176
|
+
| Critical | Critical | Critical |
|
|
6177
|
+
| Major | Warning | Warning |
|
|
6178
|
+
| General | Info | Info |
|
|
6179
|
+
|
|
6180
|
+
</div>
|
|
6181
|
+
`,ae=`---
|
|
6182
|
+
title: "Alibaba Cloud Monitor Prometheus"
|
|
6183
|
+
description: "Sync Alibaba Cloud Monitor Prometheus alert events to Flashduty via webhook for automated alert noise reduction"
|
|
6184
|
+
date: "2025-05-19T10:00:00+08:00"
|
|
6185
|
+
url: "https://docs.flashcat.cloud/en/flashduty/aliyun-prometheus-integration-guide"
|
|
6186
|
+
---
|
|
6187
|
+
|
|
6188
|
+
Sync Alibaba Cloud Monitor Prometheus alert events to Flashduty via webhook for automated alert noise reduction.
|
|
6189
|
+
|
|
6190
|
+
<div class="hide">
|
|
6191
|
+
|
|
6192
|
+
## In Flashduty
|
|
6193
|
+
---
|
|
6194
|
+
You can obtain an integration push URL through either of these two methods:
|
|
6195
|
+
|
|
6196
|
+
### Using Private Integration
|
|
6197
|
+
|
|
6198
|
+
Choose this method when you don't need to route alert events to different channels - it's simpler.
|
|
6199
|
+
|
|
6200
|
+
<details>
|
|
6201
|
+
<summary>Expand</summary>
|
|
6202
|
+
|
|
6203
|
+
1. Go to the Flashduty console, select **Channel**, and enter a channel's details page
|
|
6204
|
+
2. Select the **Integrations** tab, click **Add Integration** to enter the integration page
|
|
6205
|
+
3. Choose **Alibaba Cloud Monitor Prometheus** integration and click **Save** to generate a card
|
|
6206
|
+
4. Click the generated card to view the **Push URL**, copy it for later use, and you're done
|
|
6207
|
+
|
|
6208
|
+
</details>
|
|
6209
|
+
|
|
6210
|
+
### Using Shared Integration
|
|
6211
|
+
|
|
6212
|
+
Choose this method when you need to route alerts to different channels based on the alert event payload.
|
|
6213
|
+
|
|
6214
|
+
<details>
|
|
6215
|
+
<summary>Expand</summary>
|
|
6216
|
+
|
|
6217
|
+
1. Go to the Flashduty console, select **Integration Center=>Alert Events** to enter the integration selection page
|
|
6218
|
+
2. Select **Alibaba Cloud Monitor Prometheus** integration:
|
|
6219
|
+
- **Integration Name**: Define a name for this integration
|
|
6220
|
+
3. Configure the default route and select the corresponding channel (after the integration is created, you can go to \`Route\` to configure more routing rules)
|
|
6221
|
+
4. Click **Save** and copy the newly generated **push URL** for later use
|
|
6222
|
+
5. Done
|
|
6223
|
+
|
|
6224
|
+
</details>
|
|
6225
|
+
|
|
6226
|
+
</div>
|
|
6227
|
+
|
|
6228
|
+
## In Alibaba Cloud
|
|
6229
|
+
---
|
|
6230
|
+
|
|
6231
|
+
### Step 1: Create a Custom Webhook
|
|
6232
|
+
1. Login to your Alibaba Cloud console, search for \`Cloud Monitor\` product, and enter the corresponding product console.
|
|
6233
|
+
2. In the left menu, select \`Prometheus Monitoring->Notification Objects\`, and create or edit a \`Custom Webhook\`.
|
|
6234
|
+
3. On the edit page, enter \`Flashduty\` for both the name and identifier, and enter the <span class='integration_url'>push URL</span> for the alert integration in the \`URL\` field.
|
|
6235
|
+
4. In the \`Headers\` section, set **Header Key** to **Content-Type** and **Header Value** to **application/json**.
|
|
6236
|
+
5. Select **POST** for \`Method\` and **JSON** for \`Data Format\`.
|
|
6237
|
+
6. Click \`OK\` to complete the configuration.
|
|
6238
|
+
|
|
6239
|
+
### Step 2: Configure Alert Rules
|
|
6240
|
+
1. Login to your Alibaba Cloud console, search for \`Cloud Monitor\` product, and enter the corresponding product console.
|
|
6241
|
+
2. In the left menu, select \`Prometheus Monitoring->Alert Rules\`, and create or edit an alert rule.
|
|
6242
|
+
3. In the **Notification Mode** section of the rule configuration page, select \`Simple Mode\`.
|
|
6243
|
+
4. For \`Notification Object\`, select the custom webhook created in **Step 1**.
|
|
6244
|
+
5. Click \`OK\` to complete the configuration.
|
|
6245
|
+
|
|
6246
|
+
## Severity Mapping
|
|
6247
|
+
---
|
|
6248
|
+
<div class="md-block">
|
|
6249
|
+
|
|
6250
|
+
Alibaba Cloud Prometheus to Flashduty severity mapping:
|
|
6251
|
+
|
|
6252
|
+
| Alibaba Cloud Monitor | Flashduty | Status |
|
|
6253
|
+
| --------------------- | --------- | -------- |
|
|
6254
|
+
| Critical | Critical | Critical |
|
|
6255
|
+
| Error | Critical | Critical |
|
|
6256
|
+
| Warning | Warning | Warning |
|
|
6257
|
+
| Normal | Info | Info |
|
|
6258
|
+
|
|
6259
|
+
</div>
|
|
6260
|
+
`,oe=`---
|
|
6261
|
+
title: "Custom Change Event Integration Guide"
|
|
6262
|
+
description: "Push change events from your own systems to Flashduty using standard protocols. Most incidents are caused by changes, and the correlation between changes and alerts helps quickly identify incident causes."
|
|
6263
|
+
date: "2025-05-19T10:00:00+08:00"
|
|
6264
|
+
url: "https://docs.flashcat.cloud/en/flashduty/custom-change-integration-guide"
|
|
6265
|
+
---
|
|
6266
|
+
|
|
6267
|
+
Push change events from your own systems to Flashduty using standard protocols. Most incidents are caused by changes, and the correlation between changes and alerts helps quickly identify incident causes.
|
|
6268
|
+
|
|
6269
|
+
:::tips
|
|
6270
|
+
Flashduty has already adapted webhook protocols for several commonly used ticketing and deployment systems. For these systems, you should first use their corresponding integrations for simplicity. This integration provides a standard HTTP interface that requires development adaptation. The advantage is that you can integrate with any deployment system.
|
|
6271
|
+
:::
|
|
6272
|
+
|
|
6273
|
+
## Steps
|
|
6274
|
+
---
|
|
6275
|
+
|
|
6276
|
+
### In Flashduty
|
|
6277
|
+
|
|
6278
|
+
1. Go to the Flashduty console, select **Integration Center=>Change Events** to enter the integration selection page.
|
|
6279
|
+
2. Select **Custom Events** integration:
|
|
6280
|
+
- **Integration Name**: Define a name for the current integration.
|
|
6281
|
+
3. Click **Save** and copy the newly generated **push URL** for later use.
|
|
6282
|
+
4. Done.
|
|
6283
|
+
|
|
6284
|
+
|
|
6285
|
+
## Implementation Protocol
|
|
6286
|
+
---
|
|
6287
|
+
|
|
6288
|
+
Please refer to the [Developer Documentation](https://developer-en.flashcat.cloud/en/flashduty/event-api/change-event) to complete the protocol development.
|
|
6289
|
+
|
|
6290
|
+
## Best Practices
|
|
6291
|
+
---
|
|
6292
|
+
|
|
6293
|
+
Labels are descriptions of events. You should enrich label content as much as possible, such as:
|
|
6294
|
+
1. The scope of changes, like host, cluster, etc.
|
|
6295
|
+
1. Change ownership information, such as team, owner, etc.
|
|
6296
|
+
|
|
6297
|
+
## FAQ
|
|
6298
|
+
---
|
|
6299
|
+
|
|
6300
|
+
<details>
|
|
6301
|
+
<summary>Why haven't I received changes in Flashduty?</summary>
|
|
6302
|
+
|
|
6303
|
+
#### In Flashduty
|
|
6304
|
+
|
|
6305
|
+
1. Check if the integration shows **Latest Event Time**? If not, it means Flashduty hasn't received any pushes, prioritize checking your system first.
|
|
6306
|
+
|
|
6307
|
+
#### In Your System
|
|
6308
|
+
|
|
6309
|
+
1. Confirm that your request URL exactly matches the URL in the integration details.
|
|
6310
|
+
2. Verify that your service can access the internet domain api.flashcat.cloud. If not, you need to enable internet access for your server or specifically allow access to Flashduty's domain.
|
|
6311
|
+
3. Print the response from Flashduty service to check for any specific messages.
|
|
6312
|
+
|
|
6313
|
+
If you still can't identify the root cause after following these steps, please contact us with the **request_id** from the request response.
|
|
6314
|
+
|
|
6315
|
+
</details>
|
|
6316
|
+
|
|
6317
|
+
`,ie=`---
|
|
6318
|
+
title: "Jira Issue Events"
|
|
6319
|
+
description: "Sync Jira Issue events to Flashduty via webhooks to collect change events."
|
|
6320
|
+
date: "2025-05-19T10:00:00+08:00"
|
|
6321
|
+
url: "https://docs.flashcat.cloud/en/flashduty/jira-integration-guide"
|
|
6322
|
+
---
|
|
6323
|
+
|
|
6324
|
+
Synchronize Jira Issue events to Flashduty via webhooks to collect change events.
|
|
6325
|
+
|
|
6326
|
+
## Limitations
|
|
6327
|
+
---
|
|
6328
|
+
|
|
6329
|
+
### In Jira
|
|
6330
|
+
|
|
6331
|
+
- You must have permission to modify **Settings=>System=>Webhooks**.
|
|
6332
|
+
- (For self-hosted deployments) Your Jira server must be able to access the domain api.flashcat.cloud.
|
|
6333
|
+
|
|
6334
|
+
## Supported Versions
|
|
6335
|
+
---
|
|
6336
|
+
|
|
6337
|
+
This guide is compatible with both **Jira Cloud and Self-hosted** versions.
|
|
6338
|
+
|
|
6339
|
+
## Setup Steps
|
|
6340
|
+
---
|
|
6341
|
+
|
|
6342
|
+
### In Flashduty
|
|
6343
|
+
|
|
6344
|
+
1. Go to the Flashduty console, select **Integration Center=>Change Events** to enter the integration selection page.
|
|
6345
|
+
2. Select **Jira** integration:
|
|
6346
|
+
- **Integration Name**: Define a name for this integration.
|
|
6347
|
+
3. Click **Save** and copy the newly generated **push URL** for later use.
|
|
6348
|
+
4. Done.
|
|
6349
|
+
|
|
6350
|
+
### In Jira
|
|
6351
|
+
|
|
6352
|
+
<div class="md-block">
|
|
6353
|
+
|
|
6354
|
+
1. Log in to your Jira
|
|
6355
|
+
2. Go to **Settings=>System=>Webhooks** page, click the Create button
|
|
6356
|
+
3. Enter the callback URL as the push URL from your integration, and check Issue Created/Updated/Deleted event types
|
|
6357
|
+
4. Optionally, enter JQL to further narrow down the scope of events to sync (such as specific Projects)
|
|
6358
|
+
5. Click the Save button to submit the configuration
|
|
6359
|
+
|
|
6360
|
+
<img alt="drawing" src="http://download.flashcat.cloud/jira-webhook.png" />
|
|
6361
|
+
|
|
6362
|
+
5. Done
|
|
6363
|
+
|
|
6364
|
+
</div>
|
|
6365
|
+
|
|
6366
|
+
## Status Mapping
|
|
6367
|
+
---
|
|
6368
|
+
|
|
6369
|
+
<div class="md-block">
|
|
6370
|
+
|
|
6371
|
+
Flashduty extracts the status.name information from the webhook payload by default and converts the status according to the following mapping:
|
|
6372
|
+
|
|
6373
|
+
| Jira | Flashduty | Status |
|
|
6374
|
+
| ----------- | ---------- | ------------------- |
|
|
6375
|
+
| planned | planned | Created |
|
|
6376
|
+
| to do | planned | Created |
|
|
6377
|
+
| ready | ready | About to Start |
|
|
6378
|
+
| processing | processing | In Progress |
|
|
6379
|
+
| open | processing | In Progress |
|
|
6380
|
+
| reopen | processing | In Progress |
|
|
6381
|
+
| in progress | processing | In Progress |
|
|
6382
|
+
| canceled | canceled | Canceled/Rolled Back|
|
|
6383
|
+
| aborted | canceled | Canceled/Rolled Back|
|
|
6384
|
+
| done | done | Completed |
|
|
6385
|
+
| resolved | done | Completed |
|
|
6386
|
+
| closed | done | Completed |
|
|
6387
|
+
|
|
6388
|
+
Please contact Flashduty if you wish to modify this mapping.
|
|
6389
|
+
|
|
6390
|
+
</div>
|
|
6391
|
+
`,se=`---
|
|
6392
|
+
title: "Feishu/Lark Integration"
|
|
6393
|
+
description: "By integrating a custom Feishu/Lark application, you can receive and respond to alerts within Feishu/Lark."
|
|
6394
|
+
date: "2025-05-19T10:00:00+08:00"
|
|
6395
|
+
url: "https://docs.flashcat.cloud/en/flashduty/lark-integration-guide?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5"
|
|
6396
|
+
---
|
|
6397
|
+
By integrating a custom Feishu/Lark application, you can receive and respond to alerts within Feishu/Lark.
|
|
6398
|
+
|
|
6399
|
+
## 1. Create Feishu/Lark application
|
|
6400
|
+
---
|
|
6401
|
+
|
|
6402
|
+
### 1. Create a custom application
|
|
6403
|
+
|
|
6404
|
+
Visit [Feishu/Lark Developer Console](https://open.feishu.cn/app) and create an internal custom application. You can use the [official Flashduty icon](https://download.flashcat.cloud/flashcat_logo_circular.png) for the application icon.
|
|
6405
|
+
|
|
6406
|
+
For details, see the Feishu/Lark development documentation [Create an internal custom application](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#132c1aac).
|
|
6407
|
+
|
|
6408
|
+

|
|
6409
|
+
### 2. Copy credential information
|
|
6410
|
+
|
|
6411
|
+
Go to the **Credentials and Basic Information** page and copy the \`App ID\` and \`App Secret\` for later use.
|
|
6412
|
+
|
|
6413
|
+
|
|
6414
|
+

|
|
6415
|
+
|
|
6416
|
+
### 3. Copy the event callback Token information
|
|
6417
|
+
|
|
6418
|
+
Go to Development Configuration → Events & Callbacks → **Encryption Strategy** page, generate and copy the \`Encrypt Key\` (recommended for better security) and \`Verification Token\` for later use.
|
|
6419
|
+
|
|
6420
|
+

|
|
6421
|
+
|
|
6422
|
+
## 2. Add Feishu/Lark integration
|
|
6423
|
+
---
|
|
6424
|
+
|
|
6425
|
+
Return to the Flashduty **Integration Center** page, select IM → **Feishu/Lark**, fill in the \`Name\` and the \`App ID\`, \`App Secret\`, \`Verification Token\`, and \`Encrypt Key\` copied in the previous step, then click **Save** to complete the creation.
|
|
6426
|
+
|
|
6427
|
+
After successful creation, you will see the added Feishu/Lark integration in the list. Click its name to enter the details page, where you can view the **Web Configuration** address, **Redirect URL**, and **Message Card Request URL**, which will be used in subsequent steps.
|
|
6428
|
+
|
|
6429
|
+

|
|
6430
|
+
|
|
6431
|
+
## 3. Configure Feishu/Lark application
|
|
6432
|
+
---
|
|
6433
|
+
|
|
6434
|
+
### 1. Enable and configure application capabilities
|
|
5690
6435
|
|
|
5691
6436
|
1. Return to the Feishu/Lark Developer Console, enter the created Feishu/Lark application, go to Add Application Capabilities → **Add by Capability** page, and enable both **Web Application** and **Bot** capabilities.
|
|
5692
6437
|
|
|
@@ -5726,7 +6471,8 @@ Go to the **Permission Management** page and apply for the following permissions
|
|
|
5726
6471
|
|
|
5727
6472
|
- \`im:chat\`: Get and update group information
|
|
5728
6473
|
- \`im:message\`: Get and send single chat and group messages
|
|
5729
|
-
- \`contact:user.id:readonly\`: Get user ID by phone number or email
|
|
6474
|
+
- \`contact:user.id:readonly\`: Get user ID by phone number or email
|
|
6475
|
+
- \`im:message.group_msg\`: Read group chat history (required for AI-generated post-mortem to access war room conversations) <span id="war-room-scope"></span>
|
|
5730
6476
|
|
|
5731
6477
|

|
|
5732
6478
|
|
|
@@ -5789,7 +6535,8 @@ After completing the previous steps, in the **Enhanced Features** module of the
|
|
|
5789
6535
|
> After exceeding API call limits, the Feishu/Lark application will not be able to push messages normally. It is recommended to use notification channels reasonably. See [Feishu/Lark official documentation](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/platform-updates-/custom-app-api-call-limit) for details.
|
|
5790
6536
|
5. **Why is the war room feature not working as expected?**
|
|
5791
6537
|
- Please check again whether you have configured the [required permissions](#war-room-scope) for the war room feature.
|
|
5792
|
-
- Please refer to the **FAQ** section of the Flashduty [War Room Introduction](https://docs.flashcat.cloud/en/flashduty/war-room?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5)
|
|
6538
|
+
- Please refer to the **FAQ** section of the Flashduty [War Room Introduction](https://docs.flashcat.cloud/en/flashduty/war-room?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5).
|
|
6539
|
+
`,re=`---
|
|
5793
6540
|
title: "Dingtalk Integration"
|
|
5794
6541
|
description: "By integrating a custom Dingtalk application, you can receive and respond to alerts within Dingtalk."
|
|
5795
6542
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -6012,7 +6759,7 @@ After the application is published, you can access it via the **mobile client**
|
|
|
6012
6759
|
| Professional | 500,000 | 40 | 1st of each month |
|
|
6013
6760
|
| Exclusive | 5,500,000 | 60 | 1st of each month |
|
|
6014
6761
|
|
|
6015
|
-
> After exceeding the API call limit, the Dingtalk application will not be able to push messages normally. It is recommended to use notification channels reasonably. For details, see the [official Dingtalk documentation](https://open.dingtalk.com/document/orgapp/descriptions-about-adjusting-limit-and-frequency-of-api-calls?spm=ding_open_doc.document.0.0.6f6b21d9WtkxJI).`,
|
|
6762
|
+
> After exceeding the API call limit, the Dingtalk application will not be able to push messages normally. It is recommended to use notification channels reasonably. For details, see the [official Dingtalk documentation](https://open.dingtalk.com/document/orgapp/descriptions-about-adjusting-limit-and-frequency-of-api-calls?spm=ding_open_doc.document.0.0.6f6b21d9WtkxJI).`,le=`---
|
|
6016
6763
|
title: "WeCom Integration"
|
|
6017
6764
|
description: "By integrating a WeCom application, you can receive and respond to alerts within WeCom."
|
|
6018
6765
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -6078,13 +6825,13 @@ This document supports both [integrating third-party applications](#third-party)
|
|
|
6078
6825
|
|
|
6079
6826
|
6. On the application details page, obtain the \`Secret\` and fill it in the Flashduty integration configuration page.
|
|
6080
6827
|
|
|
6081
|
-
7. On the application details page, go to **Web Authorization and JS-SDK** page, click **Set Trusted Domain
|
|
6828
|
+
7. On the application details page, go to **Web Authorization and JS-SDK** page, click **Set Trusted Domain**.
|
|
6082
6829
|
|
|
6083
6830
|
> The trusted domain needs to point to Flashduty's backend address \`{api_host}\` (can be achieved through CNAME or proxy forwarding).
|
|
6084
6831
|
>
|
|
6085
6832
|
> For trusted domain requirements, see the official WeCom documentation [《Internal Development Domain Configuration Guide》](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754).
|
|
6086
6833
|
|
|
6087
|
-
|
|
6834
|
+

|
|
6088
6835
|
|
|
6089
6836
|
Return to the Flashduty integration configuration page, fill in this domain, and complete the verification.
|
|
6090
6837
|
|
|
@@ -6098,9 +6845,20 @@ This document supports both [integrating third-party applications](#third-party)
|
|
|
6098
6845
|
|
|
6099
6846
|

|
|
6100
6847
|
|
|
6101
|
-
10. Company's Trusted IP : 47.94.95.118; 123.56.8.183; 47.94.193.81; 1.13.19.96
|
|
6102
6848
|
|
|
6103
|
-
|
|
6849
|
+
10. Configure **Frontend Trusted Domain**
|
|
6850
|
+
|
|
6851
|
+
> The trusted domain needs to point to Flashduty's frontend address \`console.flashcat.cloud\` (can be implemented through CNAME or proxy forwarding).
|
|
6852
|
+
>
|
|
6853
|
+
> For requirements regarding trusted domains, please refer to the WeCom official documentation ['Enterprise Internal Development Domain Configuration Guide'](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754).
|
|
6854
|
+
|
|
6855
|
+
After the frontend trusted domain verification passes, configure the generated **homepage address** to the WeCom application's **workbench application homepage**.
|
|
6856
|
+
|
|
6857
|
+

|
|
6858
|
+
|
|
6859
|
+
11. Configure **Trusted IP Address**: \`47.93.12.134\`
|
|
6860
|
+
|
|
6861
|
+

|
|
6104
6862
|
|
|
6105
6863
|
## 3. Configure war room
|
|
6106
6864
|
|
|
@@ -6141,7 +6899,9 @@ After completing the previous steps, in the **Enhanced Features** module of the
|
|
|
6141
6899
|
7. **Incident notification failed with prompt \`WeCom license not activated\`?**
|
|
6142
6900
|
- Please contact Flashduty customer service or your dedicated technical support to purchase and activate the license for you.
|
|
6143
6901
|
8. **Why is the war room feature not working as expected?**
|
|
6144
|
-
- Please refer to the **FAQ** section of the Flashduty [War Room Introduction](https://docs.flashcat.cloud/en/flashduty/war-room?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5)
|
|
6902
|
+
- Please refer to the **FAQ** section of the Flashduty [War Room Introduction](https://docs.flashcat.cloud/en/flashduty/war-room?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5).
|
|
6903
|
+
9. **Why does it prompt "redirect_uri needs to use the application's trusted domain" when opening the app in the WeCom workspace?**
|
|
6904
|
+
- Please confirm whether the domain in the \`redirect_uri\` parameter of the **App Homepage** URL has completed the domain ownership verification required by WeCom. For details, see the WeCom official documentation ['Enterprise Internal Development Domain Configuration Guide'](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754).`,de=`---
|
|
6145
6905
|
title: "Slack Integration"
|
|
6146
6906
|
description: "By integrating the Slack third-party application, you can receive and respond to alerts within Slack."
|
|
6147
6907
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -6165,6 +6925,8 @@ By integrating the Slack third-party application, you can receive and respond to
|
|
|
6165
6925
|
|
|
6166
6926
|
After completing the previous steps, in the **Enhanced Features** module of the Flashduty integration configuration page, check **Enable War Room** to enable this feature without additional configuration.
|
|
6167
6927
|
|
|
6928
|
+
To enable AI-generated post-mortem with war room chat history, the app requires additional \`channels:history\` permission. For existing Slack integrations, you need to manually re-authorize to grant this permission.
|
|
6929
|
+
|
|
6168
6930
|
## 3. FAQ
|
|
6169
6931
|
|
|
6170
6932
|
---
|
|
@@ -6195,7 +6957,8 @@ After completing the previous steps, in the **Enhanced Features** module of the
|
|
|
6195
6957
|
- If the error persists after retrying, please contact customer service to record and resolve new issues.
|
|
6196
6958
|
9. **Why is the war room feature not working as expected?**
|
|
6197
6959
|
- For previously authorized Slack IM integrations, you need to manually reauthorize Slack in the Flashduty integration configuration page to grant the application the additional permissions required for the war room feature.
|
|
6198
|
-
- Please refer to the **FAQ** section of the Flashduty [War Room Introduction](https://docs.flashcat.cloud/en/flashduty/war-room?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5)
|
|
6960
|
+
- Please refer to the **FAQ** section of the Flashduty [War Room Introduction](https://docs.flashcat.cloud/en/flashduty/war-room?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5).
|
|
6961
|
+
`,ce=`---
|
|
6199
6962
|
title: "Microsoft Teams Integration"
|
|
6200
6963
|
description: "By integrating the Microsoft Teams third-party application, you can receive and respond to alerts within Microsoft Teams."
|
|
6201
6964
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -6213,10 +6976,10 @@ This step needs to be completed by a Microsoft Teams administrator.
|
|
|
6213
6976
|
:::
|
|
6214
6977
|
|
|
6215
6978
|
### 1. Download application
|
|
6216
|
-
Download [
|
|
6979
|
+
Download [FlashdutyBot-v1.0.3.zip](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/docs/FlashdutyBot-v1.0.3.zip) to your local device.
|
|
6217
6980
|
|
|
6218
6981
|
### 2. Install application
|
|
6219
|
-
In Microsoft Teams, navigate to +Apps → Manage your apps → Upload an app → **Upload an app to your org's app catalog**, then upload the application package \`
|
|
6982
|
+
In Microsoft Teams, navigate to +Apps → Manage your apps → Upload an app → **Upload an app to your org's app catalog**, then upload the application package \`FlashdutyBot.zip\`.
|
|
6220
6983
|
|
|
6221
6984
|

|
|
6222
6985
|
|
|
@@ -6310,7 +7073,7 @@ Copy and send the command \`linkUser {}\` to the chat, then click **Link Now**.
|
|
|
6310
7073
|
2. **How to view linked teams and users?**
|
|
6311
7074
|
- Please go to Integration Center → IM → **Microsoft Teams** to view in **Linked Teams** and **Linked Users**.
|
|
6312
7075
|
3. **How to cancel linked teams and users?**
|
|
6313
|
-
- This feature is not currently supported.`,
|
|
7076
|
+
- This feature is not currently supported.`,ue=`Configure alert webhooks to receive HTTP callbacks at your specified URL when alerts have specific actions (such as triggering or closing). The callback content includes the latest key information about the alert, allowing integration with your custom tools.
|
|
6314
7077
|
|
|
6315
7078
|
<span id="EventTypes"></span>
|
|
6316
7079
|
|
|
@@ -6376,13 +7139,11 @@ email | string | Yes | Email address
|
|
|
6376
7139
|
| alert_key | string | Yes | Alert correlation basis |
|
|
6377
7140
|
| alert_severity | string | Yes | Severity level, enum: Critical, Warning, Info |
|
|
6378
7141
|
| alert_status | string | Yes | Alert status, enum: Critical, Warning, Info, Ok |
|
|
6379
|
-
| progress | string | Yes | Processing progress, enum: Triggered, Closed |
|
|
6380
7142
|
| created_at | int64 | Yes | Creation time |
|
|
6381
7143
|
| updated_at | int64 | Yes | Update time |
|
|
6382
7144
|
| start_time | int64 | Yes | First trigger time (time of first event received by platform), Unix timestamp in seconds |
|
|
6383
7145
|
| last_time | int64 | Yes | Latest event time (time of most recent event received by platform), Unix timestamp in seconds |
|
|
6384
7146
|
| end_time | int64 | No | Alert recovery time (time when platform last received end-type event), Unix timestamp in seconds, defaults to 0 |
|
|
6385
|
-
| close_time | int64 | No | Closure time, different from end_time, this indicates progress closure, not actual alert recovery. Unix timestamp in seconds, defaults to 0 |
|
|
6386
7147
|
| labels | map[string]string | No | Label key-value pairs, both Key and Value are strings |
|
|
6387
7148
|
| event_cnt | int64 | No | Number of associated events |
|
|
6388
7149
|
| incident | [Incident](#Incident) | No | Associated incident |
|
|
@@ -6415,13 +7176,12 @@ curl -X POST 'https://example.com/alert/webhook?a=a' \\
|
|
|
6415
7176
|
"alert_status":"Warning",
|
|
6416
7177
|
"channel_id":1163577812973,
|
|
6417
7178
|
"channel_name":"Order System",
|
|
6418
|
-
"close_time":0,
|
|
6419
7179
|
"created_at":1683766015,
|
|
6420
7180
|
"data_source_id":1571358104973,
|
|
6421
7181
|
"data_source_name":"Aliyun SLS",
|
|
6422
7182
|
"data_source_ref_id":"",
|
|
6423
7183
|
"data_source_type":"aliyun-sls.alert",
|
|
6424
|
-
"description":"Test alert trigger to
|
|
7184
|
+
"description":"Test alert trigger to Flashduty",
|
|
6425
7185
|
"end_time":0,
|
|
6426
7186
|
"event_cnt":1,
|
|
6427
7187
|
"incident":{
|
|
@@ -6433,7 +7193,7 @@ curl -X POST 'https://example.com/alert/webhook?a=a' \\
|
|
|
6433
7193
|
"alert_type":"sls_alert",
|
|
6434
7194
|
"alert_url":"https://sls.console.aliyun.com/lognext/project/sls-api-testing/alert/alert-1683548531-071659",
|
|
6435
7195
|
"aliuid":"1082109605037616",
|
|
6436
|
-
"check":"Test send to
|
|
7196
|
+
"check":"Test send to Flashduty",
|
|
6437
7197
|
"fire_results":"{\\"_col0\\":\\"true\\"}",
|
|
6438
7198
|
"fire_results_count":"1",
|
|
6439
7199
|
"project":"sls-api-testing",
|
|
@@ -6443,9 +7203,8 @@ curl -X POST 'https://example.com/alert/webhook?a=a' \\
|
|
|
6443
7203
|
"severity":"6"
|
|
6444
7204
|
},
|
|
6445
7205
|
"last_time":1683809153,
|
|
6446
|
-
"progress":"Triggered",
|
|
6447
7206
|
"start_time":1683766013,
|
|
6448
|
-
"title":"Test alert trigger to
|
|
7207
|
+
"title":"Test alert trigger to Flashduty",
|
|
6449
7208
|
"title_rule":"$resource::$check",
|
|
6450
7209
|
"updated_at":1683809170
|
|
6451
7210
|
},
|
|
@@ -6464,11 +7223,14 @@ curl -X POST 'https://example.com/alert/webhook?a=a' \\
|
|
|
6464
7223
|
|
|
6465
7224
|
1. **Is there a response timeout for the service?**
|
|
6466
7225
|
|
|
6467
|
-
-
|
|
7226
|
+
- Services must respond within 2 second, responses after 2 second are considered failed
|
|
6468
7227
|
|
|
6469
7228
|
2. **Will failed pushes continue to be pushed?**
|
|
6470
7229
|
|
|
6471
|
-
|
|
7230
|
+
For specific network errors, retries will be attempted up to a maximum of 1 times:
|
|
7231
|
+
- context deadline exceeded (excluding cases involving "awaiting headers")
|
|
7232
|
+
- i/o timeout
|
|
7233
|
+
- eof
|
|
6472
7234
|
|
|
6473
7235
|
3. **How is push order guaranteed?**
|
|
6474
7236
|
|
|
@@ -6478,7 +7240,7 @@ curl -X POST 'https://example.com/alert/webhook?a=a' \\
|
|
|
6478
7240
|
4. **Trusted IP whitelist for push sources?**
|
|
6479
7241
|
- {ip_whitelist}
|
|
6480
7242
|
- May be updated in the future, please check periodically
|
|
6481
|
-
`,
|
|
7243
|
+
`,he=`Configure incident webhooks to receive HTTP callbacks at your specified URL when incidents have specific actions (such as triggering or closing). The callback content includes the latest key information about the incident, allowing integration with your custom tools.
|
|
6482
7244
|
|
|
6483
7245
|
<span id="EventTypes"></span>
|
|
6484
7246
|
|
|
@@ -6672,11 +7434,14 @@ curl -X POST 'https://example.com/incident/webhook?a=a' \\
|
|
|
6672
7434
|
|
|
6673
7435
|
1. **Is there a response timeout for the service?**
|
|
6674
7436
|
|
|
6675
|
-
- Services must respond within
|
|
7437
|
+
- Services must respond within 2 second, responses after 2 second are considered failed
|
|
6676
7438
|
|
|
6677
7439
|
2. **Will failed pushes continue to be pushed?**
|
|
6678
7440
|
|
|
6679
|
-
|
|
7441
|
+
For specific network errors, retries will be attempted up to a maximum of 1 times:
|
|
7442
|
+
- context deadline exceeded (excluding cases involving "awaiting headers")
|
|
7443
|
+
- i/o timeout
|
|
7444
|
+
- eof
|
|
6680
7445
|
|
|
6681
7446
|
3. **How is push order guaranteed?**
|
|
6682
7447
|
|
|
@@ -6685,11 +7450,11 @@ curl -X POST 'https://example.com/incident/webhook?a=a' \\
|
|
|
6685
7450
|
|
|
6686
7451
|
4. **Trusted IP whitelist for push sources?**
|
|
6687
7452
|
- {ip_whitelist}
|
|
6688
|
-
- May be updated in the future, please check periodically`,
|
|
7453
|
+
- May be updated in the future, please check periodically`,ge=`Custom incident actions allow you to quickly invoke external interfaces during incident troubleshooting for incident self-healing, information enrichment, and other custom operations.
|
|
6689
7454
|
|
|
6690
7455
|
## I. Creating Actions
|
|
6691
7456
|
|
|
6692
|
-
1. Log in to the
|
|
7457
|
+
1. Log in to the Flashduty console and navigate to [Integration Center-Webhook]
|
|
6693
7458
|
2. Click to add a Custom Action integration
|
|
6694
7459
|
3. Configure the action name, which will appear as a button in the incident details
|
|
6695
7460
|
4. Configure channels (multiple can be configured, but each channel can have up to three custom actions)
|
|
@@ -6782,13 +7547,11 @@ acknowledged_at | int64| No | Acknowledgment time
|
|
|
6782
7547
|
| alert_key | string | Yes | Alert correlation basis |
|
|
6783
7548
|
| alert_severity | string | Yes | Severity level, enum: Critical, Warning, Info |
|
|
6784
7549
|
| alert_status | string | Yes | Alert status, enum: Critical, Warning, Info, Ok |
|
|
6785
|
-
| progress | string | Yes | Processing progress, enum: Triggered, Closed |
|
|
6786
7550
|
| created_at | int64 | Yes | Creation time |
|
|
6787
7551
|
| updated_at | int64 | Yes | Update time |
|
|
6788
7552
|
| start_time | int64 | Yes | First trigger time (time of first event received by platform), Unix timestamp in seconds |
|
|
6789
7553
|
| last_time | int64 | Yes | Latest event time (time of latest event received by platform), Unix timestamp in seconds |
|
|
6790
7554
|
| end_time | int64 | No | Alert recovery time (time of last end-type event received by platform), Unix timestamp in seconds, default 0 |
|
|
6791
|
-
| close_time | int64 | No | Close time, different from end_time, this is processing progress closure, doesn't mean alert actually recovered. Unix timestamp in seconds, default 0 |
|
|
6792
7555
|
| labels | map[string]string | No | Label KV pairs, both Key and Value are strings |
|
|
6793
7556
|
|
|
6794
7557
|
</div>
|
|
@@ -6819,7 +7582,6 @@ curl -X POST 'https://example.com/incident/action?a=a' \\
|
|
|
6819
7582
|
"alert_key": "asdflasdfl2xzasd112621",
|
|
6820
7583
|
"alert_severity": "Critical",
|
|
6821
7584
|
"alert_status": "Critical",
|
|
6822
|
-
"close_time": 0,
|
|
6823
7585
|
"created_at": 1699869567,
|
|
6824
7586
|
"data_source_id": 2398086111504,
|
|
6825
7587
|
"description": "cpu.idle < 20%",
|
|
@@ -6835,10 +7597,6 @@ curl -X POST 'https://example.com/incident/action?a=a' \\
|
|
|
6835
7597
|
"v": "v"
|
|
6836
7598
|
},
|
|
6837
7599
|
"last_time": 1699869562,
|
|
6838
|
-
"progress": "Triggered",
|
|
6839
|
-
"responder_email": "",
|
|
6840
|
-
"responder_id": 0,
|
|
6841
|
-
"responder_name": "",
|
|
6842
7600
|
"start_time": 1699869562,
|
|
6843
7601
|
"title": "nj / es.nj.01 - 自定义字段测试",
|
|
6844
7602
|
"title_rule": "$cluster::$resource::$check",
|
|
@@ -6924,7 +7682,7 @@ When host memory or CPU is maxed out, trigger host restart scripts for quick rec
|
|
|
6924
7682
|
|
|
6925
7683
|
### Information Enrichment
|
|
6926
7684
|
|
|
6927
|
-
When an incident occurs, callback to your service to retrieve Tracing, Logging, topology, and other information based on alert details. Actively call
|
|
7685
|
+
When an incident occurs, callback to your service to retrieve Tracing, Logging, topology, and other information based on alert details. Actively call Flashduty Open API to update incident information, such as adding labels or setting custom fields to assist troubleshooting.
|
|
6928
7686
|
|
|
6929
7687
|
### Rollback Changes
|
|
6930
7688
|
|
|
@@ -6932,7 +7690,7 @@ When an incident occurs and is confirmed to be caused by a change, directly trig
|
|
|
6932
7690
|
|
|
6933
7691
|
### Update Status Page
|
|
6934
7692
|
|
|
6935
|
-
When an incident is confirmed to affect online services, trigger external status page updates to prompt`,
|
|
7693
|
+
When an incident is confirmed to affect online services, trigger external status page updates to prompt`,pe=`---
|
|
6936
7694
|
title: "Jira Sync"
|
|
6937
7695
|
description: "Sync incidents with Jira issues through Jira Sync Webhook."
|
|
6938
7696
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -7014,7 +7772,7 @@ In the Integration Center, select **Webhook**, choose **Jira Sync** integration,
|
|
|
7014
7772
|
|
|
7015
7773
|
- Flashduty syncs information according to default field mappings and your custom field configurations. If your Jira issue type has required fields without mapping relationships, Jira issue creation may fail.
|
|
7016
7774
|
- Jira issue details are accessed using project KEY + number format. If you modify the project KEY, saved issue URLs in Flashduty may become inaccessible, so please modify project KEYs with caution.
|
|
7017
|
-
`,
|
|
7775
|
+
`,me=`---
|
|
7018
7776
|
title: "ServiceNow Sync"
|
|
7019
7777
|
description: "Sync incidents with ServiceNow Incidents through ServiceNow sync webhook."
|
|
7020
7778
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -7330,7 +8088,7 @@ Only when ServiceNow's Urgency value changes will it affect Flashduty's Severity
|
|
|
7330
8088
|
<details>
|
|
7331
8089
|
<summary>Getting 401 error when configuring integration</summary>
|
|
7332
8090
|
A 401 error is generally caused by an incorrect password. Please check if the password is correct, or reset a new password (when setting the password, do not check the "Password needs reset" option).
|
|
7333
|
-
</details>`,
|
|
8091
|
+
</details>`,fe=`---
|
|
7334
8092
|
title: "ServiceDesk Plus Sync"
|
|
7335
8093
|
description: "Sync incidents with ServiceDesk Plus requests through ServiceDesk Plus sync webhook."
|
|
7336
8094
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -7402,30 +8160,19 @@ Please select the corresponding API Endpoint and Accounts Server URL according t
|
|
|
7402
8160
|
- Manual Trigger: Requires manual triggering of ServiceDesk Plus sync in the More Actions section of the incident details page (the integration configuration name is the trigger name).
|
|
7403
8161
|
|
|
7404
8162
|
5. **Channel:** Select the channel where this integration takes effect.
|
|
7405
|
-
6. **Request Template:** Select the template to use when creating requests.
|
|
7406
|
-
7. **Severity Mapping:**
|
|
8163
|
+
6. **Request Template:** Select the template to use when creating requests. If empty, the default template will be used to create the request.
|
|
8164
|
+
7. **Severity Mapping:** You can choose to map the values of severity, incident labels, or custom fields to the Priority field in ServiceDesk Plus. If empty, this field will not be passed when creating requests.
|
|
7407
8165
|
8. **Custom Field Mapping:** You can map labels or custom fields in incidents to corresponding text fields in ServiceDesk Plus tickets to achieve automatic information filling. This feature supports syncing common context information (such as service name, instance address, metric name, etc.) to ServiceDesk Plus for subsequent troubleshooting and tracking.
|
|
7408
8166
|
- Only supports target fields of single-line text or multi-line text type.
|
|
7409
8167
|
- Supports extracting values from incident labels (such as service, instance) or custom attributes.
|
|
7410
8168
|
- If the source field is empty, the target field will also remain empty and will not overwrite existing content.
|
|
7411
|
-
- Mapping configuration is managed uniformly in integration settings without manual filling each time.
|
|
7412
8169
|
|
|
7413
8170
|
9. **Assignee Mapping:** When Flashduty incidents are synced to ServiceDesk Plus and need to be automatically assigned to Technician or Group, you can get the value of Flashduty incident labels as the assignee (if the corresponding assignee does not exist, it will cause sync failure, please choose carefully).
|
|
7414
|
-
|
|
7415
|
-
|
|
8171
|
+
10. **Requester:** The requester to be specified when creating a request. This needs to be configured if the field is mandatory when creating requests.
|
|
8172
|
+
11. Click \`Save\` to complete the configuration.
|
|
7416
8173
|
|
|
7417
8174
|
### In ServiceDesk Plus
|
|
7418
|
-
#### Step 2
|
|
7419
|
-
When Flashduty incidents are synced to ServiceDesk Plus, the Requester automatically set by the system
|
|
7420
|
-
|
|
7421
|
-
1. Log in to the ServiceDesk Plus console and find the \`Setup\` configuration page.
|
|
7422
|
-
2. Select \`Users & Permissions\`, then enter the \`Users\` creation page and select \`New Requester\`.
|
|
7423
|
-
3. Fill in **flashduty** for \`Name (Display Name)\` and \`First Name\`, fill in **flashduty-sync@flashcat.cloud** for \`Email\`.
|
|
7424
|
-
4. Other settings can be configured as needed, click \`Save\` to save the configuration.
|
|
7425
|
-
|
|
7426
|
-

|
|
7427
|
-
|
|
7428
|
-
#### Step 3 Configure Sync <span id="configure-sync"></span>
|
|
8175
|
+
#### Step 2 Configure Sync <span id="configure-sync"></span>
|
|
7429
8176
|
To achieve synchronization of ServiceDesk Plus requests to Flashduty, please refer to this configuration item. **Note:** Different versions may have slightly different paths, but the configuration method is the same.
|
|
7430
8177
|
##### Create Webhook
|
|
7431
8178
|
1. Log in to the ServiceDesk Plus console and find the \`Setup\` configuration page.
|
|
@@ -7464,7 +8211,7 @@ To achieve synchronization of ServiceDesk Plus requests to Flashduty, please ref
|
|
|
7464
8211
|
|
|
7465
8212
|

|
|
7466
8213
|
|
|
7467
|
-
##### Create Trigger
|
|
8214
|
+
##### Step 3 Create Trigger
|
|
7468
8215
|
1. Log in to the ServiceDesk Plus console and find the \`Setup\` configuration page.
|
|
7469
8216
|
2. Select \`Automation\`, then enter the \`Triggers\` page and select \`Request\`.
|
|
7470
8217
|
3. Click \`New Trigger\`, fill in **to_Flashduty** for \`Name\` in the edit page.
|
|
@@ -7504,14 +8251,6 @@ To achieve synchronization of ServiceDesk Plus requests to Flashduty, please ref
|
|
|
7504
8251
|
| Canceled | CLosed | |
|
|
7505
8252
|
| Rejected | CLosed | |
|
|
7506
8253
|
|
|
7507
|
-
### Priority Mapping <span id="priority-mapping"></span>
|
|
7508
|
-
|
|
7509
|
-
| ServiceDesk Plus | Flashduty | Notes |
|
|
7510
|
-
| ---------- | --------- | ----- |
|
|
7511
|
-
| Low | Info | |
|
|
7512
|
-
| Medium | Warning | |
|
|
7513
|
-
| High | Critical | |
|
|
7514
|
-
|
|
7515
8254
|
|
|
7516
8255
|
## FAQ
|
|
7517
8256
|
|
|
@@ -7519,7 +8258,7 @@ To achieve synchronization of ServiceDesk Plus requests to Flashduty, please ref
|
|
|
7519
8258
|
<summary> Can the Scope be changed</summary>
|
|
7520
8259
|
No, the Scope currently used is already the smallest unit. Flashduty needs to perform get/create/update operations when syncing requests with ServiceDesk Plus, and needs to obtain priority/custom field lists when configuring integration, so corresponding permission support is required.
|
|
7521
8260
|
</details>
|
|
7522
|
-
`,
|
|
8261
|
+
`,ye=`---
|
|
7523
8262
|
title: "Configure Notification Templates"
|
|
7524
8263
|
description: "Customize notification content through template configuration"
|
|
7525
8264
|
date: "2024-05-10T10:00:00+08:00"
|
|
@@ -7653,10 +8392,8 @@ Title | string | Yes | Alert title
|
|
|
7653
8392
|
Description | string | Yes | Alert description, can be empty
|
|
7654
8393
|
AlertSeverity | string | Yes | Severity level, enum values: Critical, Warning, Info
|
|
7655
8394
|
AlertStatus | string | Yes | Alert status, enum values: Critical, Warning, Info, Ok
|
|
7656
|
-
Progress | string | Yes | Processing progress, enum values: Triggered, Processing, Closed
|
|
7657
8395
|
StartTime | int64 | Yes | Trigger time, Unix timestamp in seconds
|
|
7658
8396
|
EndTime | int64 | No | Recovery time, Unix timestamp in seconds, default 0
|
|
7659
|
-
CloseTime | int64 | No | Close time, EndTime is alert recovery time, CloseTime is processing progress close time. Alert automatically closes upon recovery, manual closure doesn't affect alert recovery. Unix timestamp in seconds, default 0
|
|
7660
8397
|
\`Labels\` | map[string]string | No | Label key-value pairs, both Key and Value are strings
|
|
7661
8398
|
|
|
7662
8399
|
## Common Questions
|
|
@@ -8078,7 +8815,8 @@ If you want to display only key label information, you can refer to the code seg
|
|
|
8078
8815
|
\`\`\`
|
|
8079
8816
|
</div>
|
|
8080
8817
|
|
|
8081
|
-
<div class="
|
|
8818
|
+
<div class="feishu hide">
|
|
8819
|
+
|
|
8082
8820
|
|
|
8083
8821
|
## Feishu/Lark Bot
|
|
8084
8822
|
---
|
|
@@ -8348,6 +9086,7 @@ Description:{{toHtml .Description}}{{end}}{{if gt (len .Responders) 0}}
|
|
|
8348
9086
|
Responders:{{range .Responders}}@{{.PersonName}} {{end}}{{end}}
|
|
8349
9087
|
<br>Details:{{.DetailUrl}}
|
|
8350
9088
|
\`\`\`
|
|
9089
|
+
|
|
8351
9090
|
</div>
|
|
8352
9091
|
|
|
8353
9092
|
<div class="dingtalk hide">
|
|
@@ -8592,6 +9331,19 @@ You have a pending incident: {{toHtml .Title}}, Channel: {{.ChannelName}}, Sever
|
|
|
8592
9331
|
\`\`\`
|
|
8593
9332
|
</div>
|
|
8594
9333
|
|
|
9334
|
+
|
|
9335
|
+
<div class="voice hide">
|
|
9336
|
+
|
|
9337
|
+
## Voice
|
|
9338
|
+
---
|
|
9339
|
+
If no custom content is set, the system default template will be used for notifications:
|
|
9340
|
+
|
|
9341
|
+
\`\`\`go
|
|
9342
|
+
You have a pending incident: {{toHtml .Title}}, Channel: {{.ChannelName}}, Severity: {{.IncidentSeverity}}{{if gt .AlertCnt 1}}, Grouped {{.AlertCnt}} alerts{{end}}
|
|
9343
|
+
\`\`\`
|
|
9344
|
+
</div>
|
|
9345
|
+
|
|
9346
|
+
|
|
8595
9347
|
<div class="email hide">
|
|
8596
9348
|
|
|
8597
9349
|
## Email
|
|
@@ -8606,80 +9358,319 @@ If no custom content is set, the system default template will be used for notifi
|
|
|
8606
9358
|
|
|
8607
9359
|
<head data-id="__react-email-head">
|
|
8608
9360
|
<style>
|
|
8609
|
-
|
|
8610
|
-
|
|
8611
|
-
|
|
8612
|
-
|
|
8613
|
-
|
|
8614
|
-
|
|
8615
|
-
|
|
8616
|
-
|
|
8617
|
-
|
|
8618
|
-
|
|
9361
|
+
/* Light mode colors */
|
|
9362
|
+
:root {
|
|
9363
|
+
--bg-color: rgb(255, 255, 255);
|
|
9364
|
+
--text-color: rgb(55, 65, 81);
|
|
9365
|
+
--label-key-color: #000;
|
|
9366
|
+
--section-bg: rgb(255, 255, 255);
|
|
9367
|
+
--border-color: rgb(229, 231, 235);
|
|
9368
|
+
}
|
|
9369
|
+
|
|
9370
|
+
/* Dark mode colors */
|
|
9371
|
+
@media (prefers-color-scheme: dark) {
|
|
9372
|
+
:root {
|
|
9373
|
+
--bg-color: rgb(31, 41, 55);
|
|
9374
|
+
--text-color: rgb(209, 213, 219);
|
|
9375
|
+
--label-key-color: rgb(229, 231, 235);
|
|
9376
|
+
--section-bg: rgb(17, 24, 39);
|
|
9377
|
+
--border-color: rgb(75, 85, 99);
|
|
9378
|
+
}
|
|
9379
|
+
}
|
|
9380
|
+
|
|
9381
|
+
/* Severity background colors */
|
|
9382
|
+
.severity-Critical {
|
|
9383
|
+
background-color: #C80000;
|
|
9384
|
+
color: #ffffff;
|
|
9385
|
+
padding: 4px 12px;
|
|
9386
|
+
border-radius: 12px;
|
|
9387
|
+
display: inline-block;
|
|
9388
|
+
font-weight: 600;
|
|
9389
|
+
font-size: 13px;
|
|
9390
|
+
}
|
|
9391
|
+
.severity-Warning {
|
|
9392
|
+
background-color: #fef3c7;
|
|
9393
|
+
color: #92400e;
|
|
9394
|
+
padding: 4px 12px;
|
|
9395
|
+
border-radius: 12px;
|
|
9396
|
+
display: inline-block;
|
|
9397
|
+
font-weight: 600;
|
|
9398
|
+
font-size: 13px;
|
|
9399
|
+
}
|
|
9400
|
+
.severity-Info {
|
|
9401
|
+
background-color: rgb(108,83,177);
|
|
9402
|
+
color: #ffffff;
|
|
9403
|
+
padding: 0.25rem 0.75rem;
|
|
9404
|
+
border-radius: 0.25rem;
|
|
9405
|
+
display: inline-block;
|
|
9406
|
+
font-weight: 500;
|
|
9407
|
+
}
|
|
9408
|
+
.severity-Ok {
|
|
9409
|
+
background-color: rgb(132 204 22);
|
|
9410
|
+
color:rgb(100, 239, 73);
|
|
9411
|
+
padding: 0.25rem 0.75rem;
|
|
9412
|
+
border-radius: 0.25rem;
|
|
9413
|
+
display: inline-block;
|
|
9414
|
+
font-weight: 500;
|
|
9415
|
+
}
|
|
9416
|
+
|
|
9417
|
+
/* Progress status colors */
|
|
9418
|
+
.progress-Triggered {
|
|
9419
|
+
background-color: #dbeafe;
|
|
9420
|
+
color: #1e40af;
|
|
9421
|
+
padding: 4px 12px;
|
|
9422
|
+
border-radius: 12px;
|
|
9423
|
+
display: inline-block;
|
|
9424
|
+
font-weight: 600;
|
|
9425
|
+
font-size: 13px;
|
|
9426
|
+
}
|
|
9427
|
+
.progress-Acknowledged {
|
|
9428
|
+
background-color: #ede9fe;
|
|
9429
|
+
color: #6b21a8;
|
|
9430
|
+
padding: 4px 12px;
|
|
9431
|
+
border-radius: 12px;
|
|
9432
|
+
display: inline-block;
|
|
9433
|
+
font-weight: 600;
|
|
9434
|
+
font-size: 13px;
|
|
9435
|
+
}
|
|
9436
|
+
.progress-Resolved {
|
|
9437
|
+
background-color: #d1fae5;
|
|
9438
|
+
color: #065f46;
|
|
9439
|
+
padding: 4px 12px;
|
|
9440
|
+
border-radius: 12px;
|
|
9441
|
+
display: inline-block;
|
|
9442
|
+
font-weight: 600;
|
|
9443
|
+
font-size: 13px;
|
|
9444
|
+
}
|
|
9445
|
+
.progress-Closed {
|
|
9446
|
+
background-color: #f3f4f6;
|
|
9447
|
+
color: #374151;
|
|
9448
|
+
padding: 4px 12px;
|
|
9449
|
+
border-radius: 12px;
|
|
9450
|
+
display: inline-block;
|
|
9451
|
+
font-weight: 600;
|
|
9452
|
+
font-size: 13px;
|
|
9453
|
+
}
|
|
9454
|
+
|
|
9455
|
+
/* Field row styles */
|
|
9456
|
+
.field-row {
|
|
9457
|
+
padding: 1rem 0;
|
|
9458
|
+
border-bottom: 1px solid var(--border-color);
|
|
9459
|
+
}
|
|
9460
|
+
.field-row:first-child {
|
|
9461
|
+
padding-top: 0;
|
|
9462
|
+
}
|
|
9463
|
+
.field-row:last-child {
|
|
9464
|
+
border-bottom: none;
|
|
9465
|
+
}
|
|
9466
|
+
.field-label {
|
|
9467
|
+
color: #6b7280;
|
|
9468
|
+
font-size: 0.875rem;
|
|
9469
|
+
margin-bottom: 0.25rem;
|
|
9470
|
+
}
|
|
9471
|
+
.field-value {
|
|
9472
|
+
color: var(--text-color);
|
|
9473
|
+
word-break: break-word;
|
|
9474
|
+
overflow-wrap: break-word;
|
|
9475
|
+
}
|
|
9476
|
+
|
|
9477
|
+
body {
|
|
9478
|
+
background-color: var(--bg-color);
|
|
9479
|
+
color: var(--text-color);
|
|
9480
|
+
}
|
|
9481
|
+
|
|
9482
|
+
.labels-section {
|
|
9483
|
+
background-color: #f3f4f6;
|
|
9484
|
+
padding: 1rem;
|
|
9485
|
+
border-radius: 0.375rem;
|
|
9486
|
+
margin-top: 0.5rem;
|
|
9487
|
+
}
|
|
9488
|
+
@media (prefers-color-scheme: dark) {
|
|
9489
|
+
.labels-section {
|
|
9490
|
+
background-color: rgb(55, 65, 81);
|
|
9491
|
+
}
|
|
9492
|
+
}
|
|
8619
9493
|
</style>
|
|
8620
9494
|
</head>
|
|
8621
9495
|
|
|
8622
|
-
<body data-id="__react-email-body" style="
|
|
8623
|
-
|
|
8624
|
-
<
|
|
8625
|
-
<
|
|
8626
|
-
|
|
8627
|
-
|
|
8628
|
-
|
|
8629
|
-
|
|
8630
|
-
|
|
8631
|
-
|
|
8632
|
-
|
|
8633
|
-
|
|
8634
|
-
|
|
8635
|
-
|
|
8636
|
-
|
|
8637
|
-
|
|
8638
|
-
|
|
8639
|
-
|
|
8640
|
-
|
|
8641
|
-
|
|
8642
|
-
|
|
8643
|
-
|
|
8644
|
-
|
|
8645
|
-
|
|
8646
|
-
|
|
8647
|
-
|
|
8648
|
-
|
|
8649
|
-
|
|
8650
|
-
|
|
8651
|
-
|
|
8652
|
-
|
|
8653
|
-
|
|
8654
|
-
|
|
8655
|
-
|
|
8656
|
-
|
|
8657
|
-
|
|
8658
|
-
|
|
8659
|
-
|
|
8660
|
-
|
|
8661
|
-
|
|
8662
|
-
|
|
8663
|
-
|
|
8664
|
-
|
|
8665
|
-
|
|
8666
|
-
|
|
8667
|
-
|
|
8668
|
-
|
|
8669
|
-
|
|
8670
|
-
|
|
8671
|
-
|
|
8672
|
-
|
|
8673
|
-
|
|
8674
|
-
|
|
8675
|
-
|
|
8676
|
-
|
|
8677
|
-
|
|
8678
|
-
|
|
8679
|
-
|
|
8680
|
-
|
|
9496
|
+
<body data-id="__react-email-body" style="margin:0;padding:0;background-color:#f3f4f6;font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji">
|
|
9497
|
+
<!-- Outer wrapper table for centering -->
|
|
9498
|
+
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="background-color:#f3f4f6">
|
|
9499
|
+
<tr>
|
|
9500
|
+
<td align="center" style="padding:40px 20px">
|
|
9501
|
+
<!-- Main container table with fixed width -->
|
|
9502
|
+
<table width="600" cellpadding="0" cellspacing="0" border="0" style="background-color:#ffffff;max-width:600px">
|
|
9503
|
+
<!-- Purple header bar with logo -->
|
|
9504
|
+
<tr>
|
|
9505
|
+
<td style="padding:32px 0 32px 32px;text-align:left">
|
|
9506
|
+
<img data-id="react-email-img" src="https://flashduty-public.oss-cn-beijing.aliyuncs.com/icons/flashduty-20251216.png" height="70" style="display:block;outline:none;border:none;text-decoration:none;height:70px;width:auto" alt="Flashduty" />
|
|
9507
|
+
</td>
|
|
9508
|
+
</tr>
|
|
9509
|
+
|
|
9510
|
+
<!-- Divider after logo -->
|
|
9511
|
+
<tr>
|
|
9512
|
+
<td style="padding:0 32px">
|
|
9513
|
+
<div style="border-top:1px solid #e5e7eb"></div>
|
|
9514
|
+
</td>
|
|
9515
|
+
</tr>
|
|
9516
|
+
|
|
9517
|
+
<!-- Main content -->
|
|
9518
|
+
<tr>
|
|
9519
|
+
<td style="padding:16px 32px 32px 32px">
|
|
9520
|
+
<!-- Title and Description -->
|
|
9521
|
+
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
|
9522
|
+
<tr>
|
|
9523
|
+
<td>
|
|
9524
|
+
<h1 style="margin:0;font-size:24px;font-weight:600;color:#111827;line-height:1.5">{{.Title}}</h1>
|
|
9525
|
+
{{if .Description}}
|
|
9526
|
+
<p style="margin:8px 0 0 0;font-size:16px;color:#6b7280;line-height:1.5">{{toHtml .Description}}</p>
|
|
9527
|
+
{{end}}
|
|
9528
|
+
</td>
|
|
9529
|
+
</tr>
|
|
9530
|
+
</table>
|
|
9531
|
+
|
|
9532
|
+
<!-- Divider after title -->
|
|
9533
|
+
<div style="border-top:1px solid #e5e7eb;margin:32px 0"></div>
|
|
9534
|
+
|
|
9535
|
+
<!-- Fields section -->
|
|
9536
|
+
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-bottom:30px">
|
|
9537
|
+
<tr>
|
|
9538
|
+
<td style="padding:16px 0;border-bottom:1px solid #e5e7eb;background-color:#ffffff">
|
|
9539
|
+
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
|
9540
|
+
<tr>
|
|
9541
|
+
<td width="120" style="font-weight:600;color:#374151;font-size:14px;vertical-align:top;padding-left:16px">Severity</td>
|
|
9542
|
+
<td style="color:#6b7280;font-size:14px;word-break:break-word;padding-right:16px"><span class="severity-{{.IncidentSeverity}}">{{.IncidentSeverity}}</span></td>
|
|
9543
|
+
</tr>
|
|
9544
|
+
</table>
|
|
9545
|
+
</td>
|
|
9546
|
+
</tr>
|
|
9547
|
+
|
|
9548
|
+
<tr>
|
|
9549
|
+
<td style="padding:16px 0;border-bottom:1px solid #e5e7eb;background-color:#ffffff">
|
|
9550
|
+
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
|
9551
|
+
<tr>
|
|
9552
|
+
<td width="120" style="font-weight:600;color:#374151;font-size:14px;vertical-align:top;padding-left:16px">Channel</td>
|
|
9553
|
+
<td style="color:#6b7280;font-size:14px;word-break:break-word;padding-right:16px">{{if .ChannelName}}{{.ChannelName}}{{else}}None{{end}}</td>
|
|
9554
|
+
</tr>
|
|
9555
|
+
</table>
|
|
9556
|
+
</td>
|
|
9557
|
+
</tr>
|
|
9558
|
+
|
|
9559
|
+
<tr>
|
|
9560
|
+
<td style="padding:16px 0;border-bottom:1px solid #e5e7eb;background-color:#ffffff">
|
|
9561
|
+
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
|
9562
|
+
<tr>
|
|
9563
|
+
<td width="120" style="font-weight:600;color:#374151;font-size:14px;vertical-align:top;padding-left:16px">Triggered at</td>
|
|
9564
|
+
<td style="color:#6b7280;font-size:14px;word-break:break-word;padding-right:16px">{{date "2006-01-02 15:04:05" .StartTime}}</td>
|
|
9565
|
+
</tr>
|
|
9566
|
+
</table>
|
|
9567
|
+
</td>
|
|
9568
|
+
</tr>
|
|
9569
|
+
|
|
9570
|
+
{{if .CreatorID}}
|
|
9571
|
+
<tr>
|
|
9572
|
+
<td style="padding:16px 0;border-bottom:1px solid #e5e7eb;background-color:#ffffff">
|
|
9573
|
+
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
|
9574
|
+
<tr>
|
|
9575
|
+
<td width="120" style="font-weight:600;color:#374151;font-size:14px;vertical-align:top;padding-left:16px">Creator</td>
|
|
9576
|
+
<td style="color:#6b7280;font-size:14px;word-break:break-word;padding-right:16px">{{.Creator.PersonName}}</td>
|
|
9577
|
+
</tr>
|
|
9578
|
+
</table>
|
|
9579
|
+
</td>
|
|
9580
|
+
</tr>
|
|
9581
|
+
{{end}}
|
|
9582
|
+
|
|
9583
|
+
{{if gt (len .Responders) 0}}
|
|
9584
|
+
<tr>
|
|
9585
|
+
<td style="padding:16px 0;border-bottom:1px solid #e5e7eb;background-color:#ffffff">
|
|
9586
|
+
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
|
9587
|
+
<tr>
|
|
9588
|
+
<td width="120" style="font-weight:600;color:#374151;font-size:14px;vertical-align:top;padding-left:16px">Responders</td>
|
|
9589
|
+
<td style="color:#6b7280;font-size:14px;word-break:break-word;padding-right:16px">{{range .Responders}}@{{.PersonName}} {{end}}</td>
|
|
9590
|
+
</tr>
|
|
9591
|
+
</table>
|
|
9592
|
+
</td>
|
|
9593
|
+
</tr>
|
|
9594
|
+
{{end}}
|
|
9595
|
+
|
|
9596
|
+
<tr>
|
|
9597
|
+
<td style="padding:16px 0;border-bottom:1px solid #e5e7eb;background-color:#ffffff">
|
|
9598
|
+
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
|
9599
|
+
<tr>
|
|
9600
|
+
<td width="120" style="font-weight:600;color:#374151;font-size:14px;vertical-align:top;padding-left:16px">Progress</td>
|
|
9601
|
+
<td style="color:#6b7280;font-size:14px;word-break:break-word;padding-right:16px"><span class="progress-{{.Progress}}">{{.Progress}}</span></td>
|
|
9602
|
+
</tr>
|
|
9603
|
+
</table>
|
|
9604
|
+
</td>
|
|
9605
|
+
</tr>
|
|
9606
|
+
|
|
9607
|
+
{{if .Labels.resource}}
|
|
9608
|
+
<tr>
|
|
9609
|
+
<td style="padding:16px 0;border-bottom:1px solid #e5e7eb;background-color:#ffffff">
|
|
9610
|
+
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
|
9611
|
+
<tr>
|
|
9612
|
+
<td width="120" style="font-weight:600;color:#374151;font-size:14px;vertical-align:top;padding-left:16px">Resource</td>
|
|
9613
|
+
<td style="color:#6b7280;font-size:14px;word-break:break-word;padding-right:16px">{{(joinAlertLabels . "resource" ", ")}}</td>
|
|
9614
|
+
</tr>
|
|
9615
|
+
</table>
|
|
9616
|
+
</td>
|
|
9617
|
+
</tr>
|
|
9618
|
+
{{end}}
|
|
9619
|
+
|
|
9620
|
+
{{if gt (len .Labels) 0}}
|
|
9621
|
+
<tr>
|
|
9622
|
+
<td style="padding:16px 0">
|
|
9623
|
+
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
|
9624
|
+
<tr>
|
|
9625
|
+
<td width="120" style="font-weight:600;color:#374151;font-size:14px;vertical-align:top;padding-left:16px">Labels</td>
|
|
9626
|
+
<td style="color:#6b7280;font-size:14px;word-break:break-word;padding-right:16px;background-color:#f9fafb;padding:16px">
|
|
9627
|
+
<pre style="margin:0;font-family:'Courier New',monospace;font-size:13px;color:#374151;white-space:pre-wrap;word-break:break-word">{{mustToPrettyJson .Labels}}</pre>
|
|
9628
|
+
</td>
|
|
9629
|
+
</tr>
|
|
9630
|
+
</table>
|
|
9631
|
+
</td>
|
|
9632
|
+
</tr>
|
|
9633
|
+
{{end}}
|
|
9634
|
+
</table>
|
|
9635
|
+
|
|
9636
|
+
<!-- Action buttons -->
|
|
9637
|
+
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-top:32px">
|
|
9638
|
+
<tr>
|
|
9639
|
+
<td width="48%" align="center" style="padding:0">
|
|
9640
|
+
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
|
|
9641
|
+
<tr>
|
|
9642
|
+
<td align="center" style="background-color:rgb(108,83,177);border-radius:6px;padding:14px 32px">
|
|
9643
|
+
<a href="{{.DetailUrl}}?ack=1" data-id="react-email-button" target="_blank" style="color:#ffffff;font-size:16px;font-weight:600;text-decoration:none;display:block">Acknowledge Now</a>
|
|
9644
|
+
</td>
|
|
9645
|
+
</tr>
|
|
9646
|
+
</table>
|
|
9647
|
+
</td>
|
|
9648
|
+
<td width="4%" style="padding:0"></td>
|
|
9649
|
+
<td width="48%" align="center" style="padding:0">
|
|
9650
|
+
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
|
|
9651
|
+
<tr>
|
|
9652
|
+
<td align="center" style="background-color:#ffffff;border:2px solid rgb(108,83,177);border-radius:6px;padding:14px 32px">
|
|
9653
|
+
<a href="{{.DetailUrl}}" data-id="react-email-button" target="_blank" style="color:rgb(108,83,177);font-size:16px;font-weight:600;text-decoration:none;display:block">View Details</a>
|
|
9654
|
+
</td>
|
|
9655
|
+
</tr>
|
|
9656
|
+
</table>
|
|
9657
|
+
</td>
|
|
9658
|
+
</tr>
|
|
9659
|
+
</table>
|
|
9660
|
+
</td>
|
|
9661
|
+
</tr>
|
|
9662
|
+
|
|
9663
|
+
<!-- Footer -->
|
|
9664
|
+
<tr>
|
|
9665
|
+
<td style="background-color:#f9fafb;padding:20px;text-align:center">
|
|
9666
|
+
<p style="margin:0;font-size:12px;color:#9ca3af">ALL RIGHTS RESERVED © FLASHCAT.CLOUD</p>
|
|
9667
|
+
</td>
|
|
9668
|
+
</tr>
|
|
9669
|
+
</table>
|
|
9670
|
+
</td>
|
|
9671
|
+
</tr>
|
|
9672
|
+
</table>
|
|
8681
9673
|
</body>
|
|
8682
|
-
|
|
8683
9674
|
</html>
|
|
8684
9675
|
\`\`\`
|
|
8685
9676
|
|
|
@@ -8687,7 +9678,7 @@ As shown in the image below:
|
|
|
8687
9678
|
|
|
8688
9679
|
<img src="https://download.flashcat.cloud/flashduty/changelog/20230720/email_render.png" alt="drawing" style="display: block; margin: 0 auto;" width="500"/>
|
|
8689
9680
|
|
|
8690
|
-
</div>`,
|
|
9681
|
+
</div>`,be=`---
|
|
8691
9682
|
title: "Link Integration"
|
|
8692
9683
|
description: "Through Link integration, you can quickly access external links by obtaining key parameters from incident attributes, labels, and other information"
|
|
8693
9684
|
date: "2025-05-19T10:00:00+08:00"
|
|
@@ -8744,4 +9735,208 @@ https://cmdb.com/vm?sn=VM123456
|
|
|
8744
9735
|
1. When referenced content does not exist, Link integration will still generate the corresponding link but will not be able to retrieve the value
|
|
8745
9736
|
2. Each channel can bind up to three Link integrations
|
|
8746
9737
|
3. Pay attention to reference syntax; improper variable reference formatting will result in failure to retrieve corresponding values
|
|
8747
|
-
`,
|
|
9738
|
+
`,ve=`Configure Label Mapping API to automatically call your external API when alert events arrive, enabling dynamic enrichment and correlation of alert information. With this feature, you can automatically attach information from external data sources such as CMDB, HR systems, and more to your alerts.
|
|
9739
|
+
|
|
9740
|
+
## I. Overview
|
|
9741
|
+
|
|
9742
|
+
The Label Mapping API allows you to build custom external services to enrich alert labels. The workflow is as follows:
|
|
9743
|
+
|
|
9744
|
+
1. Flashduty receives an alert event
|
|
9745
|
+
2. The system sends event information and the list of expected labels to your API based on configuration
|
|
9746
|
+
3. Your API queries external data sources (such as CMDB, databases, etc.)
|
|
9747
|
+
4. The API returns the computed enrichment labels
|
|
9748
|
+
5. Flashduty attaches the returned labels to the alert
|
|
9749
|
+
|
|
9750
|
+
<span id="ApiSpec"></span>
|
|
9751
|
+
|
|
9752
|
+
## II. API Specification
|
|
9753
|
+
|
|
9754
|
+
### Request Method
|
|
9755
|
+
|
|
9756
|
+
<div class="md-block">
|
|
9757
|
+
|
|
9758
|
+
POST, Content-Type:"application/json"
|
|
9759
|
+
|
|
9760
|
+
</div>
|
|
9761
|
+
|
|
9762
|
+
### Request Payload:
|
|
9763
|
+
|
|
9764
|
+
<div class="md-block">
|
|
9765
|
+
|
|
9766
|
+
| Field | Type | Required | Description |
|
|
9767
|
+
| :--------: | :-------------------: | :--: | :--------- |
|
|
9768
|
+
| result_label_keys | []string | Yes | List of expected label keys to return, configured by users in Flashduty |
|
|
9769
|
+
| event | [Event](#Event) | Yes | Complete information of the current alert event |
|
|
9770
|
+
|
|
9771
|
+
<span id="Event"></span>
|
|
9772
|
+
**Event**:
|
|
9773
|
+
|
|
9774
|
+
| Field | Type | Required | Description |
|
|
9775
|
+
| :--------: | :-------------------: | :--: | :--------- |
|
|
9776
|
+
| account_id | int64 | Yes | Account ID |
|
|
9777
|
+
| channel_id | int64 | Yes | Channel ID |
|
|
9778
|
+
| data_source_id | int64 | Yes | Data source ID |
|
|
9779
|
+
| data_source_type | string | Yes | Data source type, e.g., prometheus, zabbix, etc. |
|
|
9780
|
+
| title | string | Yes | Alert title |
|
|
9781
|
+
| title_rule | string | No | Title rule |
|
|
9782
|
+
| description | string | No | Alert description |
|
|
9783
|
+
| alert_key | string | Yes | Alert unique identifier |
|
|
9784
|
+
| alert_id | string | Yes | Alert ID |
|
|
9785
|
+
| event_severity | string | Yes | Event severity, enum: Critical, Warning, Info |
|
|
9786
|
+
| event_status | string | Yes | Event status, enum: Critical, Warning, Info, Ok |
|
|
9787
|
+
| event_time | int64 | Yes | Event time, Unix timestamp in seconds |
|
|
9788
|
+
| labels | map[string]string | No | Alert original label key-value pairs |
|
|
9789
|
+
| images | []string | No | List of alert-related images |
|
|
9790
|
+
|
|
9791
|
+
</div>
|
|
9792
|
+
|
|
9793
|
+
### Request Example
|
|
9794
|
+
|
|
9795
|
+
<div class="md-block">
|
|
9796
|
+
|
|
9797
|
+
\`\`\`json
|
|
9798
|
+
{
|
|
9799
|
+
"result_label_keys": ["owner_team", "service_tier", "host_ip"],
|
|
9800
|
+
"event": {
|
|
9801
|
+
"account_id": 1,
|
|
9802
|
+
"channel_id": 20,
|
|
9803
|
+
"data_source_id": 15,
|
|
9804
|
+
"data_source_type": "prometheus",
|
|
9805
|
+
"description": "CPU usage for instance '10.0.1.101:9100' is over 95%",
|
|
9806
|
+
"title": "High CPU Usage on instance 10.0.1.101:9100",
|
|
9807
|
+
"title_rule": "",
|
|
9808
|
+
"alert_key": "d41d8cd98f00b204e9800998ecf8427e",
|
|
9809
|
+
"alert_id": "62d6c0f6b8f1b2b3c4d5e6f7",
|
|
9810
|
+
"event_severity": "Critical",
|
|
9811
|
+
"event_status": "Critical",
|
|
9812
|
+
"event_time": 1678886400,
|
|
9813
|
+
"labels": {
|
|
9814
|
+
"region": "us-east-1",
|
|
9815
|
+
"service": "service-A",
|
|
9816
|
+
"env": "production",
|
|
9817
|
+
"instance": "10.0.1.101:9100"
|
|
9818
|
+
},
|
|
9819
|
+
"images": []
|
|
9820
|
+
}
|
|
9821
|
+
}
|
|
9822
|
+
\`\`\`
|
|
9823
|
+
|
|
9824
|
+
</div>
|
|
9825
|
+
|
|
9826
|
+
### Response Specification
|
|
9827
|
+
|
|
9828
|
+
<div class="md-block">
|
|
9829
|
+
|
|
9830
|
+
**Successful Response:**
|
|
9831
|
+
|
|
9832
|
+
| Field | Type | Required | Description |
|
|
9833
|
+
| :--------: | :-------------------: | :--: | :--------- |
|
|
9834
|
+
| result_labels | map[string]string | Yes | Returned enrichment label key-value object |
|
|
9835
|
+
|
|
9836
|
+
- HTTP Status Code: \`200 OK\`
|
|
9837
|
+
- Response body must be a JSON object containing the \`result_labels\` field
|
|
9838
|
+
- Keys in \`result_labels\` must be label names specified in the request's \`result_label_keys\`
|
|
9839
|
+
- If a label cannot be retrieved, it **should not** be included in the response
|
|
9840
|
+
|
|
9841
|
+
**Successful Response Example:**
|
|
9842
|
+
|
|
9843
|
+
\`\`\`json
|
|
9844
|
+
{
|
|
9845
|
+
"result_labels": {
|
|
9846
|
+
"owner_team": "team-database",
|
|
9847
|
+
"service_tier": "tier-1",
|
|
9848
|
+
"host_ip": "10.0.1.101"
|
|
9849
|
+
}
|
|
9850
|
+
}
|
|
9851
|
+
\`\`\`
|
|
9852
|
+
|
|
9853
|
+
**Failure Response:**
|
|
9854
|
+
|
|
9855
|
+
| Status Code | Meaning |
|
|
9856
|
+
| :--------: | :--------- |
|
|
9857
|
+
| 404 Not Found | No data available for enrichment based on the event information |
|
|
9858
|
+
| 400 Bad Request | Request body format error or event object missing required fields |
|
|
9859
|
+
| 5xx | Unexpected internal API error (e.g., database connection failure) |
|
|
9860
|
+
|
|
9861
|
+
> **Note:** Returning \`200 OK\` status code with an empty \`result_labels: {}\` object will also be treated as "no results", but using the \`404\` status code is the more standard approach.
|
|
9862
|
+
|
|
9863
|
+
</div>
|
|
9864
|
+
|
|
9865
|
+
<span id="ServiceConfig"></span>
|
|
9866
|
+
|
|
9867
|
+
## III. Configure Mapping Service
|
|
9868
|
+
|
|
9869
|
+
When configuring label mapping in Flashduty, you need to first create a mapping service, then reference that service in your label enrichment rules.
|
|
9870
|
+
|
|
9871
|
+
### Mapping Service Field Description
|
|
9872
|
+
|
|
9873
|
+
<div class="md-block">
|
|
9874
|
+
|
|
9875
|
+
| Field | Type | Required | Description |
|
|
9876
|
+
| :--------: | :-------------------: | :--: | :--------- |
|
|
9877
|
+
| api_name | string | Yes | Human-readable service name for selection and reference in the UI, e.g., "CMDB Asset Query API" |
|
|
9878
|
+
| description | string | No | Detailed description of the service |
|
|
9879
|
+
| url | string | Yes | API request URL, supports template variables |
|
|
9880
|
+
| headers | map[string]string | No | HTTP request headers for passing custom authentication, subject to [security blacklist](#HeaderBlacklist) restrictions |
|
|
9881
|
+
| timeout | int | No | Request timeout (in seconds),scope: 1~3 |
|
|
9882
|
+
| retry_count | int | No | Number of retries after request failure, ,scope: 0~1 |
|
|
9883
|
+
| insecure_skip_verify | bool | No | Skip certificate verification for HTTPS requests |
|
|
9884
|
+
| status | string | No | Service status, e.g., enabled, disabled |
|
|
9885
|
+
|
|
9886
|
+
</div>
|
|
9887
|
+
|
|
9888
|
+
### Label Enrichment Rule Configuration
|
|
9889
|
+
|
|
9890
|
+
When configuring label enrichment rules, you only need to focus on the following settings:
|
|
9891
|
+
|
|
9892
|
+
1. **result_label_keys**: Specify the list of labels you expect to retrieve from the API. Flashduty will automatically combine this list with the current \`event\` object into a request body and send it to your API
|
|
9893
|
+
2. **Mapping Service**: Select or configure the API service URL, Headers, and other information
|
|
9894
|
+
|
|
9895
|
+
<span id="HeaderBlacklist"></span>
|
|
9896
|
+
|
|
9897
|
+
## IV. Header Security Constraints
|
|
9898
|
+
|
|
9899
|
+
To prevent security bypasses, request smuggling, IP spoofing, and cache poisoning, the following Headers are **prohibited** when customizing API request headers. The system gateway will automatically filter or reject requests containing these Headers.
|
|
9900
|
+
|
|
9901
|
+
<div class="md-block">
|
|
9902
|
+
|
|
9903
|
+
| Category | Blacklisted Headers | Risk Description |
|
|
9904
|
+
| :--- | :--- | :--- |
|
|
9905
|
+
| **Authentication & Authorization** | \`authorization\`, \`proxy-authorization\`, \`cookie\`, \`x-api-key\`, \`x-access-token\` | Prevents credential leakage or unauthorized hijacking of existing authentication contexts |
|
|
9906
|
+
| **IP & Geolocation Spoofing** | \`x-forwarded-for\`, \`x-real-ip\`, \`true-client-ip\`, \`x-client-ip\` | Prevents clients from spoofing source IP to bypass rate limits or allowlists/blocklists |
|
|
9907
|
+
| **Host & Routing Manipulation** | \`host\`, \`x-forwarded-host\`, \`x-forwarded-proto\`, \`x-internal-id\`, \`x-user-id\` | Prevents Host injection attacks, redirect loops, or spoofing internal system IDs |
|
|
9908
|
+
| **Protocol & Request Smuggling** | \`transfer-encoding\`, \`upgrade\`, \`connection\` | Prevents request smuggling attacks exploiting HTTP protocol differences |
|
|
9909
|
+
|
|
9910
|
+
</div>
|
|
9911
|
+
|
|
9912
|
+
### Header Best Practices
|
|
9913
|
+
|
|
9914
|
+
1. **Allowlist Mode**: It is recommended to only allow custom Headers prefixed with \`X-Custom-\` or \`X-Enrich-\`
|
|
9915
|
+
2. **Length Limits**: The Key length of a single Header should not exceed 1024 bytes, the Value length of a single Header should not exceed 4096 bytes
|
|
9916
|
+
3. **Format Validation**: Header Values must not contain line breaks (\`\\r\`, \`\\n\`) to prevent Header injection attacks
|
|
9917
|
+
|
|
9918
|
+
## V. Best Practices
|
|
9919
|
+
|
|
9920
|
+
1. **Performance First:** This API is on the critical path of alert processing and must ensure low latency. Queries to external data sources should be as fast as possible, and implementing caching is recommended.
|
|
9921
|
+
|
|
9922
|
+
2. **Clear Error Handling:** Make good use of HTTP status codes (especially \`404\`) to convey clear execution results.
|
|
9923
|
+
|
|
9924
|
+
3. **Idempotency:** The API design should be as idempotent as possible. Multiple calls for the same \`event\` should return the same result.
|
|
9925
|
+
|
|
9926
|
+
4. **Security:** The API must be protected through authentication and authorization mechanisms. Using custom Headers (e.g., \`X-Custom-Auth\`) for passing authentication information is recommended.
|
|
9927
|
+
|
|
9928
|
+
## VI. FAQ
|
|
9929
|
+
|
|
9930
|
+
1. **Is there a response timeout for the service?**
|
|
9931
|
+
|
|
9932
|
+
- The service must respond within the configured timeout period; exceeding this is considered a failure
|
|
9933
|
+
|
|
9934
|
+
2. **What happens if the API returns a failure?**
|
|
9935
|
+
|
|
9936
|
+
- The alert will be processed normally, but no enrichment labels will be attached
|
|
9937
|
+
- Based on the configured retry count, the system may retry the request
|
|
9938
|
+
|
|
9939
|
+
3. **Can result_label_keys be changed dynamically?**
|
|
9940
|
+
|
|
9941
|
+
- Yes, you can modify the list of expected labels in Flashduty at any time without modifying the API code
|
|
9942
|
+
`,we={CustomAlert:n,Email:t,N9e:a,Prometheus:o,Grafana:i,Zabbix:s,UptimeKuma:r,AliyunARMS:l,AliyunCmEvent:d,AliyunCm:c,AliyunSLS:e,AWSCW:e,AzureMonitor:u,BaiDuBCM:h,HuaWeiCES:g,InfluxDB:p,OpenFalcon:m,PagerDuty:f,TencentBK:y,TencentCLS:b,TencentCm:v,TencentEb:w,OceanBase:C,Graylog:k,Skywalking:I,Sentry:S,Jiankongbao:A,AWSEventBridge:x,Dynatrace:F,HuaweiyunLTS:_,GoogleCM:R,Zilliz:G,Splunk:L,AppDynamics:T,SolarWinds:U,VolcEngineMetric:E,VolcEngineEvent:P,VolcEngineTLS:N,OpManager:D,Meraki:M,StateCloud:W,Guance:q,CustomChange:oe,Jira:ie,Lark:se,Dingtalk:re,Wecom:le,Slack:de,MicrosoftTeams:ce,AlertWebhook:ue,IncidentWebhook:he,CustomAction:ge,Templates:ye,HuaweiyunAPM:O,JiraSync:pe,ZStack:$,Keep:H,ElastAlert2:j,DingtalkAlert:Y,FeishuAlert:z,VolcEngineDetect:B,Link:be,ServiceNowSync:me,Monit:V,Rum:K,Cloudflare:J,WecomAlert:Z,ServiceDeskPlusSync:fe,Harbor:Q,LabelMappingAPI:ve,VolcEngineRTC:X,UcloudCloudWatch:ee,Nagios:ne,JDCloudMonitor:te,AliyunPrometheus:ae};module.exports=we;
|