flashduty-knowledge-base 1.3.4 → 1.3.6

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/dist/iife/zh.js CHANGED
@@ -86,6 +86,15 @@ POST, Content-Type:"application/json"
86
86
  | alert_key | 否 | string | 告警标识,用于对已经存在的告警进行更新或自动恢复。<br><br>您可以自定义此值,但不可超过\`255\`个字符。您也可以依赖系统自动生成,该值会在响应中返回。<br><br>如果您上报的是恢复事件,则此值必须存在。
87
87
  | description | 否 | string | 告警描述,不超过\`2048\`个字符,超出后将自动截断。
88
88
  | labels | 否 | map | 告警标签集合,key 为标签名称,value 为标签值:<br><br>1. 标签的 key 和 value 均为 string 类型,区分大小写。<br>2. 标签的 key 不要超过\`128\`个字符,遵循Prometheus标签命名规范。value 不超过\`2048\`个字符,超出后将自动截断。<br>3. 至多传入\`50\`个标签。\`标签内容参考\`[最佳实践](#最佳实践)。<br><br>示例:"resource": "171.26.23.22", "check": "api latency > 500ms"
89
+ | images | 否 | [][image](#image) | 图片数组,可用于前端或飞书和钉钉应用通知的图片展示。系统根据 alt 进行合并覆盖,相同(包括空字符)的alt只保留一条
90
+
91
+ #### image 结构体 <span id="image"></span>
92
+
93
+ 字段|必含|类型|释义
94
+ :-:|:-:|:-:|:---
95
+ | alt | 否 | string | 图片的替代文本, 长度限制 128 字符,超长截断。
96
+ | src | 是 | string | 图片来源,值:http/https 开头的图片链接地址 或 [图片上传接口](https://developer.flashcat.cloud/api-344943718)返回的image_key,长度限制 256 字符,超长会被丢弃
97
+ | href | 否 | string | 超链接引用路径,长度限制 256 字符,超长截断
89
98
 
90
99
  </div>
91
100
 
@@ -289,7 +298,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/email-integration-guide"
289
298
 
290
299
  配置示例:
291
300
 
292
- - 接收所有邮件,当邮件内容中包含 **RESOVED** 字样时,关闭告警,否则触发新告警;
301
+ - 接收所有邮件,当邮件内容中包含 **RESOLVED** 字样时,关闭告警,否则触发新告警;
293
302
  - Alert Key 从邮件标题中提取,规则为 **/(.\\*)/**。
294
303
 
295
304
  <img src="https://download.flashcat.cloud/flashduty/integration/email/send-mode.png" alt="drawing" width="800"/>
@@ -397,7 +406,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/nightingale-integration-guide"
397
406
  #### 步骤 1:添加通知媒介
398
407
 
399
408
  1. 登录您的 n9e 控制台,选择 告警管理 > 通知媒介,并点击新增。
400
- 2. 填写媒介名称和标识,选择 **FlashDuty** 类型,\`URL\` 填写 Flashduty 的 \`推送地址\`。
409
+ 2. 填写媒介名称和标识,选择 **Flashduty** 类型,\`URL\` 填写 Flashduty 的 \`推送地址\`。
401
410
  3. 点击 **保存** 后,完成。
402
411
 
403
412
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/zh/fd/n9e-1.png" />
@@ -406,7 +415,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/nightingale-integration-guide"
406
415
 
407
416
  1. 登录您的 n9e 控制台,选择 告警管理 > 通知规则,并点击新增或编辑已有的告警规则。
408
417
  2. 基础信息部分按需配置即可。
409
- 3. 在通知配置中选择上一步添加的 \`FlashDuty\` 通知媒介。
418
+ 3. 在通知配置中选择上一步添加的 \`Flashduty\` 通知媒介。
410
419
  4. 选择通过此规则生成的告警应发送到的协作空间(协作空间需提前在 [Flashduty](https://console.flashcat.cloud/channel) 中创建),其他按需选择。
411
420
  5. 点击 **保存** 后,完成。
412
421
 
@@ -415,7 +424,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/nightingale-integration-guide"
415
424
  #### 步骤 3:告警规则中选择通知规则
416
425
 
417
426
  1. 登录您的 n9e 控制台,选择 告警管理 > 告警规则,并点击新增或编辑已有的告警规则。
418
- 2. 在通知配置中选择上一步添加的 \`FlashDuty\` 通知规则,其他按需选择。
427
+ 2. 在通知配置中选择上一步添加的 \`Flashduty\` 通知规则,其他按需选择。
419
428
  3. 点击 **保存** 后,完成。
420
429
 
421
430
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/zh/fd/n9e-3.png" />
@@ -907,7 +916,7 @@ media type 必须关联至某个 user 才能发送事件。user 至少拥有对
907
916
  1. 登录 Zabbix 控制台,选择 \`Users > Users\`,选择 Admin 用户,选择 media,选择 Add,进入编辑窗口:
908
917
 
909
918
  - Type: 选择以上创建的快猫星云 media type
910
- - Send To:填写 FlashDuty
919
+ - Send To:填写 Flashduty
911
920
  - 其他配置使用默认配置,保持不变
912
921
 
913
922
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/zabbix-3.png" />
@@ -925,7 +934,7 @@ media type 必须关联至某个 user 才能发送事件。user 至少拥有对
925
934
 
926
935
  1. 点击 \`Create action\`,进入 action 编辑页面
927
936
 
928
- - Name:填写为“Send To FlashDuty
937
+ - Name:填写为“Send To Flashduty
929
938
 
930
939
  2. 选择 \`Operations\`,分别添加三种场景的通知发送配置:
931
940
 
@@ -1017,7 +1026,7 @@ media type 必须关联至某个 user 才能发送事件。user 至少拥有对
1017
1026
 
1018
1027
  1. 点击 \`Create action\`,进入 action 编辑页面
1019
1028
 
1020
- - Name:填写为“Send To FlashDuty
1029
+ - Name:填写为“Send To Flashduty
1021
1030
 
1022
1031
  2. 选择 \`Operations\`,分别添加三种场景的通知发送配置:
1023
1032
 
@@ -1063,7 +1072,7 @@ media type 必须关联至某个 user 才能发送事件。user 至少拥有对
1063
1072
  - \`{ALERT.SUBJECT}\`:告警标题,保持在第一个参数
1064
1073
  - \`{ALERT.MESSAGE}\`:告警信息,保持在第二个参数
1065
1074
 
1066
- - \`FlashDuty webhook 推送请求地址\`,复制集成的推送地址即可,保持在第三个参数
1075
+ - \`Flashduty webhook 推送请求地址\`,复制集成的推送地址即可,保持在第三个参数
1067
1076
  - \`Zabbix 控制台地址\`,直接复制即可(如果您的页面配置了 tomcat/nginx 转发路径,请同时携带),用于生成告警详情页面连接。如果没有空着即可,保持在第四个参数
1068
1077
  - \`HTTPProxy\`:如果您的 Zabbix Server 不能直接访问快猫星云服务,可以将该参数设置为一个代理地址。如果没有空着即可,保持在第五个参数
1069
1078
 
@@ -1117,7 +1126,7 @@ media type 必须关联至某个 user 才能发送事件。user 至少拥有对
1117
1126
 
1118
1127
  1. 点击\`Create action\`,进入 action 编辑页面
1119
1128
 
1120
- - Name:填写为“Send To FlashDuty
1129
+ - Name:填写为“Send To Flashduty
1121
1130
 
1122
1131
  2. 选择 \`Operations\`,分别更新三种场景的通知用户配置:
1123
1132
 
@@ -1132,11 +1141,11 @@ media type 必须关联至某个 user 才能发送事件。user 至少拥有对
1132
1141
 
1133
1142
  3. 选择 \`Operations\`,分别更新三种场景的通知内容配置:
1134
1143
 
1135
- - **在 Default Message 配置项,完整复制以下内容,粘贴在默认内容之后**,FlashDuty 收到事件后将解析对应文字,找到告警属性信息:
1144
+ - **在 Default Message 配置项,完整复制以下内容,粘贴在默认内容之后**,Flashduty 收到事件后将解析对应文字,找到告警属性信息:
1136
1145
 
1137
1146
  \`\`\`
1138
1147
 
1139
- -----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-----
1148
+ -----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-----
1140
1149
 
1141
1150
  \`\`\`
1142
1151
 
@@ -1230,7 +1239,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/uptime-kuma-integration-guide"
1230
1239
  **步骤 1:设置通知渠道**
1231
1240
 
1232
1241
  1. 进入 \`Settings -> Notifications\` 页面,单击 Setup 进行编辑,如下图所示;
1233
- 2. \`Notification Type\` 选择 \`FlashDuty( Flashduty )\`;
1242
+ 2. \`Notification Type\` 选择 \`Flashduty( Flashduty )\`;
1234
1243
  3. \`Integration Key\` 复制写入集成推送地址中的 integration_key 参数值;
1235
1244
  4. \`Severity\` 为严重程度,按需选择;
1236
1245
  5. 提交保存
@@ -1243,7 +1252,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/uptime-kuma-integration-guide"
1243
1252
 
1244
1253
  1. 点击 \`Add New Monitor\` 或编辑已有的监控项,按需完成监控配置;
1245
1254
  2. 如图,右侧 \`Notifications\` 部分启用上一步创建的通知方式;
1246
- 3. 如需设置标签,可以添加 \`Tags\`,注意仅同时存在 Key/Value 的标签才会推送到 FlashDuty
1255
+ 3. 如需设置标签,可以添加 \`Tags\`,注意仅同时存在 Key/Value 的标签才会推送到 Flashduty
1247
1256
  4. 提交保存,等待告警触发。
1248
1257
 
1249
1258
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/uptime-kuma/monitor.png" />
@@ -1647,7 +1656,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/aliyun-sls-integration-guide"
1647
1656
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/aliyun-sls/aliyun-sls-update-alert-rule.jpg" />
1648
1657
 
1649
1658
  4. 点击\`确定\`按钮,提交保存
1650
- 5. 针对所有其他规则,重复上述步骤,可以将全部告警推送到 FlashDuty
1659
+ 5. 针对所有其他规则,重复上述步骤,可以将全部告警推送到 Flashduty
1651
1660
 
1652
1661
  </div>
1653
1662
 
@@ -1719,10 +1728,10 @@ url: "https://docs.flashcat.cloud/zh/flashduty/aws-cloudwatch-integration-guide"
1719
1728
 
1720
1729
  1. 登录您的 AWS 控制台,检索 \`Simple Notification Service\` 产品,并进入对应产品控制台
1721
1730
  2. 进入 \`Topics\` 页面,单击 \`Create topic\` 按钮,开始创建主题
1722
- 3. \`Type\` 选择 \`Standard\`,填写名称为 \`FlashDuty\`
1731
+ 3. \`Type\` 选择 \`Standard\`,填写名称为 \`Flashduty\`
1723
1732
  4. 点击 \`Create Topic\` 按钮,完成主题创建
1724
1733
  5. 进入 \`Subscriptions\` 页面,单击 \`Create subscription\` 按钮,为主题创建订阅
1725
- 6. \`Topic ARN\` 选择 \`FlashDuty\`,\`Protocal\` 选择 \`HTTPS\`,\`Endpoint\` 填写集成的推送地址(当前页面填写集成名称,保存后即可生成地址)
1734
+ 6. \`Topic ARN\` 选择 \`Flashduty\`,\`Protocal\` 选择 \`HTTPS\`,\`Endpoint\` 填写集成的推送地址(当前页面填写集成名称,保存后即可生成地址)
1726
1735
  7. 点击 \`Create subscription\` 按钮,完成订阅创建
1727
1736
 
1728
1737
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/aws-cloudwatch-subscribe.png" />
@@ -1730,7 +1739,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/aws-cloudwatch-integration-guide"
1730
1739
  8. 回到 \`Subscriptions\` 页面,当订阅状态为 \`Confirmed\`,说明订阅地址校验成功,否则请联系 Flashduty
1731
1740
  9. 检索 \`CloudWatch\` 产品,并进入对应产品控制台
1732
1741
  10. 进入 \`All alrams\` 页面,选择创建或编辑已有的告警策略
1733
- 11. 对于 \`Notification\` 这一步,\`In alarm\`、\`OK\` 和 \`Insufficient data\` 三种状态推送目标 \`SNS topic\` 均选择 \`FlashDuty\`,如下图所示:
1742
+ 11. 对于 \`Notification\` 这一步,\`In alarm\`、\`OK\` 和 \`Insufficient data\` 三种状态推送目标 \`SNS topic\` 均选择 \`Flashduty\`,如下图所示:
1734
1743
 
1735
1744
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/aws-cloudwatch-alram.png" />
1736
1745
 
@@ -1968,7 +1977,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/huawei-ces-integration-guide"
1968
1977
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/huawei-ces-create-notify-obj.png" />
1969
1978
 
1970
1979
  5. 进入 \`告警-告警通知-通知组\` 页面,单击 \`创建通知组\` 按钮
1971
- 6. 组名称填写 \`FlashDuty\`,通知对象勾选前边创建的 \`flashduty\`
1980
+ 6. 组名称填写 \`Flashduty\`,通知对象勾选前边创建的 \`flashduty\`
1972
1981
  7. 点击 \`确定\` 按钮,完成通知组创建
1973
1982
 
1974
1983
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/huawei-ces-create-notify-group.png" />
@@ -1976,7 +1985,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/huawei-ces-integration-guide"
1976
1985
  注意,创建通知组时,华为云会发起请求到 Flashduty,验证推送地址,查看通知组的通知对象列表,仅当通知对象状态为 \`已确认\` 时,才会正常推送告警
1977
1986
 
1978
1987
  8. 进入 \`告警-告警规则\` 页面,选择已有的告警规则进行编辑,或者创建新的告警规则,打开 \`告警规则详情\` 页面
1979
- 9. 其中 \`通知组\` 选择 \`FlashDuty\`,触发条件勾选 \`出现告警\` 和 \`恢复正常\`。点击 \`确定\` 按钮,保存修改
1988
+ 9. 其中 \`通知组\` 选择 \`Flashduty\`,触发条件勾选 \`出现告警\` 和 \`恢复正常\`。点击 \`确定\` 按钮,保存修改
1980
1989
 
1981
1990
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/huawei-ces-create-alarm.png" />
1982
1991
 
@@ -2062,7 +2071,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/influxdata-integration-guide"
2062
2071
  #### 步骤1:创建告警通道
2063
2072
  1. 登录您的 \`Influxdata\` 控制台,进去 \`Alerts > Notifycation Endpoints\` 页面。
2064
2073
  2. 点击 \`Create\` 创建告警通知通道。
2065
- 3. \`Destination\` 选择 \`HTTP\`,\`Name\` 输入 \`FlashDuty\`。
2074
+ 3. \`Destination\` 选择 \`HTTP\`,\`Name\` 输入 \`Flashduty\`。
2066
2075
  4. \`HTTP Method\` 选择 \`POST\`,\`URL\` 输入集成的推送地址。
2067
2076
 
2068
2077
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/influxdb-1.png" />
@@ -2071,7 +2080,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/influxdata-integration-guide"
2071
2080
  1. 登录您的 \`Influxdata\` 控制台,进去 \`Alerts > Notifycation Rules\` 页面。
2072
2081
  2. 点击 \`Create\` 创建告警通知规则。
2073
2082
  3. \`About\` 和 \`Conditions\` 按需配置即可。
2074
- 4. \`Message\` 选择步骤1创建的 \`FlashDuty\`。
2083
+ 4. \`Message\` 选择步骤1创建的 \`Flashduty\`。
2075
2084
 
2076
2085
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/influxdb-2.png" />
2077
2086
 
@@ -2339,7 +2348,7 @@ filter:
2339
2348
  query_string:
2340
2349
  query: "created_at:*"
2341
2350
 
2342
- # ------- FlashDuty ----------------
2351
+ # ------- Flashduty ----------------
2343
2352
  alert: pagerduty
2344
2353
  pagerduty_service_key: xxx
2345
2354
  pagerduty_client_name: wahaha
@@ -2349,7 +2358,7 @@ pagerduty_v2_payload_component: mysql
2349
2358
  pagerduty_v2_payload_group: app-stack
2350
2359
  pagerduty_v2_payload_severity: error
2351
2360
  pagerduty_v2_payload_source: mysql.host.name
2352
- # ------- FlashDuty ----------------
2361
+ # ------- Flashduty ----------------
2353
2362
  \`\`\`
2354
2363
 
2355
2364
  4. 步骤 4:重启 ElastAlert,等待告警触发
@@ -2406,7 +2415,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/tencent-bk-integration-guide"
2406
2415
  ---
2407
2416
  以下内容已经在\`蓝鲸V6/7版本\`完成验证,V5 及以下版本官方已不再支持,建议您升级。
2408
2417
 
2409
- 蓝鲸告警策略可以触发\`处理套餐\`,处理套餐可与周边系统打通,来完成复杂功能。我们首先创建一个处理套餐,配置 FlashDuty 的回调地址,然后编辑告警策略,关联动作到该处理套餐,实现告警变更自动推送到 FlashDuty。具体步骤如下:
2418
+ 蓝鲸告警策略可以触发\`处理套餐\`,处理套餐可与周边系统打通,来完成复杂功能。我们首先创建一个处理套餐,配置 Flashduty 的回调地址,然后编辑告警策略,关联动作到该处理套餐,实现告警变更自动推送到 Flashduty。具体步骤如下:
2410
2419
 
2411
2420
  #### 步骤 1、创建处理套餐
2412
2421
 
@@ -2414,7 +2423,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/tencent-bk-integration-guide"
2414
2423
 
2415
2424
  1. 登录您的蓝鲸智云桌面,进入\`监控平台\`;
2416
2425
  2. 进入\`配置-处理套餐\`页面,单击\`添加套餐\`按钮,开始创建处理套餐;
2417
- 3. 填写名称为\`Send To FlashDuty\`,套餐类型选择\`HTTP回调\`,推送方式选择\`POST\`,并填写集成的推送地址(保存集成后获得),如下图所示:
2426
+ 3. 填写名称为\`Send To Flashduty\`,套餐类型选择\`HTTP回调\`,推送方式选择\`POST\`,并填写集成的推送地址(保存集成后获得),如下图所示:
2418
2427
 
2419
2428
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/tencent-bk/create_package.jpg" />
2420
2429
 
@@ -2432,12 +2441,12 @@ url: "https://docs.flashcat.cloud/zh/flashduty/tencent-bk-integration-guide"
2432
2441
  <div class="md-block">
2433
2442
 
2434
2443
  1. 进入\`配置-告警策略\`页面,选择一个已有的策略进行编辑,或新建一个告警策略;
2435
- 2. 下拉到\`告警处理\`部分,三种场景均选择\`Send To FlashDuty\`处理套餐,并关闭\`防御规则\`,如下图:
2444
+ 2. 下拉到\`告警处理\`部分,三种场景均选择\`Send To Flashduty\`处理套餐,并关闭\`防御规则\`,如下图:
2436
2445
 
2437
2446
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/tencent-bk/update_alert_rule.jpg" />
2438
2447
 
2439
2448
  3. 提交保存,完成;
2440
- 4. 对于其他想要推送到 FlashDuty 的告警,重复以上步骤。
2449
+ 4. 对于其他想要推送到 Flashduty 的告警,重复以上步骤。
2441
2450
 
2442
2451
  </div>
2443
2452
 
@@ -2577,7 +2586,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/tencent-cls-integration-guide"
2577
2586
  "record_group_id": "{{escape .RecordGroupId}}",
2578
2587
  "detail_url": "{{escape .DetailUrl}}",
2579
2588
  "query_url": "{{escape .QueryUrl}}",
2580
- "message": {{.Message}},
2589
+ "message": "{{.Message}}",
2581
2590
  "query_result": {{.QueryResult}},
2582
2591
  "query_log": {{.QueryLog}},
2583
2592
  "analysis_result": {{.AnalysisResult}}
@@ -2727,7 +2736,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/tencent-event-bridge-integration-
2727
2736
 
2728
2737
  1. 登录您的腾讯云控制台,选择事件总线产品
2729
2738
  2. 进入 事件规则 页面,单击 新建 按钮,开始编辑规则
2730
- 3. 填写名称为 FlashDuty,如下图所示:
2739
+ 3. 填写名称为 Flashduty,如下图所示:
2731
2740
 
2732
2741
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/tencent-eb-new-rule.png" />
2733
2742
 
@@ -2830,12 +2839,12 @@ url: "https://docs.flashcat.cloud/zh/flashduty/oceanbase-integration-guide"
2830
2839
 
2831
2840
  <img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/oceanbase-1.png" />
2832
2841
 
2833
- 5. 配置通道中复制以下脚本内容,同时**请将脚本中的 integration_key 参数补充上 FlashDuty 推送地址中的 integration_key 值**。
2842
+ 5. 配置通道中复制以下脚本内容,同时**请将脚本中的 integration_key 参数补充上 Flashduty 推送地址中的 integration_key 值**。
2834
2843
 
2835
2844
  \`\`\`
2836
2845
  #!/usr/bin/env bash
2837
2846
 
2838
- function sendToFlashDuty() {
2847
+ function sendToFlashduty() {
2839
2848
  URL="\${address}/event/push/alert/standard?integration_key=\${integration_key}"
2840
2849
  curl -s -X POST \${URL} -H 'Content-Type: application/json' -d '{
2841
2850
  "event_status": "'\${alert_level}'",
@@ -2905,7 +2914,7 @@ fi
2905
2914
 
2906
2915
  #只有状态是告警中或恢复告警才发通知,屏蔽或抑制的不发通知
2907
2916
  if [[ \${statusMd5} == \${active} || \${statusMd5} == \${Inactive} ]];then
2908
- sendToFlashDuty
2917
+ sendToFlashduty
2909
2918
  fi
2910
2919
  \`\`\`
2911
2920
 
@@ -2944,7 +2953,7 @@ OCP告警通知-单条告警
2944
2953
  <img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/oceanbase-2.png" />
2945
2954
 
2946
2955
  3. 推送语言选择 **简体中文**。
2947
- 4. 告警通道选择 **FlashDuty** 。
2956
+ 4. 告警通道选择 **Flashduty** 。
2948
2957
  5. 开启 **恢复通知**。
2949
2958
  6. 提交。
2950
2959
 
@@ -3044,7 +3053,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/graylog-integration-guide"
3044
3053
 
3045
3054
  <img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/graylog-2.png" />
3046
3055
 
3047
- 6. 输入 FlashDuty 获取到的 URL (第一次输入需要对 URL 加白)。
3056
+ 6. 输入 Flashduty 获取到的 URL (第一次输入需要对 URL 加白)。
3048
3057
 
3049
3058
  <img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/graylog-3.png" />
3050
3059
 
@@ -3056,11 +3065,11 @@ url: "https://docs.flashcat.cloud/zh/flashduty/graylog-integration-guide"
3056
3065
 
3057
3066
  <img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/graylog-5.png" />
3058
3067
 
3059
- ### 步骤2:在告警事件中使用 FlashDuty 告警通道
3068
+ ### 步骤2:在告警事件中使用 Flashduty 告警通道
3060
3069
  1. 创建或编辑已有的 Event Definition。
3061
3070
  2. 此处省略其他告警配置(按业务需求配置告警条件)。
3062
3071
  3. 在 Notifications 配置通道。
3063
- 4. Add Notifition 选择 FlashDuty 通道。
3072
+ 4. Add Notifition 选择 Flashduty 通道。
3064
3073
  5. 点击 Done。
3065
3074
  6. 下一步完成即可。
3066
3075
 
@@ -3147,7 +3156,7 @@ rules:
3147
3156
  tags:
3148
3157
  level: Warning
3149
3158
  \`\`\`
3150
- 4. 添加 FlashDuty 的 webhook 地址。
3159
+ 4. 添加 Flashduty 的 webhook 地址。
3151
3160
 
3152
3161
  \`\`\`
3153
3162
  # 在配置文件底部添加
@@ -3237,12 +3246,12 @@ Sentry 提供了两类告警机制:Issue Alerts 和 Metric Alerts。Issue Aler
3237
3246
 
3238
3247
  ## 二、Sentry 告警推送配置
3239
3248
 
3240
- ### 步骤1:添加 FlashDuty Custom Integrations
3249
+ ### 步骤1:添加 Flashduty Custom Integrations
3241
3250
 
3242
3251
  1. 登录 Sentry 管理控制台。
3243
3252
  2. 在左侧导航栏,找到 **Settings => Custom Integrations**。
3244
3253
  3. 点击 Create New Integration 并选择 **Internal Integration**。
3245
- 4. 在编辑页面。**Name 处填写 FlashDuty,WebhookURL 处复制写入集成的推送地址**。
3254
+ 4. 在编辑页面。**Name 处填写 Flashduty,WebhookURL 处复制写入集成的推送地址**。
3246
3255
  5. 开启 **Alert Rule Action**,参考如下图配置:
3247
3256
 
3248
3257
  <img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/sentry-1.png" />
@@ -3255,11 +3264,11 @@ Sentry 提供了两类告警机制:Issue Alerts 和 Metric Alerts。Issue Aler
3255
3264
  <img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/sentry-2.png" />
3256
3265
 
3257
3266
  **关于 WEBHOOKS 配置的特殊说明:**
3258
- 1. 勾选 **issue** 后 FlashDuty 可以接收 issue 的 resolved 事件,即在 issue 列表中对某个问题进行手动触发 resolved 时,我们会自动恢复 FlashDuty 中关联的故障。
3267
+ 1. 勾选 **issue** 后 Flashduty 可以接收 issue 的 resolved 事件,即在 issue 列表中对某个问题进行手动触发 resolved 时,我们会自动恢复 Flashduty 中关联的故障。
3259
3268
  2. 不支持 issue 的其他事件,如 create、assigned、archived 和 unresolved。
3260
- 3. 如果同时勾选了 error 和 comment ,FlashDuty 并不会接收和处理这类事件。
3269
+ 3. 如果同时勾选了 error 和 comment ,Flashduty 并不会接收和处理这类事件。
3261
3270
 
3262
- ### 步骤2:在 Alerts 中使用 FlashDuty Integration
3271
+ ### 步骤2:在 Alerts 中使用 Flashduty Integration
3263
3272
  1. 在左侧导航栏,找到 **Alerts => Create Alert**。
3264
3273
  2. 选择要创建的 Alert 类型,如 Issue 。
3265
3274
 
@@ -3271,7 +3280,7 @@ Sentry 提供了两类告警机制:Issue Alerts 和 Metric Alerts。Issue Aler
3271
3280
 
3272
3281
  <img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/sentry-4.png" />
3273
3282
 
3274
- 5. 通知渠道选择上面添加的 **FlashDuty**。
3283
+ 5. 通知渠道选择上面添加的 **Flashduty**。
3275
3284
 
3276
3285
 
3277
3286
  <img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/sentry-5.png" />
@@ -3356,7 +3365,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/jiankongbao-integration-guide"
3356
3365
 
3357
3366
  <img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/jkb-2.png" />
3358
3367
 
3359
- 4. 自定义名称输入 FlashDuty,回调 URL 输入复制集成的推送地址。
3368
+ 4. 自定义名称输入 Flashduty,回调 URL 输入复制集成的推送地址。
3360
3369
  5. 回调方式选择 **POST**,数据格式选择 **JSON**。
3361
3370
  6. 勾选**开启 URL 回调**,其他按需选择即可,参考下图配置。
3362
3371
 
@@ -3365,10 +3374,10 @@ url: "https://docs.flashcat.cloud/zh/flashduty/jiankongbao-integration-guide"
3365
3374
  7. 点击保存。
3366
3375
 
3367
3376
 
3368
- ### 步骤2:在监控任务使用 FlashDuty 告警通道
3377
+ ### 步骤2:在监控任务使用 Flashduty 告警通道
3369
3378
  1. 创建或编辑已有的监控任务。
3370
3379
  2. 此处省略其他告警配置。
3371
- 3. 在 Webhook 通知处,选择 FlashDuty 通道。
3380
+ 3. 在 Webhook 通知处,选择 Flashduty 通道。
3372
3381
 
3373
3382
  <img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/jkb-4.png" />
3374
3383
 
@@ -3449,10 +3458,10 @@ url: "https://docs.flashcat.cloud/zh/flashduty/aws-eventbridge-integration-guide
3449
3458
 
3450
3459
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/aws-eb-3.png" />
3451
3460
 
3452
- 4. 在 \`Connection details\` 部分中,\`Connection name\` 处填写 \`FlashDuty\`。
3461
+ 4. 在 \`Connection details\` 部分中,\`Connection name\` 处填写 \`Flashduty\`。
3453
3462
  5. 在 \`Authorization\` 部分中,\`Destination type\` 选择 \`Other\`。
3454
3463
  6. \`Authorization type\` 选择 \`API Key\`。
3455
- 7. \`API key name\` 填写 \`FlashDuty\`,\`Value\` 填写集成推送地址的 \`integration_key\`。
3464
+ 7. \`API key name\` 填写 \`Flashduty\`,\`Value\` 填写集成推送地址的 \`integration_key\`。
3456
3465
  8. 点击 \`Create\` 保存即可。
3457
3466
 
3458
3467
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/aws-eb-4.png" />
@@ -3463,10 +3472,10 @@ url: "https://docs.flashcat.cloud/zh/flashduty/aws-eventbridge-integration-guide
3463
3472
 
3464
3473
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/aws-eb-5.png" />
3465
3474
 
3466
- 2. 在 \`API destination detail\` 编辑界面填写相关信息,\`Name\` 填写 \`FlashDuty\` 。
3475
+ 2. 在 \`API destination detail\` 编辑界面填写相关信息,\`Name\` 填写 \`Flashduty\` 。
3467
3476
  3. \`API destination endpoint\` 填写集成的推送地址(当前页面填写集成名称,保存后即可生成地址)。
3468
3477
  4. \`HTTP method\` 选择 \`POST\`。
3469
- 5. \`Connection type\` 选择 \`Use an existing connection\` 并在列表中选择步骤1添加的 \`FlashDuty\` Connection。
3478
+ 5. \`Connection type\` 选择 \`Use an existing connection\` 并在列表中选择步骤1添加的 \`Flashduty\` Connection。
3470
3479
  6. 点击 \`Create\` 保存即可。
3471
3480
 
3472
3481
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/aws-eb-6.png" />
@@ -3476,7 +3485,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/aws-eventbridge-integration-guide
3476
3485
  2. 在左侧导航栏选择 \`Buses=>Rules\`,创建或编辑已有的规则。
3477
3486
  3. 此处省略其他配置。
3478
3487
  4. 在 \`Target types\` 处,选择 \`EventBridge API destination\` 作为目标类型。
3479
- 5. 在 \`API destination\` 中选择 \`Use an existing API destination\`,并在下拉框中选择步骤2创建的 \`FlashDuty\` API destination。
3488
+ 5. 在 \`API destination\` 中选择 \`Use an existing API destination\`,并在下拉框中选择步骤2创建的 \`Flashduty\` API destination。
3480
3489
  6. \`Next\` 后按需配置,并保存即可。
3481
3490
 
3482
3491
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/aws-eb-7.png" />
@@ -3486,8 +3495,8 @@ url: "https://docs.flashcat.cloud/zh/flashduty/aws-eventbridge-integration-guide
3486
3495
 
3487
3496
  <div class="md-block">
3488
3497
 
3489
- 1. 由于 AWS EventBridge 的事件并没有严重等级,所以推送至 FlashDuty 的事件等级均为 Warning。
3490
- 2. AWS EventBridge 的事件只有触发,没有恢复,所以 FlashDuty 接收到的事件也不会自动关联恢复。
3498
+ 1. 由于 AWS EventBridge 的事件并没有严重等级,所以推送至 Flashduty 的事件等级均为 Warning。
3499
+ 2. AWS EventBridge 的事件只有触发,没有恢复,所以 Flashduty 接收到的事件也不会自动关联恢复。
3491
3500
 
3492
3501
  </div>
3493
3502
 
@@ -3563,7 +3572,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dynatrace-integration-guide"
3563
3572
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/dyn-3.png" />
3564
3573
 
3565
3574
  5. 在 \`Notification type\` 处,选择 \`Custom Integraion\`。
3566
- 6. \`Display name\` 填写 \`FlashDuty\`。
3575
+ 6. \`Display name\` 填写 \`Flashduty\`。
3567
3576
  7. \`Webhook URL\` 填写集成的推送地址(当前页面填写集成名称,保存后即可生成地址)。
3568
3577
  8. \`Call webhook if problem is closed\` 保持开启状态。
3569
3578
 
@@ -3660,14 +3669,14 @@ url: "https://docs.flashcat.cloud/zh/flashduty/huaweilts-integration-guide"
3660
3669
 
3661
3670
  ## 一、华为云日志服务 LTS 告警推送配置
3662
3671
 
3663
- ### 步骤1:创建 FlashDuty 告警通道
3672
+ ### 步骤1:创建 Flashduty 告警通道
3664
3673
  1. 登录您的华为云控制台,检索 \`SMN\` 消息通知服务产品,并进入对应产品控制台。
3665
3674
  2. 在左侧导航栏选择 \`主题管理=>主题\`。
3666
- 3. 点击 \`创建主题\`,在编辑页面中的主题名称处输入 \`FlashDuty\` 并点击确认。
3675
+ 3. 点击 \`创建主题\`,在编辑页面中的主题名称处输入 \`Flashduty\` 并点击确认。
3667
3676
 
3668
3677
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/huawei-lts-1.png" />
3669
3678
 
3670
- 4. 回到主题列表后,在刚创建的 FlashDuty 主题中点击 \`添加订阅\`。
3679
+ 4. 回到主题列表后,在刚创建的 Flashduty 主题中点击 \`添加订阅\`。
3671
3680
 
3672
3681
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/huawei-lts-2.png" />
3673
3682
 
@@ -3686,14 +3695,14 @@ url: "https://docs.flashcat.cloud/zh/flashduty/huaweilts-integration-guide"
3686
3695
 
3687
3696
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/huawei-lts-5.png" />
3688
3697
 
3689
- 3. 在模版编辑页面中,名称填写 **FlashDuty**,消息头语言选择 \`英文\`。
3698
+ 3. 在模版编辑页面中,名称填写 **Flashduty**,消息头语言选择 \`英文\`。
3690
3699
  4. 通知类型选择 \`HTTP/HTTPS\`,数据类型选择 \`JSON\`。
3691
3700
  5. 点击 \`确认\` 保存。
3692
3701
 
3693
3702
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/huawei-lts-6.png" />
3694
3703
 
3695
3704
  6. 回到 \`告警行动规则\` 列表,点击 \`创建\`。
3696
- 7. 规则名称填写 **FlashDuty** ,主题和消息模版都选择已创建的 **FlashDuty** 主题和模版。
3705
+ 7. 规则名称填写 **Flashduty** ,主题和消息模版都选择已创建的 **Flashduty** 主题和模版。
3697
3706
 
3698
3707
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/huawei-lts-7.png" />
3699
3708
 
@@ -3703,7 +3712,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/huaweilts-integration-guide"
3703
3712
  2. 创建或编辑已有的告警规则。
3704
3713
  3. 此处省略其他配置。
3705
3714
  4. 在 \`高级设置\` 中,通知场景的 \`告警触发\` 和 \`告警恢复\` 都要勾选上。
3706
- 5. 打开行动规则,并选择 \`步骤2\` 创建的 **FlashDuty** 规则。
3715
+ 5. 打开行动规则,并选择 \`步骤2\` 创建的 **Flashduty** 规则。
3707
3716
  6. 语言选择 \`英文\`,完成配置后点击 \`确认\` 保存即可。
3708
3717
 
3709
3718
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/huawei-lts-8.png" />
@@ -3784,18 +3793,18 @@ url: "https://docs.flashcat.cloud/zh/flashduty/gcpcm-integration-guide"
3784
3793
 
3785
3794
  3. 在 Notification channels 页面找到 \`Webhooks\` 并点击 \`ADD NEW\`。
3786
3795
  4. 在 \`Endpoint URL\` 处输入集成的推送地址(当前页面填写集成名称,保存后即可生成地址。
3787
- 5. 在 \`Display Name\` 处输入 **FlashDuty** 。
3796
+ 5. 在 \`Display Name\` 处输入 **Flashduty** 。
3788
3797
  6. 点击 \`TEST CONNECTION\` 后,点击 \`SAVE\` 保存即可。
3789
3798
 
3790
3799
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/google-cm-2.png" />
3791
3800
 
3792
- ### 步骤2:在告警策略中使用 FlashDuty 告警通道
3801
+ ### 步骤2:在告警策略中使用 Flashduty 告警通道
3793
3802
 
3794
3803
  1. 回到 \`Alerting\` 页面。
3795
3804
  2. 创建或编辑已有的策略。
3796
3805
  3. 此处省略其他策略配置(按业务需求配置告警条件)。
3797
3806
  4. 在 \`Notifications and name\` 页面中,将 \`Use notification channel\` 保持开启状态。
3798
- 5. 在 \`Notification channels\` 下拉框中选择 **步骤1** 创建的 **FlashDuty** 通道,并勾选 \`Notify on incident closure\`。
3807
+ 5. 在 \`Notification channels\` 下拉框中选择 **步骤1** 创建的 **Flashduty** 通道,并勾选 \`Notify on incident closure\`。
3799
3808
  6. 完成其他配置并保存策略即可。
3800
3809
 
3801
3810
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/google-cm-3.png" />
@@ -3954,7 +3963,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/appdynamics-integration-guide"
3954
3963
 
3955
3964
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/appdyn-1.png" />
3956
3965
 
3957
- 3. 在模版配置中,\`Name\` 填写 **FlashDuty** 。
3966
+ 3. 在模版配置中,\`Name\` 填写 **Flashduty** 。
3958
3967
  4. 在 \`Request URL\` 部分,\`Method\` 选择 **POST** ,\`Raw URL\` 填写集成的推送地址(当前页面填写集成名称,保存后即可生成地址)。
3959
3968
 
3960
3969
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/appdyn-2.png" />
@@ -4032,7 +4041,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/appdynamics-integration-guide"
4032
4041
 
4033
4042
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/appdyn-6.png" />
4034
4043
 
4035
- 3. 在弹出的 \`Create HTTP Action\` 框中,输入 Name,\`HTTP Request Template\` 选择 \`步骤1\` 创建的 **FlashDuty** 并点击 \`SAVE\`。
4044
+ 3. 在弹出的 \`Create HTTP Action\` 框中,输入 Name,\`HTTP Request Template\` 选择 \`步骤1\` 创建的 **Flashduty** 并点击 \`SAVE\`。
4036
4045
 
4037
4046
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/appdyn-7.png" />
4038
4047
 
@@ -4118,7 +4127,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/solarwinds-integration-guide"
4118
4127
 
4119
4128
  **前提说明**
4120
4129
  1. SolarWinds 的告警类型有五种(Anomaly、Entity、Event、Log、Metric Group),每种类型对应不同的告警通道,所以需要创建五个告警通道,以便在不同告警类型中使用。
4121
- 2. 在创建 Webhook 通道过程中,其中 Name 字段建议使用: 类型_FlashDuty 组合的形式,例如:Anomaly_FlashDuty
4130
+ 2. 在创建 Webhook 通道过程中,其中 Name 字段建议使用: 类型_Flashduty 组合的形式,例如:Anomaly_Flashduty
4122
4131
  3. 在选择 **Select Custom Body Template Based On The Alert Types** 时,系统会默认生成相应的 **HTTP POST Body**, **生成的模版内容请不要修改**。
4123
4132
 
4124
4133
  **开始创建**
@@ -4128,7 +4137,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/solarwinds-integration-guide"
4128
4137
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/sw-1.png" />
4129
4138
 
4130
4139
  3. 点击 \`CREATE CONFIGURATION\` 进行创建相应的告警通道。
4131
- 4. 在 \`Method\` 处选择 **POST** ,\`Name\` 处可以根据前提说明中的建议进行命名,例如:Anomaly_FlashDuty
4140
+ 4. 在 \`Method\` 处选择 **POST** ,\`Name\` 处可以根据前提说明中的建议进行命名,例如:Anomaly_Flashduty
4132
4141
  5. \`Destination URL\` 填写集成的推送地址(当前页面填写集成名称,保存后即可生成地址)。
4133
4142
  6. \`Content Type\` 选择 **application/json**。
4134
4143
  7. \`Select Custom Body Template Based On The Alert Types\` 选择需要创建的类型,例如:Anomaly Based Alert。
@@ -4144,7 +4153,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/solarwinds-integration-guide"
4144
4153
  1. 在左侧导航栏找到 \`Alerts\`,选择 \`Alert Settings\`。
4145
4154
  2. 创建或编辑已有的策略(告警规则按需配置即可,此处省略告警规则的配置)。
4146
4155
  3. 在配置策略页面的 \`Actions\` 部分中,\`Services\` 选择 **Webhook** 。
4147
- 4. \`Configuration\` 选择步骤1创建的 Anomaly_FlashDuty 通道。
4156
+ 4. \`Configuration\` 选择步骤1创建的 Anomaly_Flashduty 通道。
4148
4157
  5. \`Send an additional notification when the Alert is cleared\` 保持开启状态。
4149
4158
 
4150
4159
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/sw-4.png" />
@@ -4219,14 +4228,14 @@ url: "https://docs.flashcat.cloud/zh/flashduty/volcengine-metric-integration-gui
4219
4228
 
4220
4229
  ## 一、火山引擎云监控告警推送配置
4221
4230
 
4222
- ### 步骤1:创建 FlashDuty 告警通道
4231
+ ### 步骤1:创建 Flashduty 告警通道
4223
4232
  1. 登录您的火山引擎控制台,检索 \`云监控\` 产品,并进入对应产品控制台。
4224
4233
  2. 在左侧导航栏选择 \`通知组=>回调\`。
4225
4234
  3. 点击 \`创建回调地址\`。
4226
4235
 
4227
4236
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-m-1.png" />
4228
4237
 
4229
- 4. 在编辑页面中填写相应的信息,回调地址名称填写 \`FlashDuty_Metric\`。
4238
+ 4. 在编辑页面中填写相应的信息,回调地址名称填写 \`Flashduty_Metric\`。
4230
4239
  5. 回调地址类型选择 \`通用回调地址\`。
4231
4240
  6. 回调地址填写**集成的推送地址**(当前页面填写集成名称,保存后即可生成地址)。
4232
4241
  7. 点击 \`确认\` 即可完成创建(不支持连通性测试,即使点击测试出现连通性失败,也不会影响告警的接收)。
@@ -4239,7 +4248,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/volcengine-metric-integration-gui
4239
4248
  2. 创建或编辑已有的告警策略(策略请按需配置,此处略过)。
4240
4249
  3. 在策略编辑页面中,\`发送聚合策略\` 选择 \`规则和资源\`。
4241
4250
  4. \`告警恢复通知\` 保持开启状态。
4242
- 5. 在 \`告警渠道\` 中勾选 \`告警回调\` ,并在告警回调下拉框中选择**步骤1**创建的 \`FlashDuty_Metric\` 通道。
4251
+ 5. 在 \`告警渠道\` 中勾选 \`告警回调\` ,并在告警回调下拉框中选择**步骤1**创建的 \`Flashduty_Metric\` 通道。
4243
4252
  6. 其他配置完成后,点击 \`确认\` 即可完成。
4244
4253
 
4245
4254
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-m-6.png" />
@@ -4310,14 +4319,14 @@ url: "https://docs.flashcat.cloud/zh/flashduty/volcengine-event-integration-guid
4310
4319
 
4311
4320
  ## 一、火山引擎云监控事件中心告警推送配置
4312
4321
 
4313
- ### 步骤1:创建 FlashDuty 告警通道
4322
+ ### 步骤1:创建 Flashduty 告警通道
4314
4323
  1. 登录您的火山引擎控制台,检索 \`云监控\` 产品,并进入对应产品控制台。
4315
4324
  2. 在左侧导航栏选择 \`通知组=>回调\`。
4316
4325
  3. 点击 \`创建回调地址\`。
4317
4326
 
4318
4327
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-m-1.png" />
4319
4328
 
4320
- 4. 在编辑页面中填写相应的信息,回调地址名称填写 \`FlashDuty_Event\`。
4329
+ 4. 在编辑页面中填写相应的信息,回调地址名称填写 \`Flashduty_Event\`。
4321
4330
  5. 回调地址类型选择 \`通用回调地址\`。
4322
4331
  6. 回调地址填写**集成的推送地址**(当前页面填写集成名称,保存后即可生成地址)。
4323
4332
  7. 点击 \`确认\` 即可完成创建(不支持连通性测试,即使点击测试出现连通性失败,也不会影响告警的接收)。
@@ -4328,7 +4337,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/volcengine-event-integration-guid
4328
4337
 
4329
4338
  1. 在左侧导航栏选择 \`事件中心=>事件规则\`。
4330
4339
  2. 创建或编辑已有的事件规则(规则请按需配置,此处略过)。
4331
- 3. 在规则编辑页面中,投递渠道处勾选 \`告警回调\`,并在告警回调下拉框中选择**步骤1**创建的 \`FlashDuty_Event\` 通道。
4340
+ 3. 在规则编辑页面中,投递渠道处勾选 \`告警回调\`,并在告警回调下拉框中选择**步骤1**创建的 \`Flashduty_Event\` 通道。
4332
4341
  4. 其他配置完成后,点击 \`确认\` 即可完成。
4333
4342
 
4334
4343
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-m-3.png" />
@@ -4399,14 +4408,14 @@ url: "https://docs.flashcat.cloud/zh/flashduty/volcengine-tls-integration-guide"
4399
4408
 
4400
4409
  ## 一、火山引擎日志服务 TLS 告警推送配置
4401
4410
 
4402
- ### 步骤1:创建 FlashDuty 告警通道
4411
+ ### 步骤1:创建 Flashduty 告警通道
4403
4412
  1. 登录您的火山引擎控制台,检索 \`TLS\`日志服务产品,并进入对应产品控制台。
4404
4413
  2. 在左侧导航栏选择 \`日志告警=>通知管理\`。
4405
4414
  3. 选择 \`webhook 告警集成\`,并点击 \`创建 webhook 告警集成\`。
4406
4415
 
4407
4416
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-tls-1.png" />
4408
4417
 
4409
- 4. 在弹出的编辑框中填写相应的信息,名称填写 \`FlashDuty\`。
4418
+ 4. 在弹出的编辑框中填写相应的信息,名称填写 \`Flashduty\`。
4410
4419
  5. 类型选择 \`自定义 Webhook\`,请求方法选择 \`POST\`。
4411
4420
  6. 请求地址填写**集成的推送地址**(当前页面填写集成名称,保存后即可生成地址)。
4412
4421
  7. 请求头保持默认的即可,配置完成点击 \`创建\`。
@@ -4417,7 +4426,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/volcengine-tls-integration-guide"
4417
4426
 
4418
4427
  1. 回到 \`通知管理\` 页面。
4419
4428
  2. 选择 \`内容模版\`,并点击 \`创建内容模版\`。
4420
- 3. 在创建模版页面中填写相关信息,模版名称填写 \`FlashDuty\`。
4429
+ 3. 在创建模版页面中填写相关信息,模版名称填写 \`Flashduty\`。
4421
4430
  4. 其他类型的通道内容可为空,在 \`自定义Webhook\` 的通知内容处,填写以下模版内容。
4422
4431
 
4423
4432
  \`\`\`
@@ -4450,7 +4459,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/volcengine-tls-integration-guide"
4450
4459
 
4451
4460
  1. 回到 \`通知管理\` 页面。
4452
4461
  2. 选择 \`通知组\`,并点击 \`创建通知组\`。
4453
- 3. 在编辑通知组页面中填写相关信息,通知组名称填写 \`FlashDuty\`。
4462
+ 3. 在编辑通知组页面中填写相关信息,通知组名称填写 \`Flashduty\`。
4454
4463
  4. 通知规则和其他配置可按需配置(此处略过)。
4455
4464
  5. 在通知渠道配置中,接收渠道的 \`自定义webhook\` 保持勾选状态。
4456
4465
  6. \`Webhook\` 选择**步骤1**创建的 **FlahDuty** 通道。
@@ -4465,7 +4474,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/volcengine-tls-integration-guide"
4465
4474
  2. 创建或编辑已有的告警策略。
4466
4475
  3. 告警规则可按需配置(此处略过)。
4467
4476
  4. 在 \`通知组\` 处,点击 \`关联通知组\`。
4468
- 5. 在弹出的选择框中,选择**步骤3**创建的 **FlashDuty** 通知组,选择好后,点击 \`关联\`。
4477
+ 5. 在弹出的选择框中,选择**步骤3**创建的 **Flashduty** 通知组,选择好后,点击 \`关联\`。
4469
4478
  6. 配置好其他内容后,点击 \`创建/保存\` 即可完成。
4470
4479
 
4471
4480
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-tls-5.png" />
@@ -4600,7 +4609,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/opmanager-integration-guide"
4600
4609
 
4601
4610
  10. 选择希望应用此配置文件的设备,使用右箭头将它们移动到选定设备窗口,然后点击下一步。
4602
4611
  11. Time Window/Delayed Trigger/Recurring Trigger 可按需配置,然后点击下一步。
4603
- 12. 为该配置文件添加名称 \`FlashDuty\`,然后点击 \`Save\` 保存即可完成配置。
4612
+ 12. 为该配置文件添加名称 \`Flashduty\`,然后点击 \`Save\` 保存即可完成配置。
4604
4613
 
4605
4614
  </dev>
4606
4615
 
@@ -4673,7 +4682,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/meraki-integration-guide"
4673
4682
  1. 登录您的 \`Meraki\` 控制台,选择需要配置告警的设备。
4674
4683
  2. 在 \`Alerts\` 页面中,按需配置 \`Cellular gateway\` 和其他部分。
4675
4684
  3. 在 \`Webhooks\` 处,配置 \`HTTPS receivers\`。
4676
- 4. \`Name\` 填写 \`FlashDuty\`,\`URL\` 填写**告警集成的推送地址**。
4685
+ 4. \`Name\` 填写 \`Flashduty\`,\`URL\` 填写**告警集成的推送地址**。
4677
4686
  5. \`Shared secret\` 留空,\`Payload template\` 保持默认的 \`Meraki(included)\` 即可。
4678
4687
  6. 点击 \`Save\` 保存。
4679
4688
 
@@ -4921,7 +4930,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/guance-integration-guide"
4921
4930
 
4922
4931
  1. 登录您的 \`观测云\` 控制台,在 \`监控\` 中,选择 \`告警策略管理\` 。
4923
4932
  2. 在 \`告警策略\` 页面, 新建或修改告警策略。
4924
- 3. 在告警策略编辑页面的通知配置部分,选择 \`等级\`,\`通知对象\` 选择步骤1中创建的 \`FlashDuty\`。
4933
+ 3. 在告警策略编辑页面的通知配置部分,选择 \`等级\`,\`通知对象\` 选择步骤1中创建的 \`Flashduty\`。
4925
4934
  4. 其他按需配置,点击 \`保存\` 完成创建。
4926
4935
 
4927
4936
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/zh/fd/guance-2.png" />
@@ -5135,13 +5144,20 @@ url: "https://docs.flashcat.cloud/zh/flashduty/lark-integration-guide"
5135
5144
 
5136
5145
  ![2025-09-18-10-47-46](https://docs-cdn.flashcat.cloud/images/png/d91efc598bda17e1bfcb367aec47c779.png)
5137
5146
 
5138
- 3. 前往 事件回调 → **回调配置** 页面,配置 \`订阅方式\`(内容为集成详情中的 **消息卡片请求网址**)。然后,订阅以下两项回调事件:
5147
+ 3. 前往 事件回调 → **事件配置** 页面,配置 \`订阅方式\`(内容为集成详情中的 **消息卡片请求网址**)。然后,添加以下两项事件:
5139
5148
 
5140
- - \`im.message.receive_v1\`
5141
5149
  - \`im.chat.disbanded_v1\`
5150
+ - \`im.message.receive_v1\`
5142
5151
 
5143
5152
  ![2025-09-18-11-06-05](https://docs-cdn.flashcat.cloud/images/png/71910d8af8d60b5f30baf009081646df.png)
5144
5153
 
5154
+ 4. 前往 事件回调 → **回调配置** 页面,配置 \`订阅方式\`(内容为集成详情中的 **消息卡片请求网址**)。然后,订阅以下两项回调:
5155
+
5156
+ - \`card.action.trigger\`
5157
+ - \`card.action.trigger_v1\`
5158
+
5159
+ ![2025-09-19-18-43-03](https://docs-cdn.flashcat.cloud/images/png/f58b20e52fc53f428bc493e18f0a567f.png)
5160
+
5145
5161
  ### 2. 添加重定向 URL 到飞书应用
5146
5162
 
5147
5163
  进入 **安全设置** 页面,配置 \`重定向URL\`,内容为集成详情中的 **重定向 URL**。
@@ -5156,7 +5172,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/lark-integration-guide"
5156
5172
 
5157
5173
  - \`im:chat\`:获取与更新群组信息
5158
5174
  - \`im:message\`:获取与发送单聊、群组消息
5159
- - \`contact:user.id:readonly\`:通过手机号或邮箱获取用户 ID(用于配置作战室)<span id="war-room-scope"></span>
5175
+ - \`contact:user.id:readonly\`:通过手机号或邮箱获取用户 ID <span id="war-room-scope"></span>
5160
5176
 
5161
5177
  ![2025-09-18-10-55-14](https://docs-cdn.flashcat.cloud/images/png/d919be62107f6b9d0c662f440d620e61.png)
5162
5178
 
@@ -5437,7 +5453,6 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide"
5437
5453
  ![2025-09-18-15-34-37](https://docs-cdn.flashcat.cloud/images/png/7f1e931df0ae740a37ce6615ac3b18ba.png)
5438
5454
  ![2025-09-18-15-35-44](https://docs-cdn.flashcat.cloud/images/png/367dfd391bf4d57c22088d20a4844e33.png)
5439
5455
 
5440
-
5441
5456
  - 回到分派策略配置页面,刷新后重新选择群聊列表。
5442
5457
  - 如果仍然无法获取群聊列表,请尝试在群内卸载酷应用后,重试以上步骤。如果问题依旧,请联系客户或专属技术支持。
5443
5458
 
@@ -5501,7 +5516,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide"
5501
5516
 
5502
5517
  4. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps),进入 **我的企业** 页面,获取 \`企业 ID\`。
5503
5518
 
5504
- ![2025-09-18-11-44-54](https://docs-cdn.flashcat.cloud/images/png/c032dc755a72550d57658dd5962dafe4.png)
5519
+ ![2025-09-18-11-44-54](https://docs-cdn.flashcat.cloud/images/png/c032dc755a72550d57658dd5962dafe4.png)
5505
5520
 
5506
5521
  5. 返回 Flashduty 集成配置页面,填写上一步获取的 \`企业 ID\`,点击 **保存** 完成集成。
5507
5522
 
@@ -5529,13 +5544,13 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide"
5529
5544
 
5530
5545
  6. 在应用详情页,获取 \`Secret\`,并将其填写至 Flashduty 集成配置页面。
5531
5546
 
5532
- 7. 在应用详情页,进入 **网页授权及 JS-SDK** 页面,点击 **设置可信域名**,并按要求配置 **可作为应用 OAuth 2.0 网页授权功能的回调域名**。
5547
+ 7. 在应用详情页,进入 **网页授权及 JS-SDK** 页面,点击 **设置可信域名**,并按要求配置。
5533
5548
 
5534
5549
  > 可信域名需要指向 Flashduty 的后端地址 \`{api_host}\`(可通过 CNAME 或代理转发实现)。
5535
5550
  >
5536
5551
  > 关于可信域名的要求,详见企业微信官方文档 [《企业内部开发配置域名指引》](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754)。
5537
5552
 
5538
- ![2025-09-18-11-51-26](https://docs-cdn.flashcat.cloud/images/png/5a07bc5e55edf4bb19b142dfbc83f653.png)
5553
+ ![2025-10-15-10-30-56](https://docs-cdn.flashcat.cloud/images/png/09a91d682198d1c8f830b5ed523965ef.png)
5539
5554
 
5540
5555
  返回 Flashduty 集成配置页面,填写该域名,并完成验证。
5541
5556
 
@@ -5547,7 +5562,21 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide"
5547
5562
 
5548
5563
  9. 复制 Flashduty 集成详情页中的 \`回调地址\`,返回企业微信刚才的 **接收消息** 页面。在 **API 接收** 设置中,填入该 \`回调地址\` 以及上一步保存的 \`Token\` 和 \`EncodingAESKey\`,然后点击 **保存**。
5549
5564
 
5550
- ![2025-09-18-11-56-43](https://docs-cdn.flashcat.cloud/images/png/c990c27f7ad90af172e159fc4acfead7.png)
5565
+ ![2025-09-18-11-56-43](https://docs-cdn.flashcat.cloud/images/png/c990c27f7ad90af172e159fc4acfead7.png)
5566
+
5567
+ 10. 配置**前端可信域名**
5568
+
5569
+ > 可信域名需要指向 Flashduty 的前端地址 \`console.flashcat.cloud\`(可通过 CNAME 或代理转发实现)。
5570
+ >
5571
+ > 关于可信域名的要求,详见企业微信官方文档 [《企业内部开发配置域名指引》](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754)。
5572
+
5573
+ 前端可信域名校验通过后将生成的**主页地址**配置到企微应用的**工作台应用主页**
5574
+
5575
+ ![2025-10-14-19-51-01](https://docs-cdn.flashcat.cloud/images/png/595a71dd5624a37312676e83c45d79c4.png)
5576
+
5577
+ 11. 配置**可信 IP 地址**:\`47.93.12.134\`
5578
+
5579
+ ![2025-10-14-20-26-45](https://docs-cdn.flashcat.cloud/images/png/fe3b2b788dda5d331148ba0946631b91.png)
5551
5580
 
5552
5581
  ## 三、配置作战室
5553
5582
 
@@ -5590,7 +5619,8 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide"
5590
5619
  - 请联系 Flashduty 客服或您的专属技术支持,为您购买并开通许可。
5591
5620
  8. **为什么作战室功能未按预期工作?**
5592
5621
  - 请参考 Flashduty [作战室介绍文档](https://docs.flashcat.cloud/zh/flashduty/war-room) 的 **常见问题** 部分。
5593
- `,Slack:`---
5622
+ 9. **为什么在企微工作台打开应用后提示“redirect_uri需使用应用可信域名”?**
5623
+ - 请确认**应用主页**的url中的\`redirect_uri\`参数中的域名是否完成企业微信要求的域名归属认证,详见企业微信官方文档 [《企业内部开发配置域名指引》](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754)。`,Slack:`---
5594
5624
  title: "Slack 集成"
5595
5625
  description: "通过集成 Slack 第三方应用,您可以在 Slack 内接收和响应告警。"
5596
5626
  date: "2025-05-19T10:00:00+08:00"
@@ -5663,10 +5693,10 @@ Microsoft Teams 集成现处于 Beta 阶段,在关联前您需要先完成以
5663
5693
  :::
5664
5694
 
5665
5695
  ### 1. 下载应用
5666
- 将 [FlashDutyBot-v1.0.3.zip](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/docs/FlashdutyBot-v1.0.3.zip) 下载到本地。
5696
+ 将 [FlashdutyBot-v1.0.3.zip](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/docs/FlashdutyBot-v1.0.3.zip) 下载到本地。
5667
5697
 
5668
5698
  ### 2. 安装应用
5669
- 进入 Microsoft Teams,导航至 +Apps → Manage your apps → Upload an app → **Upload an app to your org's app catalog**,然后上传应用包 \`FlashDutyBot.zip\`。
5699
+ 进入 Microsoft Teams,导航至 +Apps → Manage your apps → Upload an app → **Upload an app to your org's app catalog**,然后上传应用包 \`FlashdutyBot.zip\`。
5670
5700
 
5671
5701
  ![2025-09-18-13-48-04](https://docs-cdn.flashcat.cloud/images/png/bfa4afaf489c3582e858cad99eb76ae5.png)
5672
5702
 
@@ -5681,7 +5711,7 @@ Microsoft Teams 集成现处于 Beta 阶段,在关联前您需要先完成以
5681
5711
  #### 查看是否添加成功
5682
5712
  等待几分钟,组织成员即可在 +Apps → **Built for your org** 找到此应用。
5683
5713
 
5684
- ![2025-09-18-13-49-58](https://docs-cdn.flashcat.cloud/images/png/199728ab0b1f9f24db80da0b3ecc8cd2.png)
5714
+ ![2025-09-18-17-05-37](https://docs-cdn.flashcat.cloud/images/png/f7827638d1877005ca674cbbd2aaa4a3.png)
5685
5715
 
5686
5716
  ### 3. 更新应用
5687
5717
  ::: caution
@@ -5702,21 +5732,22 @@ Microsoft Teams 集成现处于 Beta 阶段,在关联前您需要先完成以
5702
5732
  ---
5703
5733
  ### 1. 添加 Flashduty 应用
5704
5734
  1. 在应用市场中找到 Flashduty 应用。
5705
- > 如无应用,请联系您的 Microsoft Teams 组织管理员。
5735
+ > 如无应用,请联系您的 Microsoft Teams 组织管理员。
5736
+
5737
+ ![2025-09-18-17-06-34](https://docs-cdn.flashcat.cloud/images/png/0905e663241ce448a1381ef8c08aa777.png)
5706
5738
 
5707
- ![2025-09-18-13-53-57](https://docs-cdn.flashcat.cloud/images/png/8942fdf4327c96abcf31f4a9b7bf12d2.png)
5708
5739
 
5709
5740
  2. 将应用添加到目标 Team。
5710
5741
  ::: caution
5711
5742
  此步骤必须选择目标 Team 的 General Channel,否则将无法发送故障到 Team 中。
5712
5743
  :::
5713
5744
 
5714
- ![2025-09-18-13-54-41](https://docs-cdn.flashcat.cloud/images/png/8618dfd0f89507a6424e40d898d66fbd.png)
5745
+ ![2025-09-18-17-11-29](https://docs-cdn.flashcat.cloud/images/png/01fa86b63d01d2735aa6c4a53efb3c69.png)
5715
5746
 
5716
5747
  ### 2. 发送关联指令
5717
5748
  在 Team 中 @Flashduty 并发送指令 \`linkTeam {ID}\`,然后点击 **立即关联**。
5718
5749
 
5719
- ![2025-09-18-13-55-05](https://docs-cdn.flashcat.cloud/images/png/3192b5481b0595fcb58e5cc43abad125.png)
5750
+ ![2025-09-18-13-55-05](https://docs-cdn.flashcat.cloud/images/png/3192b5481b0595fcb58e5cc43abad125.png)
5720
5751
 
5721
5752
  ## 三、关联群聊 (Chat)
5722
5753
  ---
@@ -5724,11 +5755,11 @@ Microsoft Teams 集成现处于 Beta 阶段,在关联前您需要先完成以
5724
5755
  1. 在应用市场中找到 Flashduty 应用。
5725
5756
  > 如无应用,请联系您的 Microsoft Teams 组织管理员。
5726
5757
 
5727
- ![2025-09-18-13-53-57](https://docs-cdn.flashcat.cloud/images/png/8942fdf4327c96abcf31f4a9b7bf12d2.png)
5758
+ ![2025-09-18-17-06-34](https://docs-cdn.flashcat.cloud/images/png/0905e663241ce448a1381ef8c08aa777.png)
5728
5759
 
5729
5760
  2. 将应用添加到目标 Chat。
5730
5761
 
5731
- ![2025-09-18-13-55-58](https://docs-cdn.flashcat.cloud/images/png/39b505935ef0c751f12b20f6d3e15d10.png)
5762
+ ![2025-09-18-17-14-23](https://docs-cdn.flashcat.cloud/images/png/6e56d7de341737fe495e5ff18eb1af34.png)
5732
5763
 
5733
5764
  ### 2. 发送关联指令
5734
5765
  在 Chat 中 @Flashduty 并发送指令 \`linkChat {ID} {ChatName}\`,然后点击 **立即关联**。
@@ -5741,7 +5772,7 @@ Microsoft Teams 集成现处于 Beta 阶段,在关联前您需要先完成以
5741
5772
  1. 在应用市场中找到 Flashduty 应用。
5742
5773
  > 如无应用,请联系您的 Microsoft Teams 组织管理员。
5743
5774
 
5744
- ![2025-09-18-13-53-57](https://docs-cdn.flashcat.cloud/images/png/8942fdf4327c96abcf31f4a9b7bf12d2.png)
5775
+ ![2025-09-18-17-06-34](https://docs-cdn.flashcat.cloud/images/png/0905e663241ce448a1381ef8c08aa777.png)
5745
5776
 
5746
5777
  2. 点击 **打开应用**。
5747
5778
 
@@ -5873,7 +5904,7 @@ curl -X POST 'https://example.com/alert/webhook?a=a' \\
5873
5904
  "data_source_name":"阿里云 SLS",
5874
5905
  "data_source_ref_id":"",
5875
5906
  "data_source_type":"aliyun-sls.alert",
5876
- "description":"测试发送到FlashDuty告警触发",
5907
+ "description":"测试发送到Flashduty告警触发",
5877
5908
  "end_time":0,
5878
5909
  "event_cnt":1,
5879
5910
  "incident":{
@@ -5885,7 +5916,7 @@ curl -X POST 'https://example.com/alert/webhook?a=a' \\
5885
5916
  "alert_type":"sls_alert",
5886
5917
  "alert_url":"https://sls.console.aliyun.com/lognext/project/sls-api-testing/alert/alert-1683548531-071659",
5887
5918
  "aliuid":"1082109605037616",
5888
- "check":"测试发送到FlashDuty",
5919
+ "check":"测试发送到Flashduty",
5889
5920
  "fire_results":"{\\"_col0\\":\\"true\\"}",
5890
5921
  "fire_results_count":"1",
5891
5922
  "project":"sls-api-testing",
@@ -5897,7 +5928,7 @@ curl -X POST 'https://example.com/alert/webhook?a=a' \\
5897
5928
  "last_time":1683809153,
5898
5929
  "progress":"Triggered",
5899
5930
  "start_time":1683766013,
5900
- "title":"测试发送到FlashDuty告警触发",
5931
+ "title":"测试发送到Flashduty告警触发",
5901
5932
  "title_rule":"$resource::$check",
5902
5933
  "updated_at":1683809170
5903
5934
  },
@@ -5916,11 +5947,14 @@ curl -X POST 'https://example.com/alert/webhook?a=a' \\
5916
5947
 
5917
5948
  1. **服务是否有响应超时时间?**
5918
5949
 
5919
- - 服务需要在 1 秒内返回响应,超过 1 秒则认为响应失败
5950
+ - 服务需要在 2 秒内返回响应,超过 2 秒则认为响应失败
5920
5951
 
5921
5952
  2. **推送失败后是否会持续推送?**
5922
5953
 
5923
- - 目前 FlashDuty 最多推送一次,未来可能会引入重试机制,也可能因为中间链路超时导致重试,您需要做好幂等处理
5954
+ 针对特定的网络错误,会进行重试,最多重试2次:
5955
+ - context deadline exceeded (排除 awaiting headers)
5956
+ - i/o timeout
5957
+ - eof
5924
5958
 
5925
5959
  3. **如何保证推送顺序?**
5926
5960
 
@@ -6125,11 +6159,14 @@ curl -X POST 'https://example.com/incident/webhook?a=a' \\
6125
6159
 
6126
6160
  1. **服务是否有响应超时时间?**
6127
6161
 
6128
- - 服务需要在 1 秒内返回响应,超过 1 秒则认为响应失败
6162
+ - 服务需要在 2 秒内返回响应,超过 2 秒则认为响应失败
6129
6163
 
6130
6164
  2. **推送失败后是否会持续推送?**
6131
6165
 
6132
- - 目前 FlashDuty 最多推送一次,未来可能会引入重试机制,也可能因为中间链路超时导致重试,您需要做好幂等处理
6166
+ 针对特定的网络错误,会进行重试,最多重试2次:
6167
+ - context deadline exceeded (排除 awaiting headers)
6168
+ - i/o timeout
6169
+ - eof
6133
6170
 
6134
6171
  3. **如何保证推送顺序?**
6135
6172
 
@@ -6142,7 +6179,7 @@ curl -X POST 'https://example.com/incident/webhook?a=a' \\
6142
6179
 
6143
6180
  ## 一、创建操作
6144
6181
 
6145
- 1. 登录 FlashDuty 控制台,进入【集成中心-Webhook】
6182
+ 1. 登录 Flashduty 控制台,进入【集成中心-Webhook】
6146
6183
  2. 点击添加 自定义操作 集成
6147
6184
  3. 配置 操作名称,此名称将以按钮的形式体现在故障详情中
6148
6185
  4. 配置 协作空间,可以配置多个,但每个协作空间至多添加三个 自定义操作
@@ -6378,7 +6415,7 @@ curl -X POST 'https://example.com/incident/action?a=a' \\
6378
6415
 
6379
6416
  ### 信息丰富
6380
6417
 
6381
- 当故障发生时,回调您的服务,根据告警详情调取 Tracing、Logging、拓扑等信息,主动调用 FlashDuty Open API 来更新故障信息,比如增加标签或设定自定义字段,辅助排障。
6418
+ 当故障发生时,回调您的服务,根据告警详情调取 Tracing、Logging、拓扑等信息,主动调用 Flashduty Open API 来更新故障信息,比如增加标签或设定自定义字段,辅助排障。
6382
6419
 
6383
6420
  ### 回滚变更
6384
6421
 
@@ -6531,10 +6568,8 @@ Title | string | 是 | 告警标题
6531
6568
  Description | string | 是 | 告警描述,可能为空
6532
6569
  AlertSeverity | string | 是 | 严重程度,枚举值:Critical,Warning,Info
6533
6570
  AlertStatus | string | 是 | 告警状态,枚举值:Critical,Warning,Info,Ok
6534
- Progress | string | 是 | 处理进度,枚举值:Triggered,Processing,Closed
6535
6571
  StartTime | int64 | 是 | 触发时间,Unix 秒时间戳
6536
6572
  EndTime | int64 | 否 | 恢复时间,Unix 秒时间戳,默认为 0
6537
- CloseTime | int64 | 否 | 关闭时间,EndTime 为告警恢复时间,CloseTime 为处理进度的关闭时间,告警恢复时会自动关闭,告警手动关闭时不影响告警恢复。Unix 秒时间戳,默认为 0
6538
6573
  \`Labels\` | map[string]string | 否 | 标签 KV,Key 和 Value 均为字符串
6539
6574
 
6540
6575
  ## 常见问题
@@ -7487,80 +7522,321 @@ msg_type 必填,值为 post
7487
7522
 
7488
7523
  <head data-id="__react-email-head">
7489
7524
  <style>
7490
- .bg-Critical { background-color: #C80000; }
7491
- .bg-Warning { background-color: #FA7D00; }
7492
- .bg-Info { background-color: #FABE00; }
7493
- .bg-Ok { background-color: rgb(132 204 22); }
7494
- .text-Critical { color: #C80000; }
7495
- .text-Warning { color: #FA7D00; }
7496
- .text-Info { color: #FABE00; }
7497
- .text-Ok { color: rgb(132 204 22); }
7498
- .text-title {font-weight:500;width:6rem;flex-shrink:0}
7499
- .text-content {color:rgb(55,65,81)}
7525
+ /* Light mode colors */
7526
+ :root {
7527
+ --bg-color: rgb(255, 255, 255);
7528
+ --text-color: rgb(55, 65, 81);
7529
+ --label-key-color: #000;
7530
+ --section-bg: rgb(255, 255, 255);
7531
+ --border-color: rgb(229, 231, 235);
7532
+ }
7533
+
7534
+ /* Dark mode colors */
7535
+ @media (prefers-color-scheme: dark) {
7536
+ :root {
7537
+ --bg-color: rgb(31, 41, 55);
7538
+ --text-color: rgb(209, 213, 219);
7539
+ --label-key-color: rgb(229, 231, 235);
7540
+ --section-bg: rgb(17, 24, 39);
7541
+ --border-color: rgb(75, 85, 99);
7542
+ }
7543
+ }
7544
+
7545
+ /* Severity background colors */
7546
+ .severity-Critical {
7547
+ background-color: #C80000;
7548
+ color: #ffffff;
7549
+ padding: 4px 12px;
7550
+ border-radius: 12px;
7551
+ display: inline-block;
7552
+ font-weight: 600;
7553
+ font-size: 13px;
7554
+ }
7555
+ .severity-Warning {
7556
+ background-color: #fef3c7;
7557
+ color: #92400e;
7558
+ padding: 4px 12px;
7559
+ border-radius: 12px;
7560
+ display: inline-block;
7561
+ font-weight: 600;
7562
+ font-size: 13px;
7563
+ }
7564
+ .severity-Info {
7565
+ background-color: #dbeafe;
7566
+ color: #1e40af;
7567
+ padding: 4px 12px;
7568
+ border-radius: 12px;
7569
+ display: inline-block;
7570
+ font-weight: 600;
7571
+ font-size: 13px;
7572
+ }
7573
+ .severity-Ok {
7574
+ background-color: #d1fae5;
7575
+ color: #065f46;
7576
+ padding: 4px 12px;
7577
+ border-radius: 12px;
7578
+ display: inline-block;
7579
+ font-weight: 600;
7580
+ font-size: 13px;
7581
+ }
7582
+
7583
+ /* Progress status colors */
7584
+ .progress-Triggered {
7585
+ background-color: #dbeafe;
7586
+ color: #1e40af;
7587
+ padding: 4px 12px;
7588
+ border-radius: 12px;
7589
+ display: inline-block;
7590
+ font-weight: 600;
7591
+ font-size: 13px;
7592
+ }
7593
+ .progress-Acknowledged {
7594
+ background-color: #ede9fe;
7595
+ color: #6b21a8;
7596
+ padding: 4px 12px;
7597
+ border-radius: 12px;
7598
+ display: inline-block;
7599
+ font-weight: 600;
7600
+ font-size: 13px;
7601
+ }
7602
+ .progress-Resolved {
7603
+ background-color: #d1fae5;
7604
+ color: #065f46;
7605
+ padding: 4px 12px;
7606
+ border-radius: 12px;
7607
+ display: inline-block;
7608
+ font-weight: 600;
7609
+ font-size: 13px;
7610
+ }
7611
+ .progress-Closed {
7612
+ background-color: #f3f4f6;
7613
+ color: #374151;
7614
+ padding: 4px 12px;
7615
+ border-radius: 12px;
7616
+ display: inline-block;
7617
+ font-weight: 600;
7618
+ font-size: 13px;
7619
+ }
7620
+
7621
+ /* Field row styles */
7622
+ .field-row {
7623
+ padding: 1rem 0;
7624
+ border-bottom: 1px solid var(--border-color);
7625
+ }
7626
+ .field-row:first-child {
7627
+ padding-top: 0;
7628
+ }
7629
+ .field-row:last-child {
7630
+ border-bottom: none;
7631
+ }
7632
+ .field-label {
7633
+ color: #6b7280;
7634
+ font-size: 0.875rem;
7635
+ margin-bottom: 0.25rem;
7636
+ }
7637
+ .field-value {
7638
+ color: var(--text-color);
7639
+ word-break: break-word;
7640
+ overflow-wrap: break-word;
7641
+ }
7642
+
7643
+ body {
7644
+ background-color: var(--bg-color);
7645
+ color: var(--text-color);
7646
+ }
7647
+
7648
+ .labels-section {
7649
+ background-color: #f3f4f6;
7650
+ padding: 1rem;
7651
+ border-radius: 0.375rem;
7652
+ margin-top: 0.5rem;
7653
+ }
7654
+ @media (prefers-color-scheme: dark) {
7655
+ .labels-section {
7656
+ background-color: rgb(55, 65, 81);
7657
+ }
7658
+ }
7500
7659
  </style>
7501
7660
  </head>
7502
7661
 
7503
- <body data-id="__react-email-body" style="background-color:rgb(255,255,255);border-radius:0.25rem;margin-top:2.5rem;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;padding:1rem;min-width:400px;max-width:660px;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">
7504
- <div style="width:100%;height:0.375rem;margin-bottom:2rem" class="bg-{{.IncidentSeverity}}"></div>
7505
- <div style="display:flex;align-items:center;margin-bottom:1.5rem">
7506
- <div style="display:flex;align-items:flex-end;gap:1rem"><img witdh="120" data-id="react-email-img" src="https://console.flashcat.cloud/image/saas-logo.png" height="40" style="display:block;outline:none;border:none;text-decoration:none" /><span style="font-size:1.25rem;line-height:1.75rem;font-weight:600">您有故障待处理</span></div>
7507
- </div>
7508
- <div style="background-color:rgb(243,244,246);padding:2rem;margin-top:1rem;border-radius:0.5rem">
7509
- <div style="display:flex;flex-direction:column;gap:0.75rem">
7510
- <div style="display:flex">
7511
- <div class="text-title">故障标题</div>
7512
- <div class="text-content">{{.Title}}</div>
7513
- </div>
7514
- <div style="display:flex">
7515
- <div class="text-title">严重程度</div>
7516
- <div class="text-{{.IncidentSeverity}}">{{.IncidentSeverity}}</div>
7517
- </div>
7518
- <div style="display:flex">
7519
- <div class="text-title">协作空间</div>
7520
- <div class="text-content">{{if .ChannelName}}{{.ChannelName}}{{else}}无{{end}}</div>
7521
- </div>
7522
- <div style="display:flex">
7523
- <div class="text-title">触发时间</div>
7524
- <div class="text-content">{{date "2006-01-02 15:04:05" .StartTime}}</div>
7525
- </div>
7526
- {{if .CreatorID}}
7527
- <div style="display:flex">
7528
- <div class="text-title">发起人员</div>
7529
- <div class="text-content">{{.Creator.PersonName}}</div>
7530
- </div>
7531
- {{end}}
7532
- {{if gt (len .Responders) 0}}
7533
- <div style="display:flex">
7534
- <div class="text-title">分派人员</div>
7535
- <div class="text-content">{{range .Responders}}@{{.PersonName}} {{end}}</div>
7536
- </div>
7537
- {{end}}
7538
- <div style="display:flex">
7539
- <div class="text-title">处理进度</div>
7540
- <div class="text-content">{{.Progress}}</div>
7541
- </div>
7542
- <div style="display:flex">
7543
- <div class="text-title">故障描述</div>
7544
- <div style="color:rgb(55,65,81);margin-top:0.125rem">
7545
- <div data-id="react-email-markdown">{{toHtml .Description}}</div>
7546
- </div>
7547
- </div>
7548
- {{if .Labels.resource}}
7549
- <div style="display:flex;margin-bottom:0.5rem;">
7550
- <div style="color:#000;font-weight:500;width:6rem;margin-right:1rem;">告警对象</div>
7551
- <div style="color:rgb(55,65,81);margin-top:0.125rem">
7552
- <div data-id="react-email-markdown">{{toHtml (joinAlertLabels . "resource" ", ")}}</div>
7553
- </div>
7554
- </div>
7555
- {{end}}
7556
- </div>
7557
- <div style="display:flex;gap:1rem;margin-top:2rem"><a href="{{.DetailUrl}}?ack=1" data-id="react-email-button" target="_blank" style="line-height:100%;text-decoration:none;display:inline-block;max-width:100%;padding:0px 0px"><span></span><span style="max-width:100%;display:inline-block;line-height:120%;mso-padding-alt:0px;mso-text-raise:0"><div style="padding-left:2rem;padding-right:2rem;padding-top:0.5rem;padding-bottom:0.5rem;background-color:rgb(108,83,177);border-radius:0.25rem;font-size:1rem;line-height:1.5rem;color:rgb(255,255,255);font-weight:600;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms">立即认领</div></span><span></span></a><a href="{{.DetailUrl}}" data-id="react-email-button" target="_blank" style="color:#61dafb;line-height:100%;text-decoration:none;display:inline-block;max-width:100%;padding:0px 0px"><span></span><span style="max-width:100%;display:inline-block;line-height:120%;mso-padding-alt:0px;mso-text-raise:0"><div style="padding-left:2rem;padding-right:2rem;padding-top:0.5rem;padding-bottom:0.5rem;background-color:rgb(255,255,255);border-width: 1px;border-style:solid;border-color:rgb(229,231,235);border-radius:0.25rem;font-size:1rem;line-height:1.5rem;color:rgb(0,0,0);font-weight:600">查看详情</div></span><span></span></a></div>
7558
- </div>
7559
- <div style="display:flex;justify-content:flex-end;align-items:flex-end;margin-top:2rem">
7560
- <div style="font-size:0.875rem;line-height:1.25rem;font-weight:500">ALL RIGHTS RESERVED © 北京快猫星云科技有限公司</div>
7561
- </div>
7662
+ <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">
7663
+ <!-- Outer wrapper table for centering -->
7664
+ <table width="100%" cellpadding="0" cellspacing="0" border="0" style="background-color:#f3f4f6">
7665
+ <tr>
7666
+ <td align="center" style="padding:40px 20px">
7667
+ <!-- Main container table with fixed width -->
7668
+ <table width="600" cellpadding="0" cellspacing="0" border="0" style="background-color:#ffffff;max-width:600px">
7669
+ <!-- Purple header bar with logo -->
7670
+ <tr>
7671
+ <td style="padding:32px 0 32px 32px;text-align:left">
7672
+ <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" />
7673
+ </td>
7674
+ </tr>
7675
+
7676
+ <!-- Divider after logo -->
7677
+ <tr>
7678
+ <td style="padding:0 32px">
7679
+ <div style="border-top:1px solid #e5e7eb"></div>
7680
+ </td>
7681
+ </tr>
7682
+
7683
+ <!-- Main content -->
7684
+ <tr>
7685
+ <td style="padding:16px 32px 32px 32px">
7686
+ <!-- Title and Description -->
7687
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
7688
+ <tr>
7689
+ <td>
7690
+ <h1 style="margin:0;font-size:24px;font-weight:600;color:#111827;line-height:1.5">{{.Title}}</h1>
7691
+ {{if .Description}}
7692
+ <p style="margin:8px 0 0 0;font-size:16px;color:#6b7280;line-height:1.5">{{toHtml .Description}}</p>
7693
+ {{end}}
7694
+ </td>
7695
+ </tr>
7696
+ </table>
7697
+
7698
+ <!-- Divider after title -->
7699
+ <div style="border-top:1px solid #e5e7eb;margin:32px 0"></div>
7700
+
7701
+ <!-- Fields section -->
7702
+ <table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-bottom:30px">
7703
+ <tr>
7704
+ <td style="padding:16px 0;border-bottom:1px solid #e5e7eb;background-color:#ffffff">
7705
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
7706
+ <tr>
7707
+ <td width="100" style="font-weight:600;color:#374151;font-size:14px;vertical-align:top;padding-left:16px">严重程度</td>
7708
+ <td style="color:#6b7280;font-size:14px;word-break:break-word;padding-right:16px"><span class="severity-{{.IncidentSeverity}}">{{.IncidentSeverity}}</span></td>
7709
+ </tr>
7710
+ </table>
7711
+ </td>
7712
+ </tr>
7713
+
7714
+ <tr>
7715
+ <td style="padding:16px 0;border-bottom:1px solid #e5e7eb;background-color:#ffffff">
7716
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
7717
+ <tr>
7718
+ <td width="100" style="font-weight:600;color:#374151;font-size:14px;vertical-align:top;padding-left:16px">协作空间</td>
7719
+ <td style="color:#6b7280;font-size:14px;word-break:break-word;padding-right:16px">{{if .ChannelName}}{{.ChannelName}}{{else}}无{{end}}</td>
7720
+ </tr>
7721
+ </table>
7722
+ </td>
7723
+ </tr>
7724
+
7725
+ <tr>
7726
+ <td style="padding:16px 0;border-bottom:1px solid #e5e7eb;background-color:#ffffff">
7727
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
7728
+ <tr>
7729
+ <td width="100" style="font-weight:600;color:#374151;font-size:14px;vertical-align:top;padding-left:16px">触发时间</td>
7730
+ <td style="color:#6b7280;font-size:14px;word-break:break-word;padding-right:16px">{{date "2006-01-02 15:04:05" .StartTime}}</td>
7731
+ </tr>
7732
+ </table>
7733
+ </td>
7734
+ </tr>
7735
+
7736
+ {{if .CreatorID}}
7737
+ <tr>
7738
+ <td style="padding:16px 0;border-bottom:1px solid #e5e7eb;background-color:#ffffff">
7739
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
7740
+ <tr>
7741
+ <td width="100" style="font-weight:600;color:#374151;font-size:14px;vertical-align:top;padding-left:16px">发起人员</td>
7742
+ <td style="color:#6b7280;font-size:14px;word-break:break-word;padding-right:16px">{{.Creator.PersonName}}</td>
7743
+ </tr>
7744
+ </table>
7745
+ </td>
7746
+ </tr>
7747
+ {{end}}
7748
+
7749
+ {{if gt (len .Responders) 0}}
7750
+ <tr>
7751
+ <td style="padding:16px 0;border-bottom:1px solid #e5e7eb;background-color:#ffffff">
7752
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
7753
+ <tr>
7754
+ <td width="100" style="font-weight:600;color:#374151;font-size:14px;vertical-align:top;padding-left:16px">处理人员</td>
7755
+ <td style="color:#6b7280;font-size:14px;word-break:break-word;padding-right:16px">{{range .Responders}}@{{.PersonName}} {{end}}</td>
7756
+ </tr>
7757
+ </table>
7758
+ </td>
7759
+ </tr>
7760
+ {{end}}
7761
+
7762
+ <tr>
7763
+ <td style="padding:16px 0;border-bottom:1px solid #e5e7eb;background-color:#ffffff">
7764
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
7765
+ <tr>
7766
+ <td width="100" style="font-weight:600;color:#374151;font-size:14px;vertical-align:top;padding-left:16px">处理进度</td>
7767
+ <td style="color:#6b7280;font-size:14px;word-break:break-word;padding-right:16px"><span class="progress-{{.Progress}}">{{.Progress}}</span></td>
7768
+ </tr>
7769
+ </table>
7770
+ </td>
7771
+ </tr>
7772
+
7773
+ {{if .Labels.resource}}
7774
+ <tr>
7775
+ <td style="padding:16px 0;border-bottom:1px solid #e5e7eb;background-color:#ffffff">
7776
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
7777
+ <tr>
7778
+ <td width="100" style="font-weight:600;color:#374151;font-size:14px;vertical-align:top;padding-left:16px">告警对象</td>
7779
+ <td style="color:#6b7280;font-size:14px;word-break:break-word;padding-right:16px">{{(joinAlertLabels . "resource" ", ")}}</td>
7780
+ </tr>
7781
+ </table>
7782
+ </td>
7783
+ </tr>
7784
+ {{end}}
7785
+
7786
+ {{if gt (len .Labels) 0}}
7787
+ <tr>
7788
+ <td style="padding:16px 0">
7789
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
7790
+ <tr>
7791
+ <td width="100" style="font-weight:600;color:#374151;font-size:14px;vertical-align:top;padding-left:16px">标签</td>
7792
+ <td style="color:#6b7280;font-size:14px;word-break:break-word;padding-right:16px;background-color:#f9fafb;padding:16px">
7793
+ <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>
7794
+ </td>
7795
+ </tr>
7796
+ </table>
7797
+ </td>
7798
+ </tr>
7799
+ {{end}}
7800
+ </table>
7801
+
7802
+ <!-- Action buttons -->
7803
+ <table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-top:32px">
7804
+ <tr>
7805
+ <td width="48%" align="center" style="padding:0">
7806
+ <table cellpadding="0" cellspacing="0" border="0" style="width:100%">
7807
+ <tr>
7808
+ <td align="center" style="background-color:rgb(108,83,177);border-radius:6px;padding:14px 32px">
7809
+ <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">立即认领</a>
7810
+ </td>
7811
+ </tr>
7812
+ </table>
7813
+ </td>
7814
+ <td width="4%" style="padding:0"></td>
7815
+ <td width="48%" align="center" style="padding:0">
7816
+ <table cellpadding="0" cellspacing="0" border="0" style="width:100%">
7817
+ <tr>
7818
+ <td align="center" style="background-color:#ffffff;border:2px solid rgb(108,83,177);border-radius:6px;padding:14px 32px">
7819
+ <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">查看详情</a>
7820
+ </td>
7821
+ </tr>
7822
+ </table>
7823
+ </td>
7824
+ </tr>
7825
+ </table>
7826
+ </td>
7827
+ </tr>
7828
+
7829
+ <!-- Footer -->
7830
+ <tr>
7831
+ <td style="background-color:#f9fafb;padding:20px;text-align:center">
7832
+ <p style="margin:0;font-size:12px;color:#9ca3af">ALL RIGHTS RESERVED © FLASHCAT.CLOUD</p>
7833
+ </td>
7834
+ </tr>
7835
+ </table>
7836
+ </td>
7837
+ </tr>
7838
+ </table>
7562
7839
  </body>
7563
-
7564
7840
  </html>
7565
7841
  \`\`\`
7566
7842
 
@@ -7624,14 +7900,14 @@ url: "https://docs.flashcat.cloud/zh/flashduty/huawei-apm-integration-guide"
7624
7900
 
7625
7901
  ## 一、华为云 APM 告警推送配置
7626
7902
 
7627
- ### 创建 FlashDuty 告警通道
7903
+ ### 创建 Flashduty 告警通道
7628
7904
  1. 登录您的华为云控制台,检索 \`SMN\` 消息通知服务产品,并进入对应产品控制台。
7629
7905
  2. 在左侧导航栏选择 \`主题管理=>主题\`。
7630
- 3. 点击 \`创建主题\`,在编辑页面中的主题名称处输入 \`FlashDuty\` 并点击确认。
7906
+ 3. 点击 \`创建主题\`,在编辑页面中的主题名称处输入 \`Flashduty\` 并点击确认。
7631
7907
 
7632
7908
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/huawei-lts-1.png" />
7633
7909
 
7634
- 4. 回到主题列表后,在刚创建的 FlashDuty 主题中点击 \`添加订阅\`。
7910
+ 4. 回到主题列表后,在刚创建的 Flashduty 主题中点击 \`添加订阅\`。
7635
7911
 
7636
7912
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/huawei-lts-2.png" />
7637
7913
 
@@ -7647,7 +7923,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/huawei-apm-integration-guide"
7647
7923
 
7648
7924
  #### 步骤1:添加通知配置
7649
7925
  1. 登录您的 \`华为云 APM\` 控制台,在 \`应用监控=>指标\` 中,点击 \`通知配置\`。
7650
- 2. 选择对应的区域后,点击 \`新增\`,在主题处选择已创建的 \`FlashDuty\` 主题。
7926
+ 2. 选择对应的区域后,点击 \`新增\`,在主题处选择已创建的 \`Flashduty\` 主题。
7651
7927
  3. 点击 \`确认\` 完成配置。
7652
7928
 
7653
7929
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/zh/hw/hw-apm-1.png" />
@@ -7657,7 +7933,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/huawei-apm-integration-guide"
7657
7933
  2. 选择 \`告警策略\`,点击 \`新增自定义告警策略\` 或编辑已有的告警策略。
7658
7934
  3. 在 \`告警策略\` 编辑页面中,告警指标、告警条件等请按业务需要进行配置。
7659
7935
  4. \`告警内容\` 中在引用变量时,建议以K:V的格式进行配置,便于后续告警事件的解析,比如 host:\${hostInfo}。
7660
- 5. \`通知对象\` 中选择已创建的 \`FlashDuty\` 通知渠道。
7936
+ 5. \`通知对象\` 中选择已创建的 \`Flashduty\` 通知渠道。
7661
7937
  6. 点击 \`确认\` 完成配置。
7662
7938
 
7663
7939
  <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/zh/hw/hw-apm-2.png" />
@@ -7983,7 +8259,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/elastalert2-alert-integration-gui
7983
8259
  ---
7984
8260
 
7985
8261
  ### 配置 ElastAlert 2 告警
7986
- 遵循 [ElastAlert FlashDuty](https://elastalert2.readthedocs.io/en/latest/alerts.html#flashduty) 推送配置文档
8262
+ 遵循 [ElastAlert Flashduty](https://elastalert2.readthedocs.io/en/latest/alerts.html#flashduty) 推送配置文档
7987
8263
 
7988
8264
  1. 创建或编辑告警规则文件,例如 \`rules/elastalert2_alert.yaml\`。
7989
8265
  2. 在 \`alert\` 字段中填写 \`flashduty\` 告警类型。
@@ -8035,7 +8311,7 @@ filter:
8035
8311
  query_string:
8036
8312
  query: "created_at:*"
8037
8313
 
8038
- # ------- FlashDuty ----------------
8314
+ # ------- Flashduty ----------------
8039
8315
  alert: flashduty
8040
8316
  flashduty_integration_key: "xxxx"
8041
8317
  flashduty_title: "elastalert2 告警"
@@ -8050,7 +8326,7 @@ flashduty_group: "group1"
8050
8326
  flashduty_cluster: "bj"
8051
8327
  flashduty_app: "app1 "
8052
8328
  flashduty_env: "dev"
8053
- # ------- FlashDuty ----------------
8329
+ # ------- Flashduty ----------------
8054
8330
  \`\`\`
8055
8331
 
8056
8332
  5.重启 ElastAlert,等待告警触发。`,DingtalkAlert:`---
@@ -8375,6 +8651,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/service-now-sync"
8375
8651
  ## 在 ServiceNow
8376
8652
 
8377
8653
  ### 创建用户
8654
+ 需创建一个用户以连接 ServiceNow 实例,用于 Incident 的同步与更新。如果已有可用用户,请直接跳过本步骤。
8378
8655
 
8379
8656
  1. 登录 ServiceNow 实例控制台,通过选择 \`ALL\` ,输入 \`USERS\` 选择\`Organization\`-\`Users\` 。
8380
8657
  2. 点击 \`New\` 新建用户。
@@ -8382,18 +8659,24 @@ url: "https://docs.flashcat.cloud/zh/flashduty/service-now-sync"
8382
8659
  4. \`Password needs reset\` 和 \`Web service access only\` 以及 \`Internal Integration User\` 保持取消勾选状态。
8383
8660
  5. 提交保存。
8384
8661
 
8385
- <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/snow/snow-1.png" />
8662
+ ![2025-09-24-16-19-47](https://docs-cdn.flashcat.cloud/images/png/3db86d07758819d61f4e7d2fc714347b.png)
8386
8663
 
8387
8664
  ### 配置用户
8388
8665
 
8389
- 用于访问 ServiceNow 的用户需要是管理员角色。
8666
+ > **用户角色说明**
8667
+ > **itil:** 该角色在 Flashduty 中的主要使用范围仅限于在同步 ServiceNow Incident 时,进行获取、创建、更新 ServiceNow Incident,不涉及其他任何操作。
8668
+ >
8669
+ > **personalize_dictionary:** 该角色在 Flashduty 中的主要使用范围仅限于 ServiceNow Incident Table 的字段获取,不涉及其他任何操作。
8670
+ >
8671
+ > 关于以上两个角色更多权限范围,可以参考 ServiceNow [官方文档](https://www.servicenow.com/docs/bundle/washingtondc-platform-administration/page/administer/roles/reference/r_BaseSystemRoles.html#d130465e3182)
8390
8672
 
8391
8673
  1. 在用户列表页面,找到新创建的 \`flashduty\` 用户并进到配置页面。
8392
8674
  2. 在编辑页面中,点击 \`Set Password\` 设置一个密码。
8393
8675
  3. 点击 \`Roles\` 添加 **personalize_dictionary 和 itil** 角色(如果不需要配置自定义字段映射关系,可以不授予 personalize_dictionary 权限)。
8394
8676
  4. 点击 \`Update\` 更新配置。
8395
8677
 
8396
- <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/snow/snow-2.png" />
8678
+ ![2025-09-24-16-29-05](https://docs-cdn.flashcat.cloud/images/png/a4416dff926e89b505224e03a4f774c6.png)
8679
+ ![2025-09-24-16-29-58](https://docs-cdn.flashcat.cloud/images/png/19371c16f4c516c095752f2a8e0d45bf.png)
8397
8680
 
8398
8681
  ## 在 Flashduty
8399
8682
 
@@ -8401,18 +8684,31 @@ url: "https://docs.flashcat.cloud/zh/flashduty/service-now-sync"
8401
8684
 
8402
8685
  将以上配置的用户名/密码以及实例名称输入到左侧集成信息中并点击下一步进行配置。
8403
8686
 
8404
- - **集成名称:** 为当前集成定义一个名称。
8405
- - **管理团队:** 当选择管理团队后,只有该团队成员以及租户管理员可以编辑此集成。
8406
- - **协作空间**:选择该集成生效的协作空间,。
8407
- - **同步方向:**
8408
- - To_ServiceNow:将 Flashduty 的故障同步至 ServiceNow。
8409
- - From_ServiceNow:将 ServiceNow Incident 同步至 Flashduty
8410
- - Two-way:Flashduty ServiceNow 互相同步。
8411
- - **触发模式**:
8412
- - 自动触发:需要配置相应的条件,Flashduty 会自动将符合条件的故障同步到 ServiceNow 中。
8413
- - 手动触发:需要在故障详情页的更多操作中手动触发 ServiceNow 同步(该集成配置的名称为触发器名称)。
8414
- - **严重程度映射**:ServiceNow Priority 是由 Impact 和 Urgency 的值共同决定的,所以可以参考 ServiceNow 的 \`Priority Lookup Rules\` 进行配置。另外需要注意的是,只有当 ServiceNow Incident 的 Urgency 发生变化时,才会触发 Flashduty 故障严重程度的更新。
8415
- - **自定义字段映射**:可以选择将故障的某些标签或所有标签以及自定义字段内容同步至 ServiceNow 的字段中(仅支持文本类型的字段)。
8687
+ 1. **集成名称:** 为当前集成定义一个名称。
8688
+ 2. **管理团队:** 当选择管理团队后,只有该团队成员以及租户管理员可以编辑此集成。
8689
+ 3. **协作空间**:选择该集成生效的协作空间,。
8690
+ 4. **同步方向:**
8691
+
8692
+ - To_ServiceNow:将 Flashduty 的故障同步至 ServiceNow
8693
+ - From_ServiceNow:将 ServiceNow 的 Incident 同步至 Flashduty。
8694
+ - Two-way:Flashduty 和 ServiceNow 互相同步。
8695
+
8696
+ 5. **触发模式**:
8697
+ - 自动触发:需要配置相应的条件,Flashduty 会自动将符合条件的故障同步到 ServiceNow 中。
8698
+ - 手动触发:需要在故障详情页的更多操作中手动触发 ServiceNow 同步(该集成配置的名称为触发器名称)。
8699
+
8700
+ 6. **严重程度映射**:
8701
+
8702
+ - ServiceNow 的 Priority 是由 Impact 和 Urgency 的值共同决定的,所以可以参考 ServiceNow 的 \`Priority Lookup Rules\` 进行配置。
8703
+ - 当 ServiceNow Incident 的 Urgency 发生变化时,才会触发 Flashduty 故障严重程度的更新。
8704
+ - 由于 Flashduty 在遵循最小权限的情况下,无法获取 ServiceNow 的 Impact 和 Urgency 列表,所以只提供了默认值,如果您需要自定义映射关系时,可以联系技术支持。
8705
+
8706
+ 7. **自定义字段映射**:可以将故障中的标签或自定义字段,映射到 ServiceNow 工单中的对应文本字段,实现信息自动填充。该功能支持将常见上下文信息(如服务名、实例地址、指标名称等)同步至 ServiceNow,便于后续排查与跟踪。
8707
+
8708
+ - 仅支持目标为单行文本或多行文本类型的字段。
8709
+ - 支持从故障标签(如 service、instance)或自定义属性中提取值。
8710
+ - 若源字段为空,目标字段也将保持为空,不会覆盖原有内容。
8711
+ - 映射配置在集成设置中统一管理,无需每次手动填写。
8416
8712
 
8417
8713
  ## 在 ServiceNow
8418
8714
 
@@ -8453,7 +8749,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/service-now-sync"
8453
8749
  2. 点击 \`New\` 新建 Script Include。
8454
8750
  3. \`Name\` 输入:**IncidentWebhookHelper** , \`Accessible from\` 选择 **All application scopes**。
8455
8751
  4. \`Client callable\` 和 \`Active\` 保持勾选状态。
8456
- 5. \`Script\` 输入以下内容,其中 **request.setEndpoint** 中需要补充集成的推送地址:
8752
+ 5. \`Script\` 输入以下内容,其中 **request.setEndpoint** 中需要补充集成的<span class='integration_url'>推送地址</span>:
8457
8753
 
8458
8754
  <div class="hide">
8459
8755
 
@@ -8547,7 +8843,7 @@ IncidentWebhookHelper.prototype = {
8547
8843
  3. \`Name\` 输入:**Send To Flashduty** , \`Table\` 选择 **Incident**。
8548
8844
  4. \`Advanced\` 和 \`Active\` 保持勾选状态。
8549
8845
  5. 在 \`When to run\` 区域中,\`When\` 选择 **async**,\`Insert\` 和 \`Upsert\` 保持勾选状态,其他按需配置。
8550
- 6. 在 \`Advanced\` 区域中,\`Script\` 填写以下内容,其中 **endpoint** 中需要补充集成的推送地址:
8846
+ 6. 在 \`Advanced\` 区域中,\`Script\` 填写以下内容,其中 **endpoint** 中需要补充集成的<span class='integration_url'>推送地址</span>
8551
8847
 
8552
8848
  <div class="hide">
8553
8849
 
@@ -8618,23 +8914,23 @@ IncidentWebhookHelper.prototype = {
8618
8914
 
8619
8915
  | ServiceNow | Flashduty | 备注 |
8620
8916
  | ------------------- | ------------- | ---- |
8621
- | Short_description | Title | |
8622
- | Description | Description | |
8623
- | Additional comments | Comments | |
8624
- | State | Progress | |
8625
- | Urgency | Severity | |
8626
- | Others | Custom Fields | |
8917
+ | Short_description | Title | 标题 |
8918
+ | Description | Description | 描述信息 |
8919
+ | Additional comments | Comments | 评论 |
8920
+ | State | Progress | 状态 |
8921
+ | Urgency | Severity | 严重程度 |
8922
+ | Others | Custom Fields | 自定义字段 |
8627
8923
 
8628
8924
  ### 状态映射
8629
8925
 
8630
8926
  | ServiceNow | Flashduty | 备注 |
8631
8927
  | ----------- | ---------- | --------------- |
8632
- | New | Trigger | |
8633
- | In Progress | Processing | |
8928
+ | New | Trigger | 触发 |
8929
+ | In Progress | Processing | 待处理 |
8634
8930
  | On Hold | Snoozed | 默认暂缓 2 小时 |
8635
- | Resolved | CLosed | |
8636
- | Closed | CLosed | |
8637
- | Canceled | CLosed | |
8931
+ | Resolved | CLosed | 关闭 |
8932
+ | Closed | CLosed | 关闭 |
8933
+ | Canceled | CLosed | 关闭 |
8638
8934
 
8639
8935
  ### 优先级映射
8640
8936
 
@@ -8642,10 +8938,21 @@ IncidentWebhookHelper.prototype = {
8642
8938
 
8643
8939
  | ServiceNow | Flashduty | 备注 |
8644
8940
  | ---------- | --------- | ---- |
8645
- | Low | Info | |
8646
- | Medium | Warning | |
8647
- | High | Critical | |
8648
- `,Monit:`---
8941
+ | Low | Info | 提示 |
8942
+ | Medium | Warning | 警告 |
8943
+ | High | Critical | 灾难 |
8944
+
8945
+ ## 常见问题
8946
+
8947
+ <details>
8948
+ <summary>新建 ServiceNow 用户时,UserID 是否可以自定义?</summary>
8949
+ 可以自定义,文档指引中使用 flashduty 作为 UserID,是为了更好的标识该用户用于 Incident 同步
8950
+ </details>
8951
+
8952
+ <details>
8953
+ <summary>配置集成时提示 401 错误 </summary>
8954
+ 提示 401 一般是密码错误导致的,请检查密码是否正确,或者重新设置新的密码(在配置密码时,请勿勾选 Password needs reset 选项)
8955
+ </details>`,Monit:`---
8649
8956
  title: "Monit 告警集成"
8650
8957
  description: "Flashduty Monit 告警集成,Monit 服务通过此集成上报告警"
8651
8958
  date: "2025-05-19T10:00:00+08:00"
@@ -8753,4 +9060,526 @@ url: "https://docs.flashcat.cloud/zh/flashduty/volcengine-detect-integration-gui
8753
9060
 
8754
9061
  </div>
8755
9062
 
9063
+ `,WecomAlert:`---
9064
+ title: "企微告警集成"
9065
+ description: "在 Flashduty 生成唯一的企微机器人地址,通过企微的方式将告警的发生与恢复同步到 Flashduty"
9066
+ date: "2025-05-19T10:00:00+08:00"
9067
+ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-alert-integration-guide"
9068
+ ---
9069
+
9070
+ 在 Flashduty 生成唯一的企微机器人告警地址,通过企微机器人告警地址将告警的发生与恢复同步到 Flashduty。
9071
+
9072
+ <div class="hide">
9073
+
9074
+ ## 操作步骤
9075
+ ---
9076
+
9077
+ ### 创建企微告警集成
9078
+
9079
+ 您可通过以下2种方式,获取一个企微机器人告警集成地址,任选其一即可。
9080
+
9081
+ #### 使用专属集成
9082
+
9083
+ 当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。
9084
+
9085
+ <details>
9086
+ <summary>展开</summary>
9087
+
9088
+ 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面
9089
+ 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面
9090
+ 3. 选择 **企微告警** 集成,点击 **保存**,生成卡片。
9091
+ 4. 点击生成的卡片,可以查看到 **企微告警集成地址**,复制备用,完成。
9092
+
9093
+ </details>
9094
+
9095
+ #### 使用共享集成
9096
+
9097
+ 当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。
9098
+
9099
+ <details>
9100
+ <summary>展开</summary>
9101
+
9102
+ 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。
9103
+ 2. 选择 **企微告警** 集成:
9104
+ - **集成名称**:为当前集成定义一个名称。
9105
+ - **消息类型**:选择企微告警消息类型,目前仅支持 Text、Markdown。
9106
+ - **推送模式**:选择企微告警在何种情况下触发或恢复告警。
9107
+ 3. 复制当前页面的 **企微告警集成地址** 备用。
9108
+ 4. 配置默认路由,并选择对应的协作空间(集成创建后可以前往 \`路由\` 进行更多路由规则的配置)。
9109
+ 5. 完成。
9110
+
9111
+ </details>
9112
+ </div>
9113
+
9114
+ ### 定制企微告警集成
9115
+
9116
+ #### 企微告警集成地址
9117
+
9118
+ 系统会帮您生成一个唯一的企微告警集成地址,该地址兼容企微机器人消息的协议,在有的平台仅支持企微机器人通道时,您可以使用该地址来接收对应的消息。
9119
+
9120
+ #### 推送模式
9121
+
9122
+ 默认系统总是为每一条消息创建新的告警,但您可以切换模式为:
9123
+
9124
+ **根据规则触发或关闭告警**:该模式下,每当接收到新消息,系统会根据您的规则进行消息匹配,匹配到的消息按照规则去触发新告警或关闭已有告警。
9125
+
9126
+ - 您至少需要填写一条**触发**规则;
9127
+ - 您必须设置 Alert Key 的正则提取规则。系统使用该字段来查找历史告警,以便对其进行更新或关闭;**如果正则提取失败,系统将随机来生成 Alert Key**,以确保告警不会因为配置错误而丢失;
9128
+ - 您可以选择,当所有的规则都不匹配时,是否丢弃消息。
9129
+
9130
+ 配置示例:
9131
+
9132
+ - 接收所有消息,当消息内容中包含 **RESOVED** 字样时,关闭告警,否则触发新告警;
9133
+ - Alert Key 从消息内容中提取,规则为 **/(.\\*)/**。
9134
+
9135
+
9136
+ ### 注意事项
9137
+ - 企微告警集成地址仅支持接收 Text、Markdown 消息类型,其他消息无法接收。
9138
+ - Flashduty 会生成默认告警标题: “企微机器人告警”,如果您需要更改标题,可以通过[告警处理 Pipeline](https://docs.flashcat.cloud/zh/flashduty/alert-pipelines) 来自定义标题。
9139
+
9140
+ ## 严重程度映射关系
9141
+ ---
9142
+
9143
+ 当前企微告警集成推送到 Flashduty 的严重程度均为Warning,但您可以通过[告警处理 Pipeline](https://docs.flashcat.cloud/zh/flashduty/alert-pipelines) 来自定义严重程度。`,ServiceDeskPlusSync:`---
9144
+ title: "ServiceDesk Plus 同步"
9145
+ description: "通过 ServiceDesk Plus 同步 Webhook,实现故障与 ServiceDesk Plus request 的关联。"
9146
+ date: "2025-05-19T10:00:00+08:00"
9147
+ url: "https://docs.flashcat.cloud/zh/flashduty/servicedesk-plus-sync"
9148
+ ---
9149
+
9150
+ 通过 ServiceDesk Plus 同步 Webhook,将 Flashduty 的故障与 ServiceDesk Plus request 进行关联同步,实现 Flashduty 与 ServiceDesk Plus 的联动。
9151
+
9152
+ 本集成基于 ServiceDesk Plus 官方提供的 v3 API 协议,兼容其接口规范。若您使用私有化部署版本,请确认其 API 是否支持 v3 版本。此外,ServiceDesk Plus 的云版本与私有化版本在授权配置方式上存在差异,具体配置请参考相关文档说明。
9153
+
9154
+ - [云版本](#云版本)
9155
+ - [私有化](#私有化)
9156
+
9157
+ 在配置此集成时,如果您选择的同步方向是 From_ServiceDesk_Plus,您可以直接跳过授权相关配置,直接参考[配置同步](#配置同步)即可。
9158
+
9159
+ ## 云版本 <span id="云版本"></span>
9160
+
9161
+ ### 在 ServiceDesk Plus
9162
+ #### 步骤1 创建授权应用
9163
+ 请根据您的 ServiceDesk Plus 服务区域选择对应的 Developer Console 地址:[Data Centres](https://www.manageengine.com/products/service-desk/sdpod-v3-api/getting-started/data-centers.html)
9164
+
9165
+ 1. 登录 Developer Console,选择 \`Self Client\` 类型的 Client 并创建。
9166
+ 2. 点击 \`Generate Code\`,在 \`Scope\` 中填写:**SDPOnDemand.requests.ALL,SDPOnDemand.setup.READ,SDPOnDemand.custommodule.READ**。权限范围参考[官方文档](https://www.manageengine.com/products/service-desk/sdpod-v3-api/getting-started/oauth-2.0.html#scopes)。
9167
+
9168
+ 3. \`Time Duration\` 选择最大的 **10 minutes**,\`Scope Description\` 填写内容可自定义,比如: Flashduty 同步使用,并创建。
9169
+ 4. 将生成的 **Code** 和 **Client ID** 以及 **Client Secret** 复制备用。
9170
+
9171
+ ![2025-09-24-14-59-28](https://docs-cdn.flashcat.cloud/images/png/793fa15bd6e919e81fd3baaaab591275.png)
9172
+ ![2025-09-24-15-00-56](https://docs-cdn.flashcat.cloud/images/png/3b1b9d7a9c4bcc93ddf4cd73e47713f5.png)
9173
+
9174
+ ###### 注意:Code 的有效期只有 10 分钟且只能使用一次,所以在获取到 Code 后,请在有效期内尽快完成[集成授权](#集成授权)
9175
+
9176
+ ### 在 Flashduty
9177
+ #### 步骤2 集成授权 <span id="集成授权"></span>
9178
+ 请根据您的 ServiceDesk Plus 服务区域选择对应的 API Endpoint 和 Accounts Server URL:[Data Centres](https://www.manageengine.com/products/service-desk/sdpod-v3-api/getting-started/data-centers.html)
9179
+
9180
+ 1. \`平台类型\` 选择**云版本**,填写\`API Endpoint\` 和 \`Accounts Server URL\`。
9181
+ 2. 将**创建授权应用**步骤中生成的 \`Code\` 和 \`Client ID\` 以及 \`Client Secret\` 填写到对应的编辑框并点击下一步完成[集成配置](#集成配置)(如果报错请重新获取 Code,或联系技术支持排查问题)。
9182
+
9183
+ ## 私有化版本 <span id="私有化"></span>
9184
+ ### 在 ServiceDesk Plus
9185
+ #### 步骤1 生成 API 密钥
9186
+ 1. 登录 ServiceDesk Plus 控制台,在个人中心点击 \`生成 API 密钥\`。
9187
+ 2. \`令牌过期时间\` 选择 **永不过期**,将生成的 **Token** 复制备用,并完成[集成授权](#私有化版本集成授权)。
9188
+
9189
+ ###### 注意:生成 API 密钥的用户需要具备相关权限,比如创建/更新请求、获取模版/优先级/自定义字段列表等权限,如果权限不足,会导致无法完成集成配置,建议使用管理员角色生成。
9190
+
9191
+ ### 在 Flashduty
9192
+ #### 步骤2 集成授权 <span id="私有化版本集成授权"></span>
9193
+ 1. \`平台类型\` 选择**私有化版本**,填写\`API Endpoint\`。
9194
+ 2. 将生成的 **Token** 填写到对应的编辑框并点击下一步完成[集成配置](#集成配置)。
9195
+
9196
+
9197
+ ## 通用配置
9198
+
9199
+ ### 在 Flashduty
9200
+ #### 步骤1 集成配置 <span id="集成配置"></span>
9201
+
9202
+ 1. **集成名称:** 为当前集成定义一个名称。
9203
+ 2. **管理团队:** 当选择管理团队后,只有该团队成员以及租户管理员可以编辑此集成。
9204
+ 3. **同步方向:**
9205
+
9206
+ - To_ServiceDesk_Plus:将 Flashduty 的故障同步至 ServiceDesk Plus。
9207
+ - From_ServiceDesk_Plus:将 ServiceDesk Plus 的 Request 同步至 Flashduty。
9208
+ - Two-way:Flashduty 和 ServiceDesk Plus 互相同步。
9209
+
9210
+ 4. **触发模式**:
9211
+ - 自动触发:需要配置相应的条件,Flashduty 会自动将符合条件的故障同步到 ServiceDesk Plus 中。
9212
+ - 手动触发:需要在故障详情页的更多操作中手动触发 ServiceDesk Plus 同步(该集成配置的名称为触发器名称)。
9213
+
9214
+ 5. **协作空间**:选择该集成生效的协作空间。
9215
+ 6. **请求模版**:选择创建 request 时使用的模版,为空时使用默认模版创建工单。
9216
+ 7. **严重程度映射**:可以选择使用严重程度、故障标签、自定义字段的值与 ServiceDesk Plus 的优先级字段进行映射,如果为空,在创建工单时不传该字段。
9217
+ 8. **自定义字段映射**:可以将故障中的标签或自定义字段,映射到 ServiceDesk Plus 工单中的对应文本字段,实现信息自动填充。该功能支持将常见上下文信息(如服务名、实例地址、指标名称等)同步至 ServiceDesk Plus,便于后续排查与跟踪。
9218
+ - 仅支持目标为单行文本或多行文本类型的字段。
9219
+ - 支持从故障标签(如 service、instance)或自定义属性中提取值。
9220
+ - 若源字段为空,目标字段也将保持为空,不会覆盖原有内容。
9221
+
9222
+ 9. **指派对象映射**:当 Flashduty 的故障同步至 ServiceDesk Plus 并需要自动指派到 Technician 或 Group 时,可以获取 Flashduty 故障标签的值作为指派对象(如果对应的指派对象不存在,会导致同步失败,请谨慎选择)。
9223
+ 10. **请求者**:创建工单时指定的 requester,如果工单在创建时该字段是必须,则需要配置。
9224
+ 11. 点击\`保存\`完成配置。
9225
+
9226
+ ### 在 ServiceDesk Plus
9227
+
9228
+ #### 步骤2 配置同步 <span id="配置同步"></span>
9229
+ 要实现 ServiceDesk Plus 的 Request 向 Flashduty 的同步,请参考此配置项。**注意:** 不同版本的路径可能略有不同,但配置方法相同。
9230
+ ##### 创建 Webhook
9231
+ 1. 登录 ServiceDesk Plus 控制台,找到 \`Setup\` 配置页面。
9232
+ 2. 选择 \`Automation\` 之后,进入到 \`Custom Actions\` 页面,并选择 \`Webhooks\`。
9233
+ 3. 点击 \`New Webhook\`,在编辑页面中 \`Webhook Name\` 填写 **to_Flashduty**。
9234
+ 4. \`URL\` 填写集成的<span class='integration_url'>推送地址</span>。
9235
+ 5. \`Applies to\` 选择 **Requsts**,\`Method\` 选择 **POST**,\`Headers\` 中填写 **Content-Type application/json**。
9236
+ 6. \`Message Body\` 的 Type 选择 **JSON**,并填写以下内容:
9237
+
9238
+ \`\`\`
9239
+ # 云版本
9240
+ {
9241
+ "subject":"\${subject}",
9242
+ "request_id":"\${id}",
9243
+ "description":"\${udf_fields.txt_destination}",
9244
+ "priority":"\${priority.name}",
9245
+ "status":"\${status.name}",
9246
+ "txt_test_field":"\${udf_fields.txt_test_field}"
9247
+
9248
+ }
9249
+ \`\`\`
9250
+
9251
+ \`\`\`
9252
+ # 私有化版本
9253
+ {
9254
+ "suject":"\${{request.subject}}",
9255
+ "request_id":"\${{request.id}}",
9256
+ "description":"\${{request.description}}",
9257
+ "status":"\${{request.status.name}}",
9258
+ "priority":"\${{request.priority.name}}",
9259
+ "udf_sline_301":"\${{request.udf_fields.udf_sline_301}}"
9260
+ }
9261
+
9262
+ \`\`\`
9263
+ 7. 点击 \`Save\` 完成配置。
9264
+
9265
+ ![2025-09-23-13-32-32](https://docs-cdn.flashcat.cloud/images/png/94ca1d094ed38ebcaf299364eddfd0ac.png)
9266
+
9267
+ ##### 步骤3 创建触发器
9268
+ 1. 登录 ServiceDesk Plus 控制台,找到 \`Setup\` 配置页面。
9269
+ 2. 选择 \`Automation\` 之后,进入到 \`Triggers\` 页面,并选择 \`Request\`。
9270
+ 3. 点击 \`New Trigger\`,在编辑页面中 \`Name\` 填写 **to_Flashduty**。
9271
+ 4. \`Trigger applies to\` 选择 **Request**,\`Execute when a request is\` 勾选 **Create 和 Edited**。
9272
+ 5. \`Execute during\` 选择 **Any time**,并勾选 **Enable Trigger**。
9273
+ 6. \`Conditions\` 选择 \`Without condition\` 或按实际需求配置。
9274
+ 7. 在 \`Actions\` 中选择 **Webhook** 并勾选 **to_Flashduty** 通道。
9275
+ 8. 点击 \`Save\` 完成配置。
9276
+
9277
+ ![2025-09-23-13-42-20](https://docs-cdn.flashcat.cloud/images/png/9573d79763af656e0e08c5bdc3649a14.png)
9278
+
9279
+
9280
+ ## 同步信息映射关系
9281
+
9282
+ ### 表单字段
9283
+
9284
+ | ServiceDesk Plus | Flashduty | 备注 |
9285
+ | ------------------- | ------------- | ---- |
9286
+ | Subjeck | Title | | 标题
9287
+ | Description | Description | 描述信息 |
9288
+ | Status | Progress | 状态 |
9289
+ | Priority | Severity | 严重程度 |
9290
+ | Others | Custom Fields | 自定义字段 |
9291
+
9292
+ ### 状态映射
9293
+
9294
+ | ServiceDesk Plus | Flashduty | 备注 |
9295
+ | ----------- | ---------- | --------------- |
9296
+ | Open | Trigger | 触发 |
9297
+ | In Progress | Processing | 待处理 |
9298
+ | Assigned | Processing | 待处理 |
9299
+ | Pending Verification | Processing | 待处理 |
9300
+ | Staging | Processing | 待处理 |
9301
+ | On Hold | Snoozed | 默认暂缓 2 小时 |
9302
+ | Resolved | CLosed | 关闭 |
9303
+ | Closed | CLosed | 关闭 |
9304
+ | Canceled | CLosed | 关闭 |
9305
+ | Rejected | CLosed | 关闭 |
9306
+
9307
+
9308
+ ## 常见问题
9309
+
9310
+ <details>
9311
+ <summary> Scope 是否可以更改</summary>
9312
+ 不可以,目前所使用的 Scope 已经是最小单元了,Flashduty 在与 ServiceDesc Plus 进行同步 request 时,需要做获取/创建/更新操作,以及在配置集成时,需要获取优先级/自定义字段列表,所以需要相应的权限支持。
9313
+ </details>
9314
+ `,Harbor:`---
9315
+ title: "Harbor 告警集成"
9316
+ description: "通过 webhook 的方式同步 Harbor 的告警事件到 Flashduty,实现告警事件自动化降噪处理"
9317
+ date: "2025-05-19T10:00:00+08:00"
9318
+ url: "https://docs.flashcat.cloud/zh/flashduty/harboe-integration-guide"
9319
+ ---
9320
+
9321
+ 通过 webhook 的方式同步 Harbor 的告警事件到 Flashduty,实现告警事件自动化降噪处理。
9322
+
9323
+ <div class="hide">
9324
+
9325
+ ## 在 Flashduty
9326
+ ---
9327
+
9328
+ ### 创建 Harbor 告警集成
9329
+
9330
+ 您可通过以下2种方式,获取一个企微机器人告警集成地址,任选其一即可。
9331
+
9332
+ #### 使用专属集成
9333
+
9334
+ 当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。
9335
+
9336
+ <details>
9337
+ <summary>展开</summary>
9338
+
9339
+ 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面
9340
+ 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面
9341
+ 3. 选择 **Harbor** 集成,点击 **保存**,生成卡片。
9342
+ 4. 点击生成的卡片,可以查看到 **Harbor 告警集成地址**,复制备用,完成。
9343
+
9344
+ </details>
9345
+
9346
+ #### 使用共享集成
9347
+
9348
+ 当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。
9349
+
9350
+ <details>
9351
+ <summary>展开</summary>
9352
+
9353
+ 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。
9354
+ 2. 选择 **Harbor** 集成:
9355
+ - **集成名称**:为当前集成定义一个名称。
9356
+ - **推送模式**:选择企微告警在何种情况下触发或恢复告警。
9357
+ 3. 复制当前页面的 **Harbor 告警集成地址** 备用。
9358
+ 4. 配置默认路由,并选择对应的协作空间(集成创建后可以前往 \`路由\` 进行更多路由规则的配置)。
9359
+ 5. 完成。
9360
+
9361
+ </details>
9362
+
9363
+ ## 在 Harbor
9364
+ ---
9365
+ </div>
9366
+
9367
+
9368
+ ### 配置 Webhook 通道
9369
+
9370
+ 1. 使用至少具有项目管理员权限的帐户登录 Harbor 界面。
9371
+ 2. 转到\`项目\`,选择一个项目,然后选择 \`Webhook\`。
9372
+ 3. 选择通知类型 \`HTTP\`,以便 webhook 将发送到 HTTP 端点。
9373
+ 4. 当选择 HTTP 通知类型时,选择有效负载格式为 \`Default 或 CloudEvents\`。
9374
+ 5. 选择您要\`订阅的事件\`。
9375
+ 6. \`Endpoint URL\` 输入告警集成的<span class='integration_url'>推送地址</span>。
9376
+ 7. 单击 添加 以创建 webhook。
9377
+
9378
+ ## 严重程度映射关系
9379
+ ---
9380
+
9381
+ 当前 Harbor 告警集成推送到 Flashduty 的严重程度均为 Warning,但您可以通过[告警处理 Pipeline](https://docs.flashcat.cloud/zh/flashduty/alert-pipelines) 来自定义严重程度。`,LabelMappingAPI:`配置标签映射 API,当告警事件到达时,Flashduty 将自动调用您配置的外部 API 获取增强标签,实现告警信息的动态丰富和关联。通过此功能,您可以将 CMDB、HR 系统等外部数据源的信息自动附加到告警上。
9382
+
9383
+ ## 一、功能概述
9384
+
9385
+ 标签映射 API 允许您构建自定义的外部服务来增强告警标签。工作流程如下:
9386
+
9387
+ 1. Flashduty 接收到告警事件
9388
+ 2. 系统根据配置,将事件信息和期望获取的标签列表发送到您的 API
9389
+ 3. 您的 API 查询外部数据源(如 CMDB、数据库等)
9390
+ 4. API 返回计算得到的增强标签
9391
+ 5. Flashduty 将返回的标签附加到告警上
9392
+
9393
+ <span id="ApiSpec"></span>
9394
+
9395
+ ## 二、API 规范
9396
+
9397
+ ### 请求方式
9398
+
9399
+ <div class="md-block">
9400
+
9401
+ POST, Content-Type:"application/json"
9402
+
9403
+ </div>
9404
+
9405
+ ### 请求 Payload:
9406
+
9407
+ <div class="md-block">
9408
+
9409
+ | 字段 | 类型 | 必含 | 释义 |
9410
+ | :--------: | :-------------------: | :--: | :--------- |
9411
+ | result_label_keys | []string | 是 | 期望返回的标签 Key 列表,由用户在 Flashduty 中配置 |
9412
+ | event | [Event](#Event) | 是 | 当前告警事件的完整信息 |
9413
+
9414
+ <span id="Event"></span>
9415
+ **Event**:
9416
+
9417
+ | 字段 | 类型 | 必含 | 释义 |
9418
+ | :--------: | :-------------------: | :--: | :--------- |
9419
+ | account_id | int64 | 是 | 账户 ID |
9420
+ | channel_id | int64 | 是 | 协作空间 ID |
9421
+ | data_source_id | int64 | 是 | 数据源 ID |
9422
+ | data_source_type | string | 是 | 数据源类型,如 prometheus、zabbix 等 |
9423
+ | title | string | 是 | 告警标题 |
9424
+ | title_rule | string | 否 | 标题规则 |
9425
+ | description | string | 否 | 告警描述 |
9426
+ | alert_key | string | 是 | 告警唯一标识 |
9427
+ | alert_id | string | 是 | 告警 ID |
9428
+ | event_severity | string | 是 | 事件严重程度,枚举值:Critical、Warning、Info |
9429
+ | event_status | string | 是 | 事件状态,枚举值:Critical、Warning、Info、Ok |
9430
+ | event_time | int64 | 是 | 事件时间,Unix 秒时间戳 |
9431
+ | labels | map[string]string | 否 | 告警原始标签 KV |
9432
+ | images | []string | 否 | 告警关联图片列表 |
9433
+
9434
+ </div>
9435
+
9436
+ ### 请求示例
9437
+
9438
+ <div class="md-block">
9439
+
9440
+ \`\`\`json
9441
+ {
9442
+ "result_label_keys": ["owner_team", "service_tier", "host_ip"],
9443
+ "event": {
9444
+ "account_id": 1,
9445
+ "channel_id": 20,
9446
+ "data_source_id": 15,
9447
+ "data_source_type": "prometheus",
9448
+ "description": "CPU usage for instance '10.0.1.101:9100' is over 95%",
9449
+ "title": "High CPU Usage on instance 10.0.1.101:9100",
9450
+ "title_rule": "",
9451
+ "alert_key": "d41d8cd98f00b204e9800998ecf8427e",
9452
+ "alert_id": "62d6c0f6b8f1b2b3c4d5e6f7",
9453
+ "event_severity": "Critical",
9454
+ "event_status": "Critical",
9455
+ "event_time": 1678886400,
9456
+ "labels": {
9457
+ "region": "us-east-1",
9458
+ "service": "service-A",
9459
+ "env": "production",
9460
+ "instance": "10.0.1.101:9100"
9461
+ },
9462
+ "images": []
9463
+ }
9464
+ }
9465
+ \`\`\`
9466
+
9467
+ </div>
9468
+
9469
+ ### 响应规范
9470
+
9471
+ <div class="md-block">
9472
+
9473
+ **成功响应:**
9474
+
9475
+ | 字段 | 类型 | 必含 | 释义 |
9476
+ | :--------: | :-------------------: | :--: | :--------- |
9477
+ | result_labels | map[string]string | 是 | 返回的增强标签 KV 对象 |
9478
+
9479
+ - HTTP 状态码:\`200 OK\`
9480
+ - 响应体必须是包含 \`result_labels\` 字段的 JSON 对象
9481
+ - \`result_labels\` 的 Key 必须是请求中 \`result_label_keys\` 指定的标签名
9482
+ - 如果某个标签无法获取,**不应**在响应中包含该 Key
9483
+
9484
+ **成功响应示例:**
9485
+
9486
+ \`\`\`json
9487
+ {
9488
+ "result_labels": {
9489
+ "owner_team": "team-database",
9490
+ "service_tier": "tier-1",
9491
+ "host_ip": "10.0.1.101"
9492
+ }
9493
+ }
9494
+ \`\`\`
9495
+
9496
+ **失败响应:**
9497
+
9498
+ | 状态码 | 含义 |
9499
+ | :--------: | :--------- |
9500
+ | 404 Not Found | 根据 event 信息无法找到任何可用于增强的数据 |
9501
+ | 400 Bad Request | 请求体格式错误或 event 对象缺少关键字段 |
9502
+ | 5xx | API 内部发生非预期的错误(如数据库连接失败) |
9503
+
9504
+ > **提示:** 返回 \`200 OK\` 状态码 + 空的 \`result_labels: {}\` 对象也会被视为"无结果",但使用 \`404\` 状态码是更规范的做法。
9505
+
9506
+ </div>
9507
+
9508
+ <span id="ServiceConfig"></span>
9509
+
9510
+ ## 三、配置映射服务
9511
+
9512
+ 在 Flashduty 中配置标签映射时,您需要先创建一个映射服务,然后在标签增强规则中引用该服务。
9513
+
9514
+ ### 映射服务字段说明
9515
+
9516
+ <div class="md-block">
9517
+
9518
+ | 字段名 | 类型 | 必填 | 释义 |
9519
+ | :--------: | :-------------------: | :--: | :--------- |
9520
+ | api_name | string | 是 | 服务的可读名称,用于在 UI 中选择和引用,例如 "CMDB 资产查询 API" |
9521
+ | description | string | 否 | 对该服务的详细描述 |
9522
+ | url | string | 是 | API 的请求 URL,支持使用模板变量 |
9523
+ | headers | map[string]string | 否 | HTTP 请求头,用于传递自定义认证信息,受[安全黑名单](#HeaderBlacklist)限制 |
9524
+ | timeout | int | 否 | 请求超时时间(单位:秒),可取值:1~3 |
9525
+ | retry_count | int | 否 | 请求失败后的重试次数,可取值:0~1 |
9526
+ | insecure_skip_verify | bool | 否 | 请求 HTTPS 时跳过证书验证 |
9527
+ | status | string | 否 | 服务状态,如 enabled、disabled |
9528
+
9529
+ </div>
9530
+
9531
+ ### 标签增强规则配置
9532
+
9533
+ 配置标签增强规则时,只需要关注以下配置:
9534
+
9535
+ 1. **result_label_keys**:指定期望从 API 获取的标签列表,Flashduty 会自动将此列表和当前的 \`event\` 对象组合成请求体发送给您的 API
9536
+ 2. **映射服务**:选择或配置 API 服务的 URL、Headers 等信息
9537
+
9538
+ <span id="HeaderBlacklist"></span>
9539
+
9540
+ ## 四、Header 安全约束
9541
+
9542
+ 为了防止安全绕过、请求走私、IP 伪造及缓存污染,在自定义 API 请求头时,**禁止**使用以下 Header。系统网关将自动过滤或拒绝包含这些 Header 的请求。
9543
+
9544
+ <div class="md-block">
9545
+
9546
+ | 分类 | 禁用 Header | 风险说明 |
9547
+ | :--- | :--- | :--- |
9548
+ | **认证与授权** | \`authorization\`, \`proxy-authorization\`, \`cookie\`, \`x-api-key\`, \`x-access-token\` | 防止凭证泄露或非法劫持已有的认证上下文 |
9549
+ | **IP 与地理位置伪造** | \`x-forwarded-for\`, \`x-real-ip\`, \`true-client-ip\`, \`x-client-ip\` | 防止客户端伪造来源 IP 以绕过频率限制或黑白名单 |
9550
+ | **主机与路由操控** | \`host\`, \`x-forwarded-host\`, \`x-forwarded-proto\`, \`x-internal-id\`, \`x-user-id\` | 防止 Host 注入攻击、重定向循环或伪造内部系统 ID |
9551
+ | **协议与请求走私** | \`transfer-encoding\`, \`upgrade\`, \`connection\` | 防止利用 HTTP 协议差异进行的请求走私攻击 |
9552
+
9553
+ </div>
9554
+
9555
+ ### Header 最佳实践
9556
+
9557
+ 1. **白名单模式**:建议仅允许以 \`X-Custom-\` 或 \`X-Enrich-\` 为前缀的自定义 Header
9558
+ 2. **长度限制**:单个 Header 的 Key 或 Value 长度不应超过 1024 字节
9559
+ 3. **格式校验**:Header 的 Value 严禁包含换行符(\`\\r\`、\`\\n\`),以防止 Header 注入攻击
9560
+
9561
+ ## 五、最佳实践
9562
+
9563
+ 1. **性能优先:** 此 API 位于告警处理的关键路径上,必须保证低延迟。对外部数据源的查询应尽可能快,建议实现缓存机制。
9564
+
9565
+ 2. **明确的错误处理:** 善用 HTTP 状态码(特别是 \`404\`)来传递清晰的执行结果。
9566
+
9567
+ 3. **幂等性:** API 的设计应尽可能幂等。对于同一个 \`event\`,多次调用应返回相同的结果。
9568
+
9569
+ 4. **安全性:** API 必须通过认证和授权机制进行保护,推荐使用自定义 Header(如 \`X-Custom-Auth\`)传递认证信息。
9570
+
9571
+ ## 六、常见问题
9572
+
9573
+ 1. **服务是否有响应超时时间?**
9574
+
9575
+ - 服务需要在配置的超时时间内返回响应,超时则认为响应失败
9576
+
9577
+ 2. **如果 API 返回失败会怎样?**
9578
+
9579
+ - 告警会正常处理,但不会附加增强标签
9580
+ - 根据配置的重试次数,系统可能会重试请求
9581
+
9582
+ 3. **result_label_keys 可以动态变化吗?**
9583
+
9584
+ - 是的,您可以在 Flashduty 中随时修改期望获取的标签列表,无需修改 API 代码
8756
9585
  `};n.FlashDocsZh=t})(window);