From ad47c7b3b82116d442b2e927169fad86484f4c85 Mon Sep 17 00:00:00 2001 From: ysyneu Date: Tue, 8 Jul 2025 11:51:22 +0800 Subject: [PATCH 01/86] update webhook docs --- .../8. Integrations/8.5 Webhooks/8.5.2 Incident webhook.md | 2 +- .../8.5 Webhooks/8.5.2 \346\225\205\351\232\234 webhook.md" | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.2 Incident webhook.md b/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.2 Incident webhook.md index 5b334343..ef6ac2c2 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.2 Incident webhook.md +++ b/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.2 Incident webhook.md @@ -98,7 +98,7 @@ acknowledged_at | int64| No | Acknowledgment time | fields | map[string]interface{} | No | Custom field key-value pairs, Key is string, Value can be any type depending on field type | | creator | [Person](#Person) | No | Creator information, exists only for manually created incidents | | closer | [Person](#Person) | No | Closer information, exists only for manually closed incidents | -| responders | [][Responder](#Responder) | No | List of responder information | +| responders | [][Responder](#Responder) | No | List of responder information, only exists after the incident is assigned. For i_new events, this value may be empty | | alert_cnt | int64 | No | Number of associated alerts | | channel_id | int64 | No | Channel ID, 0 means not belonging to any channel | | channel_name | string | No | Channel name | diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.2 \346\225\205\351\232\234 webhook.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.2 \346\225\205\351\232\234 webhook.md" index 73c4b782..54f0d38d 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.2 \346\225\205\351\232\234 webhook.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.2 \346\225\205\351\232\234 webhook.md" @@ -98,7 +98,7 @@ acknowledged_at | int64| 否 | 认领时间 | fields | map[string]interface{} | 否 | 自定义字段 KV,Key 为字符串,Value 可能为任意类型,取决于字段类型| | creator | [Person](#Person) | 否 | 创建人员信息,仅手动创建故障时存在 | | closer | [Person](#Person) | 否 | 关闭人员信息,仅手动关闭故障时存在 | -| responders | [][Responder](#Responder) | 否 | 处理人员信息列表 | +| responders | [][Responder](#Responder) | 否 | 处理人员信息列表,仅故障被分派后存在。对于i_new事件,此值可能为空 | | alert_cnt | int64 | 否 | 关联告警个数 | | channel_id | int64 | 否 | 协作空间ID,为0代表不属于任何空间 | | channel_name | string | 否 | 协作空间名称 | From 125eaa30831de34c84290a41b5bc6a6088d1d9c2 Mon Sep 17 00:00:00 2001 From: Fiona Date: Tue, 5 Aug 2025 15:54:43 +0800 Subject: [PATCH 02/86] docs: session replay --- .../1. \346\246\202\350\247\210.md" | 78 +++++++++++++++++ .../2. SDK \351\205\215\347\275\256.md" | 85 +++++++++++++++++++ ...32\350\257\235\346\237\245\347\234\213.md" | 46 ++++++++++ ...35\346\212\244\350\257\264\346\230\216.md" | 68 +++++++++++++++ ...57\350\257\255\350\257\264\346\230\216.md" | 0 ...60\346\215\256\346\224\266\351\233\206.md" | 0 ...60\346\215\256\345\256\211\345\205\250.md" | 0 7 files changed, 277 insertions(+) create mode 100644 "flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/1. \346\246\202\350\247\210.md" create mode 100644 "flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" create mode 100644 "flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/3. \344\274\232\350\257\235\346\237\245\347\234\213.md" create mode 100644 "flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/4. \351\232\220\347\247\201\344\277\235\346\212\244\350\257\264\346\230\216.md" rename "flashduty/zh/2. RUM/5. \345\205\266\344\273\226/1. \346\234\257\350\257\255\350\257\264\346\230\216.md" => "flashduty/zh/2. RUM/6. \345\205\266\344\273\226/1. \346\234\257\350\257\255\350\257\264\346\230\216.md" (100%) rename "flashduty/zh/2. RUM/5. \345\205\266\344\273\226/2. \346\225\260\346\215\256\346\224\266\351\233\206.md" => "flashduty/zh/2. RUM/6. \345\205\266\344\273\226/2. \346\225\260\346\215\256\346\224\266\351\233\206.md" (100%) rename "flashduty/zh/2. RUM/5. \345\205\266\344\273\226/4. \346\225\260\346\215\256\345\256\211\345\205\250.md" => "flashduty/zh/2. RUM/6. \345\205\266\344\273\226/4. \346\225\260\346\215\256\345\256\211\345\205\250.md" (100%) diff --git "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/1. \346\246\202\350\247\210.md" "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/1. \346\246\202\350\247\210.md" new file mode 100644 index 00000000..566ef299 --- /dev/null +++ "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/1. \346\246\202\350\247\210.md" @@ -0,0 +1,78 @@ +--- +title: "RUM 会话重放功能概览" +description: "掌握 Flashduty RUM 的会话重放功能,通过重现用户操作路径快速定位问题并优化用户体验。" +date: "2024-05-09T10:00:00+08:00" +url: "https://docs.flashcat.cloud/zh/flashduty/rum/session-replay" +--- + +## 概述 + +Flashduty RUM 的 **会话重放功能**(Session Replay)是一款强大的用户行为分析工具,旨在帮助开发者通过重现用户在网站或应用中的操作路径,结合 RUM 性能和异常追踪数据,可直观了解用户体验,快速定位问题根因。 + +## 核心功能 + +1. **用户操作录制**:自动记录用户的鼠标点击、页面滚动、表单输入、导航行为等操作,生成直观的会话回放视频。 +2. **异常关联**:将会话重放与异常追踪结合,自动关联异常发生时的用户操作和页面状态,帮助快速定位问题触发场景。 +3. **交互分析**:提供用户交互时间线,展示用户操作序列、页面加载时间以及关键事件(如错误或网络请求失败)的发生点。 +4. **隐私保护**:提供灵活的隐私配置,可屏蔽敏感信息(如表单输入内容)或限制录制范围,确保数据合规性。 + +## 价值与优势 + +1. **直观问题定位**:通过可视化回放,快速了解用户遇到问题的具体操作路径,减少排查时间。 +2. **提升用户体验**:洞察用户行为模式,发现交互痛点,优化页面设计和功能逻辑。 +3. **数据驱动优化**:结合异常数据和用户行为分析,为产品迭代提供可靠的数据支持。 + +## 使用场景 + +1. **问题复现**:通过重放用户会话,复现异常发生时的操作场景,快速定位问题根源。 +2. **用户行为分析**:分析用户在关键页面(如支付、注册)的行为,优化用户体验和转化率。 +3. **调试与优化**:结合异常追踪,识别页面加载慢、交互卡顿等问题,优化前端性能。 +4. **客户支持**:通过回放用户会话,快速了解用户反馈的问题,提供更精准的支持。 + +## 会话重放流程 + +Flashduty RUM 的会话重放功能分为两个关键阶段:**行为记录与回放**、**问题分析与优化**。 + +### 1. 行为记录与回放 + +快速记录用户行为并生成回放是分析的第一步。在回放阶段,录制 SDK 会将当前 dom 和 css 样式打快照,并在用户行为(DOM 变化、鼠标移动、点击、表单输入等)发生时收集对应的事件。通过序列化、压缩、去除敏感信息后进行数据上报。 + +### 2. 问题分析与优化 + +Flashduty RUM 提供丰富的行为数据和分析工具,帮助定位问题并优化体验: + +#### 核心行为数据 + +- **用户交互**:点击、滚动、输入、导航等操作的时间线。 +- **页面性能**:页面加载时间、资源加载失败、API 调用延迟等。 +- **异常上下文**:异常发生时的页面状态、DOM 结构和用户操作。 + +#### 上下文信息 + +- **用户环境**:浏览器、设备、操作系统、网络状况。 +- **操作路径**:用户在会话中的完整操作序列。 +- **页面快照**:异常发生时的页面 DOM 快照。 + +通过 Flashduty RUM 的可视化回放工具,您可以快速分析用户行为与问题之间的关联: + +| 问题类型 | 典型表现 | 可能原因 | 定位方法 | +| ---------------- | -------------------- | -------------------------- | ---------------------- | +| **页面加载慢** | 页面白屏、加载超时 | 资源加载失败、网络延迟 | 查看是否有资源加载异常 | +| **功能失效** | 按钮点击无反应 | 代码逻辑错误、事件绑定问题 | 查看具体行为和异常 | +| **表单提交失败** | 数据未保存、提交失败 | API 响应错误、表单验证问题 | 查看错误和异常详情 | + +## 问题分析工具 + +#### 1.会话回放面板 + +在播放器中,您可以查看用户的所有操作,包括点击、滚动和输入等,支持快进、回放和 seek 等播放行为控制,帮助开发者直观复现问题场景并精准分析用户行为。 + +#### 2. 事件与上下文关联 + +会话回放支持与各类事件(如视图加载、错误、用户行为)关联,允许查看详细的 errors 和 attributes(上下文信息,如设备类型、浏览器版本、地理位置等),方便定位问题根因并进行深入分析。 + +## 下一步 + +- [SDK 配置](https://docs.flashcat.cloud/zh/flashduty/rum/session-replay-config) +- [查看会话回放](https://docs.flashcat.cloud/zh/flashduty/rum/session-replay-explorer) +- [了解隐私保护设置](https://docs.flashcat.cloud/zh/flashduty/rum/privacy-settings) diff --git "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" new file mode 100644 index 00000000..29bce3bb --- /dev/null +++ "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" @@ -0,0 +1,85 @@ +--- +title: "RUM 会话重放SDK配置" +description: "掌握 Flashduty RUM 的会话重放功能,通过重现用户操作路径快速定位问题并优化用户体验。" +date: "2024-05-09T10:00:00+08:00" +url: "https://docs.flashcat.cloud/zh/flashduty/rum/session-replay-config" +--- + +## 概述 + +Flashduty RUM 的会话重放功能集成于 RUM SDK 中,通过简单配置采样比例和隐私规则,即可快速启用重放功能。 + +## 开启采集 + +### 自动采集 + +重放 SDK 已集成至 RUM SDK,配置采样比例便可开启重放功能。 + +```js +window.FC_RUM.init({ + applicationId: "YOUR_APPLICATION_ID", + clientToken: "YOUR_CLIENT_TOKEN", + // ... + sessionReplaySampleRate: 10, // 默认采样率10% + // ... +}); +``` + +::: tip +采样方式:在客户端 sdk 初始化 session 时生成 0-1 之间的随机数,与 `rate/100` 进行大小比较。如落在区间内,则该 session 会作为采集样本,回放数据会在 session 周期内采集与上报。 +::: + +默认配置采样率后,会在`RUM.init()`执行后开启自动采集。若想手动控制采集时机(如用户登录后再进行数据采集),可先开启手动采集开关,再手动调用 record 方法。 + +```js +window.FC_RUM.init({ + applicationId: "YOUR_APPLICATION_ID", + clientToken: "YOUR_CLIENT_TOKEN", + // ... + sessionReplaySampleRate: 10, // 默认采样率10% + startSessionReplayRecordingManually: true, // 开启手动采集开关 + // ... +}); + +if (userIsShouldRecord()) { + // 如果满足某些条件,可开启回放 + window.FC_RUM.startSessionReplayRecording(); // 在调用时再开启数据采集 +} +``` + +开启采集后,可通过`stopSessionReplayRecording()`方法停止采集。 + +### 强制开启 + +在某些场景下,即使采样率并未命中,也希望采集该 session 相关数据(如重点监测刚上线的功能,或者捕获某个异常后希望上报后续操作),此时可以通过调用 +`startSessionReplayRecording({ force: true })`方法来强制开启重放。 + +::: warning +注:只有当本次 session 被采样,而 sessionReplay 未被采样的情况下,强制开启才会生效。如果 session 本身并没有被采样,即使强制开启 replay 也无效。 +::: + +## 关闭采集 + +如果需要关闭采集功能,将对应的 replay 采样率调整至 0 或者直接去掉该配置项即可。 + +```js +window.FC_RUM.init({ + applicationId: "YOUR_APPLICATION_ID", + clientToken: "YOUR_CLIENT_TOKEN", + // ... + sessionReplaySampleRate: 0, // 关闭重放功能 + // ... +}); +``` + +## 工作原理 + +会话重放 SDK 基于 [rrweb](https://www.rrweb.io/) 实现。 + +在录制阶段,录制 SDK 会将当前 dom 和 css 样式打快照,并在用户行为(DOM 变化、鼠标移动、点击、表单输入等)发生时收集对应的事件。通过序列化、压缩、去除敏感信息后进行数据上报。 + +在重放阶段,播放 SDK 会根据快照进行 dom 重建,并在合适的时机将事件行为转换为 dom 变化并进行展示。 + +在数据上报前,SDK 会提前进行数据压缩,并将该 CPU 密集操作放在 web worker 中执行,不会影响主线程渲染。 + +SDK 兼容性和 RUM SDK 一致,支持 IE11 以上浏览器。 diff --git "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/3. \344\274\232\350\257\235\346\237\245\347\234\213.md" "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/3. \344\274\232\350\257\235\346\237\245\347\234\213.md" new file mode 100644 index 00000000..a6e26b9c --- /dev/null +++ "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/3. \344\274\232\350\257\235\346\237\245\347\234\213.md" @@ -0,0 +1,46 @@ +--- +title: "查看 RUM 会话重放记录" +description: "掌握 Flashduty RUM 的会话重放功能,通过重现用户操作路径快速定位问题并优化用户体验。" +date: "2024-05-09T10:00:00+08:00" +url: "https://docs.flashcat.cloud/zh/flashduty/rum/session-replay-explorer" +--- + +## 概述 + +Flashduty RUM 的会话重放功能通过直观地重现用户操作路径,帮助开发者快速定位问题、分析用户行为并优化产品体验。集成于 RUM SDK 中,只需简单配置即可启用,支持灵活的采样策略和隐私规则设置。会话重放提供强大的播放器和 Devtools 功能,包括操作时间线、异常分析和上下文信息查看,助力开发者高效排查问题并深入了解用户交互细节。 + +## 会话列表 + +在「会话重放」菜单中,您可以查看最近的会话记录,默认按时间倒序排列。支持按会话时长、视图数量、行为数量、异常数量等字段排序,并提供丰富的筛选条件(如时间范围、页面、标签等),便于快速定位目标重放记录。 + +点击任一记录项,将打开播放器面板,分为以下区域: + +- **信息展示区**:展示会话的访问时间、起始与结束页面、标签等上下文信息。 +- **播放区**:以用户视角重现操作路径,清晰展示用户交互细节。 +- **播放控制区**:提供播放控制功能,方便操作。 + +![会话重放面板](https://docs-cdn.flashcat.cloud/imges/png/13483c539ec8d547556c4dd4242e5493.png) + +## 播放器 + +播放器支持播放、暂停、快进、快退、重播、倍速播放、全屏和 Seek 等功能,并支持快捷键操作,提升使用效率。播放过程中,时间轴上会以不同颜色的图标标记用户行为(Action)和异常(Error),便于快速概览会话中的关键事件。 + +默认情况下,播放器会自动跳过非活跃片段以提高查看效率。您也可以通过配置关闭此功能,按实际时序完整播放。 + +![播放器界面](https://docs-cdn.flashcat.cloud/imges/png/67611da3c5ac364f026ee9da9ce55212.png) +![非活跃片段配置](https://docs-cdn.flashcat.cloud/imges/png/02db89ad438312f34fbfcc95e0aa5916.png) + +## Devtools + +通过「查看全部事件和异常」功能,可进入宽屏模式,查看会话的操作时间线和详细分析。Devtools 包含以下功能: + +- **Events Tab**:展示会话中的所有用户操作,支持以下功能: + + - 切换相对时间与绝对时间显示。 + - 按事件类型筛选(如点击、页面跳转等)。 + - 点击具体事件,播放器将自动跳转至对应时间戳。 + ![事件时间线](https://docs-cdn.flashcat.cloud/imges/png/ac51a75dca75c31b31a21dfa82dd1ac1.png) + +- **Error Tab**:列出会话中的所有异常和问题,支持点击跳转至详细错误信息,便于快速定位和分析。 + +- **Attributes Tab**:展示会话的上下文信息(如设备、浏览器、地理位置等),帮助开发者深入了解问题背景并进行精准定位。 diff --git "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/4. \351\232\220\347\247\201\344\277\235\346\212\244\350\257\264\346\230\216.md" "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/4. \351\232\220\347\247\201\344\277\235\346\212\244\350\257\264\346\230\216.md" new file mode 100644 index 00000000..203fe769 --- /dev/null +++ "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/4. \351\232\220\347\247\201\344\277\235\346\212\244\350\257\264\346\230\216.md" @@ -0,0 +1,68 @@ +--- +title: "RUM 会话重放隐私保护" +description: "掌握 Flashduty RUM 的会话重放功能,通过重现用户操作路径快速定位问题并优化用户体验。" +date: "2024-05-09T10:00:00+08:00" +url: "https://docs.flashcat.cloud/zh/flashduty/rum/session-replay-privacy" +--- + +## 概述 + +为满足不同场景的隐私需求,会话重放功能内置了灵活的隐私保护策略。通过配置 `sessionReplayPrivacyLevel` 字段,开发者可控制数据采集的敏感度,支持从显示所有文本(除密码外)到完全隐藏页面文本的多种模式,确保用户数据的安全性和合规性 + +## 隐私策略 + +会话重放功能通过 `sessionReplayPrivacyLevel` 字段提供灵活的隐私保护配置,确保在采集用户操作数据时兼顾功能性和数据安全。以下为三种主要隐私级别配置及其效果: +:::tip +input 类型为 password 的输入为敏感信息,所有场景都不会收集。 +::: + +### 显示所有文本(除密码) + +配置 `sessionReplayPrivacyLevel: "allow"` 允许采集页面中除密码字段外的所有文本内容,适合需要完整用户交互细节的场景。 + +```js +window.FC_RUM.init({ + applicationId: "YOUR_APPLICATION_ID", + clientToken: "YOUR_CLIENT_TOKEN", + // ... + sessionReplaySampleRate: 10, // 默认采样率10% + sessionReplayPrivacyLevel: "allow", + // ... +}); +``` + +![显示所有文本](https://docs-cdn.flashcat.cloud/imges/png/4cae182c91c7df152cbcf86c2978f443.png) + +### 隐藏数据框内容 + +配置 `sessionReplayPrivacyLevel: "mask-user-input"` 将隐藏用户输入框中的内容(如文本输入、选择框等),但保留页面其他文本,适用于需要保护用户输入隐私的场景。 + +```js +window.FC_RUM.init({ + applicationId: "YOUR_APPLICATION_ID", + clientToken: "YOUR_CLIENT_TOKEN", + // ... + sessionReplaySampleRate: 10, // 默认采样率10% + sessionReplayPrivacyLevel: "mask-user-input", + // ... +}); +``` + +![隐藏数据框内容](https://docs-cdn.flashcat.cloud/imges/png/5c43c6f6196a95334a8b253fa33360c9.png) + +### 隐藏页面所有文本 + +配置 `sessionReplayPrivacyLevel: "mask-all"` 将完全隐藏页面中的所有文本内容,仅保留操作行为和页面结构,适合对数据隐私要求极高的场景。 + +```js +window.FC_RUM.init({ + applicationId: "YOUR_APPLICATION_ID", + clientToken: "YOUR_CLIENT_TOKEN", + // ... + sessionReplaySampleRate: 10, // 默认采样率10% + sessionReplayPrivacyLevel: "mask-all", + // ... +}); +``` + +![隐藏页面所有文本](https://docs-cdn.flashcat.cloud/imges/png/3c123bbf8fd30482da766ab009c16b0e.png) diff --git "a/flashduty/zh/2. RUM/5. \345\205\266\344\273\226/1. \346\234\257\350\257\255\350\257\264\346\230\216.md" "b/flashduty/zh/2. RUM/6. \345\205\266\344\273\226/1. \346\234\257\350\257\255\350\257\264\346\230\216.md" similarity index 100% rename from "flashduty/zh/2. RUM/5. \345\205\266\344\273\226/1. \346\234\257\350\257\255\350\257\264\346\230\216.md" rename to "flashduty/zh/2. RUM/6. \345\205\266\344\273\226/1. \346\234\257\350\257\255\350\257\264\346\230\216.md" diff --git "a/flashduty/zh/2. RUM/5. \345\205\266\344\273\226/2. \346\225\260\346\215\256\346\224\266\351\233\206.md" "b/flashduty/zh/2. RUM/6. \345\205\266\344\273\226/2. \346\225\260\346\215\256\346\224\266\351\233\206.md" similarity index 100% rename from "flashduty/zh/2. RUM/5. \345\205\266\344\273\226/2. \346\225\260\346\215\256\346\224\266\351\233\206.md" rename to "flashduty/zh/2. RUM/6. \345\205\266\344\273\226/2. \346\225\260\346\215\256\346\224\266\351\233\206.md" diff --git "a/flashduty/zh/2. RUM/5. \345\205\266\344\273\226/4. \346\225\260\346\215\256\345\256\211\345\205\250.md" "b/flashduty/zh/2. RUM/6. \345\205\266\344\273\226/4. \346\225\260\346\215\256\345\256\211\345\205\250.md" similarity index 100% rename from "flashduty/zh/2. RUM/5. \345\205\266\344\273\226/4. \346\225\260\346\215\256\345\256\211\345\205\250.md" rename to "flashduty/zh/2. RUM/6. \345\205\266\344\273\226/4. \346\225\260\346\215\256\345\256\211\345\205\250.md" From 63a09df2a408c815acf09fb3824352ee588192ac Mon Sep 17 00:00:00 2001 From: niuweili <957905827@qq.com> Date: Thu, 7 Aug 2025 15:04:01 +0800 Subject: [PATCH 03/86] add sdk config --- .../2. SDK\346\216\245\345\205\245.md" | 1 + 1 file changed, 1 insertion(+) diff --git "a/flashduty/zh/2. RUM/2. \345\272\224\347\224\250\347\256\241\347\220\206/2. SDK\346\216\245\345\205\245.md" "b/flashduty/zh/2. RUM/2. \345\272\224\347\224\250\347\256\241\347\220\206/2. SDK\346\216\245\345\205\245.md" index 7307faf2..c9627305 100644 --- "a/flashduty/zh/2. RUM/2. \345\272\224\347\224\250\347\256\241\347\220\206/2. SDK\346\216\245\345\205\245.md" +++ "b/flashduty/zh/2. RUM/2. \345\272\224\347\224\250\347\256\241\347\220\206/2. SDK\346\216\245\345\205\245.md" @@ -128,6 +128,7 @@ flashcatRum.init({ | enablePrivacyForActionName | Boolean | 否 | 请参见掩码操作名称。默认值:`false` | | actionNameAttribute | String | 否 | 指定您自己的属性以用于命名操作。`false` | | sessionSampleRate | Number | 否 | 要跟踪的会话百分比:100 为所有,0 为无。仅跟踪的会话发送 RUM 事件。默认值:`100` | +| sessionReplaySampleRate | Number | 否 | 启用[会话重放](https://docs.flashcat.cloud/zh/flashduty/rum/session-replay)功能的跟踪会话百分比:全部为 100,无则为 0。默认值:`0` | silentMultipleInit | Boolean | 否 | 如果 RUM 浏览器 SDK 已在页面上初始化,则初始化会静默失败。默认值:`false` | | proxy | String | 否 | 可选代理 URL,例如:`https://www.proxy.com/path` | | allowedTracingUrls | Array | 否 | 用于注入跟踪 Headers 的请求 URL 列表。请参阅[集成rum与分布式追踪](https://docs.flashcat.cloud/zh/flashduty/rum/advanced-configuration#%E9%9B%86%E6%88%90rum%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E8%BF%BD%E8%B8%AA) | From eb5bc5f540a5662d767ef80a650cc74c9ba1ba77 Mon Sep 17 00:00:00 2001 From: Fiona Date: Thu, 7 Aug 2025 15:31:57 +0800 Subject: [PATCH 04/86] feat: update config --- ...70\350\247\201\351\227\256\351\242\230.md" | 4 +- .../2. SDK\346\216\245\345\205\245.md" | 54 +++++++++---------- .../2. SDK \351\205\215\347\275\256.md" | 4 +- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git "a/flashduty/zh/2. RUM/1. \345\277\253\351\200\237\345\274\200\345\247\213/3. \345\270\270\350\247\201\351\227\256\351\242\230.md" "b/flashduty/zh/2. RUM/1. \345\277\253\351\200\237\345\274\200\345\247\213/3. \345\270\270\350\247\201\351\227\256\351\242\230.md" index 64f0a98c..47e5c581 100644 --- "a/flashduty/zh/2. RUM/1. \345\277\253\351\200\237\345\274\200\345\247\213/3. \345\270\270\350\247\201\351\227\256\351\242\230.md" +++ "b/flashduty/zh/2. RUM/1. \345\277\253\351\200\237\345\274\200\345\247\213/3. \345\270\270\350\247\201\351\227\256\351\242\230.md" @@ -35,7 +35,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/rum/frequently-asked-questions" service: "", env: "", version: "1.0.0", - sessionSampleRate: 100, + sessionSampleRate: 10, // 会话采样率10% }); ``` @@ -392,4 +392,4 @@ A:可以通过以下方式: 3. 排除特定页面 4. 配置数据脱敏 -通过遵循本指南的排查步骤,您可以确保 Flashduty RUM 正常运行,为您提供准确的用户体验监控数据。 \ No newline at end of file +通过遵循本指南的排查步骤,您可以确保 Flashduty RUM 正常运行,为您提供准确的用户体验监控数据。 diff --git "a/flashduty/zh/2. RUM/2. \345\272\224\347\224\250\347\256\241\347\220\206/2. SDK\346\216\245\345\205\245.md" "b/flashduty/zh/2. RUM/2. \345\272\224\347\224\250\347\256\241\347\220\206/2. SDK\346\216\245\345\205\245.md" index c9627305..e680f2a0 100644 --- "a/flashduty/zh/2. RUM/2. \345\272\224\347\224\250\347\256\241\347\220\206/2. SDK\346\216\245\345\205\245.md" +++ "b/flashduty/zh/2. RUM/2. \345\272\224\347\224\250\347\256\241\347\220\206/2. SDK\346\216\245\345\205\245.md" @@ -108,35 +108,35 @@ flashcatRum.init({ 您可以用`window.FC_RUM`检查 RUM 浏览器 SDK 发生加载失败时出现的问题。 - - ## 初始化参数 -| 配置项 | 类型 | 必填 | 必填 | 说明 | -| -------------------------- | -------------------------- | ---- | -------------------------------------------------------------------------------------------------------------- | ---- | -| applicationId | String | 是 | 应用 ID,在应用管理页面获取 | -| clientToken | String | 是 | 客户端 Token,在应用管理页面获取 | -| service | String | 是 | 服务名称,用于区分不同的服务 | -| env | String | 否 | 环境标识,如 production、staging 等 | -| version | String | 否 | 应用版本号 | -| trackingConsent | "granted" \| "not-granted" | 否 | 设置初始用户跟踪同意状态。请参阅用户跟踪同意。默认值:`granted` | -| trackViewsManually | Boolean | 否 | 允许您控制 RUM 视图的创建。请参阅覆盖默认 RUM 视图名称。默认值:`false` | -| trackUserInteractions | Boolean | 否 | 启用自动收集用户操作。默认值:`true` | -| trackResources | Boolean | 否 | 启用资源事件的收集。默认值:`true` | -| trackLongTasks | Boolean | 否 | 启用长任务事件的收集。默认值:`true` | -| trackAnonymousUser | Boolean | 否 | 启用跨会话收集匿名用户 ID。默认值:`true` | -| enablePrivacyForActionName | Boolean | 否 | 请参见掩码操作名称。默认值:`false` | -| actionNameAttribute | String | 否 | 指定您自己的属性以用于命名操作。`false` | -| sessionSampleRate | Number | 否 | 要跟踪的会话百分比:100 为所有,0 为无。仅跟踪的会话发送 RUM 事件。默认值:`100` | -| sessionReplaySampleRate | Number | 否 | 启用[会话重放](https://docs.flashcat.cloud/zh/flashduty/rum/session-replay)功能的跟踪会话百分比:全部为 100,无则为 0。默认值:`0` -| silentMultipleInit | Boolean | 否 | 如果 RUM 浏览器 SDK 已在页面上初始化,则初始化会静默失败。默认值:`false` | -| proxy | String | 否 | 可选代理 URL,例如:`https://www.proxy.com/path` | -| allowedTracingUrls | Array | 否 | 用于注入跟踪 Headers 的请求 URL 列表。请参阅[集成rum与分布式追踪](https://docs.flashcat.cloud/zh/flashduty/rum/advanced-configuration#%E9%9B%86%E6%88%90rum%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E8%BF%BD%E8%B8%AA) | -| traceSampleRate | Number | 否 | 要跟踪的请求百分比:100 为所有,0 为无。默认值:`100` | -| excludedActivityUrls | Array | 否 | 计算页面活动时忽略的请求来源列表。 | -| compressIntakeRequests | Boolean | 否 | 压缩发送到 FlashDuty 入口的请求,以减少发送大量数据时的带宽使用。压缩是在 Worker 线程中完成的。默认值:`false` | -| storeContextsAcrossPages | Boolean | 否 | 将全局上下文和用户上下文存储在 localStorage 中以沿用户导航保留它们。默认值:`false` | -| allowUntrustedEvents | Boolean | 否 | 允许捕获[不受信任的事件](https://developer.mozilla.org/zh-CN/docs/Web/API/Event/isTrusted),例如在自动化 UI 测试中。默认值:`false` | +| 配置项 | 类型 | 必填 | 必填 | 说明 | +| ----------------------------------- | -------------------------- | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | +| applicationId | String | 是 | 应用 ID,在应用管理页面获取 | +| clientToken | String | 是 | 客户端 Token,在应用管理页面获取 | +| service | String | 是 | 服务名称,用于区分不同的服务 | +| env | String | 否 | 环境标识,如 production、staging 等 | +| version | String | 否 | 应用版本号 | +| trackingConsent | "granted" \| "not-granted" | 否 | 设置初始用户跟踪同意状态。请参阅用户跟踪同意。默认值:`granted` | +| trackViewsManually | Boolean | 否 | 允许您控制 RUM 视图的创建。请参阅覆盖默认 RUM 视图名称。默认值:`false` | +| trackUserInteractions | Boolean | 否 | 启用自动收集用户操作。默认值:`true` | +| trackResources | Boolean | 否 | 启用资源事件的收集。默认值:`true` | +| trackLongTasks | Boolean | 否 | 启用长任务事件的收集。默认值:`true` | +| trackAnonymousUser | Boolean | 否 | 启用跨会话收集匿名用户 ID。默认值:`true` | +| enablePrivacyForActionName | Boolean | 否 | 请参见掩码操作名称。默认值:`false` | +| actionNameAttribute | String | 否 | 指定您自己的属性以用于命名操作。`false` | +| sessionSampleRate | Number | 否 | 要跟踪的会话百分比:100 为所有,0 为无。仅跟踪的会话发送 RUM 事件。默认值:`100` | +| sessionReplaySampleRate | Number | 否 | 启用[会话重放](https://docs.flashcat.cloud/zh/flashduty/rum/session-replay)功能的跟踪会话百分比:全部为 100,无则为 0。默认值:`0` | +| sessionReplayPrivacyLevel | String | 'mask-user-input' | 会话重放数据采集时,隐私策略。 'allow'会采集除 password 外所有的数据,'mask-user-input'会隐藏用户数据框内容, 'mask-all' 将会隐藏所有文本信息 | +| startSessionReplayRecordingManually | Boolean | 否 | 是否手动开启会话重放采集开关 | +| silentMultipleInit | Boolean | 否 | 如果 RUM 浏览器 SDK 已在页面上初始化,则初始化会静默失败。默认值:`false` | +| proxy | String | 否 | 可选代理 URL,例如:`https://www.proxy.com/path` | +| allowedTracingUrls | Array | 否 | 用于注入跟踪 Headers 的请求 URL 列表。请参阅[集成 rum 与分布式追踪](https://docs.flashcat.cloud/zh/flashduty/rum/advanced-configuration#%E9%9B%86%E6%88%90rum%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E8%BF%BD%E8%B8%AA) | +| traceSampleRate | Number | 否 | 要跟踪的请求百分比:100 为所有,0 为无。默认值:`100` | +| excludedActivityUrls | Array | 否 | 计算页面活动时忽略的请求来源列表。 | +| compressIntakeRequests | Boolean | 否 | 压缩发送到 FlashDuty 入口的请求,以减少发送大量数据时的带宽使用。压缩是在 Worker 线程中完成的。默认值:`false` | +| storeContextsAcrossPages | Boolean | 否 | 将全局上下文和用户上下文存储在 localStorage 中以沿用户导航保留它们。默认值:`false` | +| allowUntrustedEvents | Boolean | 否 | 允许捕获[不受信任的事件](https://developer.mozilla.org/zh-CN/docs/Web/API/Event/isTrusted),例如在自动化 UI 测试中。默认值:`false` | ## 应用场景 diff --git "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" index 29bce3bb..0908d246 100644 --- "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" +++ "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" @@ -20,7 +20,7 @@ window.FC_RUM.init({ applicationId: "YOUR_APPLICATION_ID", clientToken: "YOUR_CLIENT_TOKEN", // ... - sessionReplaySampleRate: 10, // 默认采样率10% + sessionReplaySampleRate: 10, // 默认会话重放的session采样率10% // ... }); ``` @@ -36,7 +36,7 @@ window.FC_RUM.init({ applicationId: "YOUR_APPLICATION_ID", clientToken: "YOUR_CLIENT_TOKEN", // ... - sessionReplaySampleRate: 10, // 默认采样率10% + sessionReplaySampleRate: 10, // 采样率10% startSessionReplayRecordingManually: true, // 开启手动采集开关 // ... }); From bd9bbd9538204db2c9aef454c2844f0b86028367 Mon Sep 17 00:00:00 2001 From: Fiona Date: Mon, 11 Aug 2025 19:50:36 +0800 Subject: [PATCH 05/86] feat: 1. update images 2. add english version --- .../2. Applications/2. SDK Integration.md | 56 ++++++------ .../2. RUM/5. Session Replay/1. Overview.md | 78 ++++++++++++++++ .../5. Session Replay/2. SDK Configuration.md | 89 +++++++++++++++++++ .../3. View Session Replay.md | 50 +++++++++++ .../4. Privacy Protection.md | 68 ++++++++++++++ .../1. Terminology.md | 0 .../2. Data Collection.md | 0 .../4. Data Security.md | 0 .../2. SDK \351\205\215\347\275\256.md" | 5 ++ ...32\350\257\235\346\237\245\347\234\213.md" | 12 ++- 10 files changed, 326 insertions(+), 32 deletions(-) create mode 100644 flashduty/en/2. RUM/5. Session Replay/1. Overview.md create mode 100644 flashduty/en/2. RUM/5. Session Replay/2. SDK Configuration.md create mode 100644 flashduty/en/2. RUM/5. Session Replay/3. View Session Replay.md create mode 100644 flashduty/en/2. RUM/5. Session Replay/4. Privacy Protection.md rename flashduty/en/2. RUM/{5. Others => 6. Others}/1. Terminology.md (100%) rename flashduty/en/2. RUM/{5. Others => 6. Others}/2. Data Collection.md (100%) rename flashduty/en/2. RUM/{5. Others => 6. Others}/4. Data Security.md (100%) diff --git a/flashduty/en/2. RUM/2. Applications/2. SDK Integration.md b/flashduty/en/2. RUM/2. Applications/2. SDK Integration.md index 2fdb822f..95f5a321 100644 --- a/flashduty/en/2. RUM/2. Applications/2. SDK Integration.md +++ b/flashduty/en/2. RUM/2. Applications/2. SDK Integration.md @@ -108,35 +108,35 @@ Add the following code snippet to the beginning of the `head` tag in each `HTML` You can check for loading issues with `window.FC_RUM` if the RUM browser SDK fails to load. - - - ## Initialization Parameters -| Configuration | Type | Required | Description | -| -------------------------- | -------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| applicationId | String | Yes | Application ID, obtained from the application management page | -| clientToken | String | Yes | Client Token, obtained from the application management page | -| service | String | Yes | Service name, used to distinguish different services | -| env | String | No | Environment identifier, such as production, staging, etc. | -| version | String | No | Application version | -| trackingConsent | "granted" \| "not-granted" | No | Set initial user tracking consent status. See user tracking consent. Default: `granted` | -| trackViewsManually | Boolean | No | Allows you to control RUM view creation. See override default RUM view names. Default: `false` | -| trackUserInteractions | Boolean | No | Enable automatic collection of user actions. Default: `true` | -| trackResources | Boolean | No | Enable collection of resource events. Default: `true` | -| trackLongTasks | Boolean | No | Enable collection of long task events. Default: `true` | -| trackAnonymousUser | Boolean | No | Enable cross-session collection of anonymous user IDs. Default: `true` | -| enablePrivacyForActionName | Boolean | No | See mask action names. Default: `false` | -| actionNameAttribute | String | No | Specify your own attribute to use for naming actions. Default: `false` | -| sessionSampleRate | Number | No | Percentage of sessions to track: 100 for all, 0 for none. Only tracked sessions send RUM events. Default: `100` | -| silentMultipleInit | Boolean | No | If the RUM browser SDK is already initialized on the page, initialization will silently fail. Default: `false` | -| proxy | String | No | Optional proxy URL, for example: `https://www.proxy.com/path` | -| allowedTracingUrls | Array | No | List of request URLs for injecting tracing headers. For more information, see [Connect RUM and Traces](https://docs.flashcat.cloud/en/flashduty/rum/sdk-integration#Connect%20RUM%20and%20Traces) | -| traceSampleRate | Number | No | Percentage of requests to trace: 100 for all, 0 for none. Default: `100` | -| excludedActivityUrls | Array | No | List of request origins to ignore when calculating page activity | -| compressIntakeRequests | Boolean | No | Compress requests sent to the FlashDuty intake to reduce bandwidth usage when sending large amounts of data. Compression is done in a Worker thread. Default: `false` | -| storeContextsAcrossPages | Boolean | No | Store global context and user context in localStorage to preserve them across user navigation. Default: `false` | -| allowUntrustedEvents | Boolean | No | Allow capturing [untrusted events][https://developer.mozilla.org/en-US/docs/Web/API/Event/isTrusted], for example in automated UI tests. Default: `false` | +| Configuration | Type | Required | Description | +| ----------------------------------- | -------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| applicationId | String | Yes | Application ID, obtained from the application management page | +| clientToken | String | Yes | Client Token, obtained from the application management page | +| service | String | Yes | Service name, used to distinguish different services | +| env | String | No | Environment identifier, such as production, staging, etc. | +| version | String | No | Application version | +| trackingConsent | "granted" \| "not-granted" | No | Set initial user tracking consent status. See user tracking consent. Default: `granted` | +| trackViewsManually | Boolean | No | Allows you to control RUM view creation. See override default RUM view names. Default: `false` | +| trackUserInteractions | Boolean | No | Enable automatic collection of user actions. Default: `true` | +| trackResources | Boolean | No | Enable collection of resource events. Default: `true` | +| trackLongTasks | Boolean | No | Enable collection of long task events. Default: `true` | +| trackAnonymousUser | Boolean | No | Enable cross-session collection of anonymous user IDs. Default: `true` | +| enablePrivacyForActionName | Boolean | No | See mask action names. Default: `false` | +| actionNameAttribute | String | No | Specify your own attribute to use for naming actions. Default: `false` | +| sessionSampleRate | Number | No | Percentage of sessions to track: 100 for all, 0 for none. Only tracked sessions send RUM events. Default: `100` | +| sessionReplaySampleRate | Number | No | Percentage of tracked sessions to enable [session replay](https://docs.flashcat.cloud/en/flashduty/rum/session-replay) functionality: 100 for all, 0 for none. Default: `0` | +| sessionReplayPrivacyLevel | String | No | Privacy policy for session replay data collection. 'allow' collects all data except passwords, 'mask-user-input' hides user input field content, 'mask-all' hides all text information. Default: `'mask-user-input'` | +| startSessionReplayRecordingManually | Boolean | No | Whether to manually enable session replay recording switch | +| silentMultipleInit | Boolean | No | If the RUM browser SDK is already initialized on the page, initialization will silently fail. Default: `false` | +| proxy | String | No | Optional proxy URL, for example: `https://www.proxy.com/path` | +| allowedTracingUrls | Array | No | List of request URLs for injecting tracing headers. For more information, see [Connect RUM and Traces](https://docs.flashcat.cloud/en/flashduty/rum/advanced-configuration#connect-rum-and-distributed-tracing) | +| traceSampleRate | Number | No | Percentage of requests to trace: 100 for all, 0 for none. Default: `100` | +| excludedActivityUrls | Array | No | List of request origins to ignore when calculating page activity | +| compressIntakeRequests | Boolean | No | Compress requests sent to the FlashDuty intake to reduce bandwidth usage when sending large amounts of data. Compression is done in a Worker thread. Default: `false` | +| storeContextsAcrossPages | Boolean | No | Store global context and user context in localStorage to preserve them across user navigation. Default: `false` | +| allowUntrustedEvents | Boolean | No | Allow capturing [untrusted events](https://developer.mozilla.org/en-US/docs/Web/API/Event/isTrusted), for example in automated UI tests. Default: `false` | ## Use Cases @@ -209,4 +209,4 @@ After integration, you can validate whether the integration was successful throu - [RUM Application Management](https://docs.flashcat.cloud/en/flashduty/rum/application-management?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5): Learn how to create and manage RUM applications - [RUM SDK Advanced Configuration](https://docs.flashcat.cloud/en/flashduty/rum/advanced-configuration?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5): Learn how to configure advanced features of the SDK -- [RUM Analysis Dashboard](https://docs.flashcat.cloud/en/flashduty/rum/analysis-dashboard?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5): View and analyze RUM data \ No newline at end of file +- [RUM Analysis Dashboard](https://docs.flashcat.cloud/en/flashduty/rum/analysis-dashboard?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5): View and analyze RUM data diff --git a/flashduty/en/2. RUM/5. Session Replay/1. Overview.md b/flashduty/en/2. RUM/5. Session Replay/1. Overview.md new file mode 100644 index 00000000..7fac7355 --- /dev/null +++ b/flashduty/en/2. RUM/5. Session Replay/1. Overview.md @@ -0,0 +1,78 @@ +--- +title: "RUM Session Replay Overview" +description: "Master Flashduty RUM's session replay functionality to quickly identify issues and optimize user experience by reproducing user operation paths." +date: "2024-05-09T10:00:00+08:00" +url: "https://docs.flashcat.cloud/en/flashduty/rum/session-replay" +--- + +## Overview + +Flashduty RUM's **Session Replay** feature is a powerful user behavior analysis tool designed to help developers understand user experience and quickly identify root causes by reproducing user operation paths in websites or applications, combined with RUM performance and error tracking data. + +## Core Features + +1. **User Operation Recording**: Automatically records user actions such as mouse clicks, page scrolling, form inputs, navigation behaviors, etc., generating intuitive session replay videos. +2. **Error Correlation**: Combines session replay with error tracking, automatically correlating user operations and page states when errors occur, helping to quickly identify problem trigger scenarios. +3. **Interaction Analysis**: Provides user interaction timeline, displaying user operation sequences, page loading times, and occurrence points of key events (such as errors or network request failures). +4. **Privacy Protection**: Offers flexible privacy configurations to mask sensitive information (such as form input content) or limit recording scope, ensuring data compliance. + +## Value and Benefits + +1. **Intuitive Problem Identification**: Quickly understand specific operation paths when users encounter issues through visual replay, reducing troubleshooting time. +2. **Enhanced User Experience**: Gain insights into user behavior patterns, discover interaction pain points, and optimize page design and functional logic. +3. **Data-Driven Optimization**: Combine error data and user behavior analysis to provide reliable data support for product iterations. + +## Use Cases + +1. **Problem Reproduction**: Reproduce operation scenarios when errors occur by replaying user sessions, quickly identifying problem root causes. +2. **User Behavior Analysis**: Analyze user behavior on key pages (such as payment, registration) to optimize user experience and conversion rates. +3. **Debugging and Optimization**: Combine error tracking to identify issues like slow page loading and interaction lag, optimizing frontend performance. +4. **Customer Support**: Quickly understand user-reported issues by replaying user sessions, providing more precise support. + +## Session Replay Process + +Flashduty RUM's session replay functionality is divided into two key phases: **Behavior Recording and Replay**, **Problem Analysis and Optimization**. + +### 1. Behavior Recording and Replay + +Quickly recording user behavior and generating replays is the first step in analysis. During the replay phase, the recording SDK takes snapshots of the current DOM and CSS styles, and collects corresponding events when user behaviors occur (DOM changes, mouse movements, clicks, form inputs, etc.). Data is reported after serialization, compression, and removal of sensitive information. + +### 2. Problem Analysis and Optimization + +Flashduty RUM provides rich behavior data and analysis tools to help identify problems and optimize experience: + +#### Core Behavior Data + +- **User Interactions**: Timeline of operations such as clicks, scrolling, input, navigation, etc. +- **Page Performance**: Page loading times, resource loading failures, API call delays, etc. +- **Error Context**: Page state, DOM structure, and user operations when errors occur. + +#### Context Information + +- **User Environment**: Browser, device, operating system, network conditions. +- **Operation Path**: Complete operation sequence of users during the session. +- **Page Snapshots**: Page DOM snapshots when errors occur. + +Through Flashduty RUM's visual replay tools, you can quickly analyze the correlation between user behavior and problems: + +| Problem Type | Typical Manifestation | Possible Causes | Identification Method | +| --------------------------- | ---------------------------------- | ------------------------------------------- | ------------------------------------- | +| **Slow Page Loading** | Page white screen, loading timeout | Resource loading failure, network delay | Check for resource loading exceptions | +| **Function Failure** | Button clicks unresponsive | Code logic errors, event binding issues | View specific behavior and exceptions | +| **Form Submission Failure** | Data not saved, submission failure | API response errors, form validation issues | View error and exception details | + +## Problem Analysis Tools + +#### 1. Session Replay Panel + +In the player, you can view all user operations including clicks, scrolling, and inputs, supporting playback controls such as fast-forward, replay, and seek, helping developers intuitively reproduce problem scenarios and precisely analyze user behavior. + +#### 2. Event and Context Correlation + +Session replay supports correlation with various events (such as view loading, errors, user behavior), allowing detailed viewing of errors and attributes (context information such as device type, browser version, geographic location, etc.), facilitating root cause identification and in-depth analysis. + +## Next Steps + +- [SDK Configuration](https://docs.flashcat.cloud/en/flashduty/rum/session-replay-config) +- [View Session Replay](https://docs.flashcat.cloud/en/flashduty/rum/session-replay-explorer) +- [Privacy Protection Settings](https://docs.flashcat.cloud/en/flashduty/rum/privacy-settings) diff --git a/flashduty/en/2. RUM/5. Session Replay/2. SDK Configuration.md b/flashduty/en/2. RUM/5. Session Replay/2. SDK Configuration.md new file mode 100644 index 00000000..a2167a2c --- /dev/null +++ b/flashduty/en/2. RUM/5. Session Replay/2. SDK Configuration.md @@ -0,0 +1,89 @@ +--- +title: "RUM Session Replay SDK Configuration" +description: "Master Flashduty RUM's session replay functionality to quickly identify issues and optimize user experience by reproducing user operation paths." +date: "2024-05-09T10:00:00+08:00" +url: "https://docs.flashcat.cloud/en/flashduty/rum/session-replay-config" +--- + +## Overview + +Flashduty RUM's session replay functionality is integrated into the RUM SDK. By simply configuring sampling rates and privacy rules, you can quickly enable replay functionality. + +## Enable Collection + +### Automatic Collection + +The replay SDK is already integrated into the RUM SDK. Configure the sampling rate to enable replay functionality. + +```js +window.FC_RUM.init({ + applicationId: "YOUR_APPLICATION_ID", + clientToken: "YOUR_CLIENT_TOKEN", + // ... + sessionReplaySampleRate: 10, // Default session replay sampling rate 10% + // ... +}); +``` + +::: tip +Sampling Method: When the client SDK initializes a session, it generates a random number between 0-1 and compares it with `rate/100`. If it falls within the range, that session will be collected as a sample, and replay data will be collected and reported within the session cycle. +::: + +By default, after configuring the sampling rate, automatic collection will be enabled after `RUM.init()` is executed. If you want to manually control the collection timing (such as collecting data after user login), you can first enable the manual collection switch, then manually call the record method. + +```js +window.FC_RUM.init({ + applicationId: "YOUR_APPLICATION_ID", + clientToken: "YOUR_CLIENT_TOKEN", + // ... + sessionReplaySampleRate: 10, // 10% sampling rate + startSessionReplayRecordingManually: true, // Enable manual collection switch + // ... +}); + +if (userIsShouldRecord()) { + // If certain conditions are met, replay can be enabled + window.FC_RUM.startSessionReplayRecording(); // Enable data collection when called +} +``` + +After enabling collection, you can stop collection using the `stopSessionReplayRecording()` method. + +### Force Enable + +In certain scenarios, even if the sampling rate is not hit, you may still want to collect data for that session (such as monitoring newly launched features, or capturing subsequent operations after an exception), you can force enable replay by calling the `startSessionReplayRecording({ force: true })` method. + +::: warning +Note: Force enable will only take effect when the current session is sampled but sessionReplay is not sampled. If the session itself is not sampled, even forcing replay enable will be ineffective. +::: + +## Disable Collection + +If you need to disable the collection functionality, adjust the corresponding replay sampling rate to 0 or simply remove the configuration item. + +```js +window.FC_RUM.init({ + applicationId: "YOUR_APPLICATION_ID", + clientToken: "YOUR_CLIENT_TOKEN", + // ... + sessionReplaySampleRate: 0, // Disable replay functionality + // ... +}); +``` + +## How It Works + +The session replay SDK is implemented based on [rrweb](https://www.rrweb.io/). + +During the recording phase, the recording SDK takes snapshots of the current DOM and CSS styles, and collects corresponding events when user behaviors occur (DOM changes, mouse movements, clicks, form inputs, etc.). Data is reported after serialization, compression, and removal of sensitive information. + +During the replay phase, the playback SDK reconstructs the DOM based on snapshots and converts event behaviors to DOM changes for display at appropriate times. + +Before data reporting, the SDK performs data compression in advance and executes this CPU-intensive operation in a web worker, which does not affect main thread rendering. + +The SDK compatibility is consistent with the RUM SDK, supporting browsers above IE11. + +## Next Steps + +- [View Session Replays](https://docs.flashcat.cloud/zh/flashduty/rum/session-replay-explorer) +- [Learn About Privacy Protection Settings](https://docs.flashcat.cloud/zh/flashduty/rum/privacy-settings) diff --git a/flashduty/en/2. RUM/5. Session Replay/3. View Session Replay.md b/flashduty/en/2. RUM/5. Session Replay/3. View Session Replay.md new file mode 100644 index 00000000..9d4fd504 --- /dev/null +++ b/flashduty/en/2. RUM/5. Session Replay/3. View Session Replay.md @@ -0,0 +1,50 @@ +--- +title: "View RUM Session Replay Records" +description: "Master Flashduty RUM's session replay functionality to quickly identify issues and optimize user experience by reproducing user operation paths." +date: "2024-05-09T10:00:00+08:00" +url: "https://docs.flashcat.cloud/en/flashduty/rum/session-replay-explorer" +--- + +## Overview + +Flashduty RUM's session replay functionality helps developers quickly identify problems, analyze user behavior, and optimize product experience by intuitively reproducing user operation paths. Integrated into the RUM SDK, it can be enabled with simple configuration and supports flexible sampling strategies and privacy rule settings. Session replay provides powerful player and Devtools functionality, including operation timelines, error analysis, and context information viewing, helping developers efficiently troubleshoot issues and gain deep insights into user interaction details. + +## Session List + +In the "Session Replay" menu, you can view recent session records, sorted by time in descending order by default. It supports sorting by fields such as session duration, view count, behavior count, error count, etc., and provides rich filtering conditions (such as time range, page, tags, etc.) for quickly locating target replay records. + +Click on any record item to open the player panel, divided into the following areas: + +- **Information Display Area**: Shows session context information such as access time, start and end pages, tags, etc. +- **Playback Area**: Reproduces operation paths from the user's perspective, clearly displaying user interaction details. +- **Playback Control Area**: Provides playback control functions for convenient operation. + +![Session Replay Panel](https://docs-cdn.flashcat.cloud/imges/png/e68c92a399e22e58ffdde318950e1c54.png) + +## Player + +The player supports functions such as play, pause, fast-forward, rewind, replay, speed control, fullscreen, and seek, and supports keyboard shortcuts to improve efficiency. During playback, the timeline will mark user behaviors (Action) and errors (Error) with different colored icons, making it easy to quickly overview key events in the session. +![Player Interface](https://docs-cdn.flashcat.cloud/imges/png/c43b87b7764c5b0a136b0d721eb538cf.png) + +By default, the player will automatically skip inactive segments to improve viewing efficiency. You can also disable this function through configuration to play completely according to the actual timeline. +![Inactive Segment Configuration](https://docs-cdn.flashcat.cloud/imges/png/d85cc4b187530c8d27b9782ff545e26a.png) + +## Devtools + +Through the "View All Events and Errors" function, you can enter wide-screen mode to view the session's operation timeline and detailed analysis. Devtools includes the following functions: + +- **Events Tab**: Displays all user operations in the session, supporting the following functions: + + - Switch between relative time and absolute time display. + - Filter by event type (such as clicks, page navigation, etc.). + - Click on specific events, and the player will automatically jump to the corresponding timestamp. + +![Event Timeline](https://docs-cdn.flashcat.cloud/imges/png/e903b09dd88de3837e9c88959181dba9.png) + +- **Error Tab**: Lists all errors and issues in the session, supporting click-to-jump to detailed error information for quick identification and analysis. + +- **Attributes Tab**: Displays session context information (such as device, browser, geographic location, etc.), helping developers gain deep insights into problem background and perform precise identification. + +## Next Steps + +- [Learn About Privacy Protection Settings](https://docs.flashcat.cloud/zh/flashduty/rum/privacy-settings) diff --git a/flashduty/en/2. RUM/5. Session Replay/4. Privacy Protection.md b/flashduty/en/2. RUM/5. Session Replay/4. Privacy Protection.md new file mode 100644 index 00000000..6fa8f28d --- /dev/null +++ b/flashduty/en/2. RUM/5. Session Replay/4. Privacy Protection.md @@ -0,0 +1,68 @@ +--- +title: "RUM Session Replay Privacy Protection" +description: "Master Flashduty RUM's session replay functionality to quickly identify issues and optimize user experience by reproducing user operation paths." +date: "2024-05-09T10:00:00+08:00" +url: "https://docs.flashcat.cloud/en/flashduty/rum/session-replay-privacy" +--- + +## Overview + +To meet privacy requirements in different scenarios, the session replay functionality has built-in flexible privacy protection strategies. By configuring the `sessionReplayPrivacyLevel` field, developers can control the sensitivity of data collection, supporting multiple modes from displaying all text (except passwords) to completely hiding page text, ensuring user data security and compliance. + +## Privacy Strategies + +The session replay functionality provides flexible privacy protection configuration through the `sessionReplayPrivacyLevel` field, ensuring both functionality and data security when collecting user operation data. Below are three main privacy level configurations and their effects: +:::tip +Input fields with type "password" are sensitive information and will not be collected in any scenario. +::: + +### Display All Text (Except Passwords) + +Configure `sessionReplayPrivacyLevel: "allow"` to allow collection of all text content on the page except password fields, suitable for scenarios requiring complete user interaction details. + +```js +window.FC_RUM.init({ + applicationId: "YOUR_APPLICATION_ID", + clientToken: "YOUR_CLIENT_TOKEN", + // ... + sessionReplaySampleRate: 10, // Default sampling rate 10% + sessionReplayPrivacyLevel: "allow", + // ... +}); +``` + +![Display All Text](https://docs-cdn.flashcat.cloud/imges/png/24db39145913b960a588e45ab088c224.png) + +### Hide Input Field Content + +Configure `sessionReplayPrivacyLevel: "mask-user-input"` to hide content in user input fields (such as text inputs, select boxes, etc.) while preserving other page text, suitable for scenarios requiring protection of user input privacy. + +```js +window.FC_RUM.init({ + applicationId: "YOUR_APPLICATION_ID", + clientToken: "YOUR_CLIENT_TOKEN", + // ... + sessionReplaySampleRate: 10, // Default sampling rate 10% + sessionReplayPrivacyLevel: "mask-user-input", + // ... +}); +``` + +![Hide Input Field Content](https://docs-cdn.flashcat.cloud/imges/png/e2f36a765e0dcb5db8a3ba9c24c42d6a.png) + +### Hide All Page Text + +Configure `sessionReplayPrivacyLevel: "mask-all"` to completely hide all text content on the page, preserving only operation behaviors and page structure, suitable for scenarios with extremely high data privacy requirements. + +```js +window.FC_RUM.init({ + applicationId: "YOUR_APPLICATION_ID", + clientToken: "YOUR_CLIENT_TOKEN", + // ... + sessionReplaySampleRate: 10, // Default sampling rate 10% + sessionReplayPrivacyLevel: "mask-all", + // ... +}); +``` + +![Hide All Page Text](https://docs-cdn.flashcat.cloud/imges/png/03afebc34026be5cb5ad683665163c12.png) diff --git a/flashduty/en/2. RUM/5. Others/1. Terminology.md b/flashduty/en/2. RUM/6. Others/1. Terminology.md similarity index 100% rename from flashduty/en/2. RUM/5. Others/1. Terminology.md rename to flashduty/en/2. RUM/6. Others/1. Terminology.md diff --git a/flashduty/en/2. RUM/5. Others/2. Data Collection.md b/flashduty/en/2. RUM/6. Others/2. Data Collection.md similarity index 100% rename from flashduty/en/2. RUM/5. Others/2. Data Collection.md rename to flashduty/en/2. RUM/6. Others/2. Data Collection.md diff --git a/flashduty/en/2. RUM/5. Others/4. Data Security.md b/flashduty/en/2. RUM/6. Others/4. Data Security.md similarity index 100% rename from flashduty/en/2. RUM/5. Others/4. Data Security.md rename to flashduty/en/2. RUM/6. Others/4. Data Security.md diff --git "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" index 0908d246..b368f891 100644 --- "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" +++ "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" @@ -83,3 +83,8 @@ window.FC_RUM.init({ 在数据上报前,SDK 会提前进行数据压缩,并将该 CPU 密集操作放在 web worker 中执行,不会影响主线程渲染。 SDK 兼容性和 RUM SDK 一致,支持 IE11 以上浏览器。 + +## 下一步 + +- [查看会话回放](https://docs.flashcat.cloud/zh/flashduty/rum/session-replay-explorer) +- [了解隐私保护设置](https://docs.flashcat.cloud/zh/flashduty/rum/privacy-settings) diff --git "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/3. \344\274\232\350\257\235\346\237\245\347\234\213.md" "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/3. \344\274\232\350\257\235\346\237\245\347\234\213.md" index a6e26b9c..a5c83456 100644 --- "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/3. \344\274\232\350\257\235\346\237\245\347\234\213.md" +++ "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/3. \344\274\232\350\257\235\346\237\245\347\234\213.md" @@ -19,15 +19,14 @@ Flashduty RUM 的会话重放功能通过直观地重现用户操作路径,帮 - **播放区**:以用户视角重现操作路径,清晰展示用户交互细节。 - **播放控制区**:提供播放控制功能,方便操作。 -![会话重放面板](https://docs-cdn.flashcat.cloud/imges/png/13483c539ec8d547556c4dd4242e5493.png) +![会话重放面板](https://docs-cdn.flashcat.cloud/imges/png/cc05420113db42bef5a770af8656db4b.png) ## 播放器 播放器支持播放、暂停、快进、快退、重播、倍速播放、全屏和 Seek 等功能,并支持快捷键操作,提升使用效率。播放过程中,时间轴上会以不同颜色的图标标记用户行为(Action)和异常(Error),便于快速概览会话中的关键事件。 +![播放器界面](https://docs-cdn.flashcat.cloud/imges/png/c43b87b7764c5b0a136b0d721eb538cf.png) 默认情况下,播放器会自动跳过非活跃片段以提高查看效率。您也可以通过配置关闭此功能,按实际时序完整播放。 - -![播放器界面](https://docs-cdn.flashcat.cloud/imges/png/67611da3c5ac364f026ee9da9ce55212.png) ![非活跃片段配置](https://docs-cdn.flashcat.cloud/imges/png/02db89ad438312f34fbfcc95e0aa5916.png) ## Devtools @@ -39,8 +38,13 @@ Flashduty RUM 的会话重放功能通过直观地重现用户操作路径,帮 - 切换相对时间与绝对时间显示。 - 按事件类型筛选(如点击、页面跳转等)。 - 点击具体事件,播放器将自动跳转至对应时间戳。 - ![事件时间线](https://docs-cdn.flashcat.cloud/imges/png/ac51a75dca75c31b31a21dfa82dd1ac1.png) + + ![事件时间线](https://docs-cdn.flashcat.cloud/imges/png/e903b09dd88de3837e9c88959181dba9.png) - **Error Tab**:列出会话中的所有异常和问题,支持点击跳转至详细错误信息,便于快速定位和分析。 - **Attributes Tab**:展示会话的上下文信息(如设备、浏览器、地理位置等),帮助开发者深入了解问题背景并进行精准定位。 + +## 下一步 + +- [了解隐私保护设置](https://docs.flashcat.cloud/zh/flashduty/rum/privacy-settings) From 7831cae18e97da28b5c3e7dc730bef7643381c0a Mon Sep 17 00:00:00 2001 From: Fiona Date: Thu, 14 Aug 2025 23:11:19 +0800 Subject: [PATCH 06/86] feat: update tip --- .../en/2. RUM/5. Session Replay/3. View Session Replay.md | 4 ++++ .../3. \344\274\232\350\257\235\346\237\245\347\234\213.md" | 3 +++ 2 files changed, 7 insertions(+) diff --git a/flashduty/en/2. RUM/5. Session Replay/3. View Session Replay.md b/flashduty/en/2. RUM/5. Session Replay/3. View Session Replay.md index 9d4fd504..2143b06e 100644 --- a/flashduty/en/2. RUM/5. Session Replay/3. View Session Replay.md +++ b/flashduty/en/2. RUM/5. Session Replay/3. View Session Replay.md @@ -21,6 +21,10 @@ Click on any record item to open the player panel, divided into the following ar ![Session Replay Panel](https://docs-cdn.flashcat.cloud/imges/png/e68c92a399e22e58ffdde318950e1c54.png) +:::tip +For quick browsing, only replays with a duration **greater than 3 seconds** are displayed in the list +::: + ## Player The player supports functions such as play, pause, fast-forward, rewind, replay, speed control, fullscreen, and seek, and supports keyboard shortcuts to improve efficiency. During playback, the timeline will mark user behaviors (Action) and errors (Error) with different colored icons, making it easy to quickly overview key events in the session. diff --git "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/3. \344\274\232\350\257\235\346\237\245\347\234\213.md" "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/3. \344\274\232\350\257\235\346\237\245\347\234\213.md" index a5c83456..63f4ddeb 100644 --- "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/3. \344\274\232\350\257\235\346\237\245\347\234\213.md" +++ "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/3. \344\274\232\350\257\235\346\237\245\347\234\213.md" @@ -20,6 +20,9 @@ Flashduty RUM 的会话重放功能通过直观地重现用户操作路径,帮 - **播放控制区**:提供播放控制功能,方便操作。 ![会话重放面板](https://docs-cdn.flashcat.cloud/imges/png/cc05420113db42bef5a770af8656db4b.png) +:::tip +为方便快速浏览,列表中仅展示持续时间 **大于 3 秒** 的回放 +::: ## 播放器 From a5c1c32cde7dff58d2aee63133ef14d00ad3e4ab Mon Sep 17 00:00:00 2001 From: Fiona Date: Fri, 15 Aug 2025 14:27:32 +0800 Subject: [PATCH 07/86] fix: update document --- flashduty/en/2. RUM/5. Session Replay/1. Overview.md | 2 +- flashduty/en/2. RUM/5. Session Replay/2. SDK Configuration.md | 3 +++ .../1. \346\246\202\350\247\210.md" | 2 +- .../2. SDK \351\205\215\347\275\256.md" | 3 +++ 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/flashduty/en/2. RUM/5. Session Replay/1. Overview.md b/flashduty/en/2. RUM/5. Session Replay/1. Overview.md index 7fac7355..a169db90 100644 --- a/flashduty/en/2. RUM/5. Session Replay/1. Overview.md +++ b/flashduty/en/2. RUM/5. Session Replay/1. Overview.md @@ -35,7 +35,7 @@ Flashduty RUM's session replay functionality is divided into two key phases: **B ### 1. Behavior Recording and Replay -Quickly recording user behavior and generating replays is the first step in analysis. During the replay phase, the recording SDK takes snapshots of the current DOM and CSS styles, and collects corresponding events when user behaviors occur (DOM changes, mouse movements, clicks, form inputs, etc.). Data is reported after serialization, compression, and removal of sensitive information. +Quickly recording user behavior and generating replays is the first step in analysis. During the recording phase, the recording SDK takes snapshots of the current DOM and CSS styles, and collects corresponding events when user behaviors occur (DOM changes, mouse movements, clicks, form inputs, etc.). Data is reported after serialization, compression, and removal of sensitive information. ### 2. Problem Analysis and Optimization diff --git a/flashduty/en/2. RUM/5. Session Replay/2. SDK Configuration.md b/flashduty/en/2. RUM/5. Session Replay/2. SDK Configuration.md index a2167a2c..644c9d3e 100644 --- a/flashduty/en/2. RUM/5. Session Replay/2. SDK Configuration.md +++ b/flashduty/en/2. RUM/5. Session Replay/2. SDK Configuration.md @@ -27,6 +27,9 @@ window.FC_RUM.init({ ::: tip Sampling Method: When the client SDK initializes a session, it generates a random number between 0-1 and compares it with `rate/100`. If it falls within the range, that session will be collected as a sample, and replay data will be collected and reported within the session cycle. + +Based on sampled session, the session will be +Based on the session being sampled, the session replay sampling rate (`sessionReplaySampleRate`) will be applied for a second round of calculation and sampling. ::: By default, after configuring the sampling rate, automatic collection will be enabled after `RUM.init()` is executed. If you want to manually control the collection timing (such as collecting data after user login), you can first enable the manual collection switch, then manually call the record method. diff --git "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/1. \346\246\202\350\247\210.md" "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/1. \346\246\202\350\247\210.md" index 566ef299..e916eab3 100644 --- "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/1. \346\246\202\350\247\210.md" +++ "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/1. \346\246\202\350\247\210.md" @@ -35,7 +35,7 @@ Flashduty RUM 的会话重放功能分为两个关键阶段:**行为记录与 ### 1. 行为记录与回放 -快速记录用户行为并生成回放是分析的第一步。在回放阶段,录制 SDK 会将当前 dom 和 css 样式打快照,并在用户行为(DOM 变化、鼠标移动、点击、表单输入等)发生时收集对应的事件。通过序列化、压缩、去除敏感信息后进行数据上报。 +快速记录用户行为并生成回放是分析的第一步。在录制阶段,录制 SDK 会将当前 dom 和 css 样式打快照,并在用户行为(DOM 变化、鼠标移动、点击、表单输入等)发生时收集对应的事件。通过序列化、压缩、去除敏感信息后进行数据上报。 ### 2. 问题分析与优化 diff --git "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" index b368f891..60aac3c4 100644 --- "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" +++ "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" @@ -26,7 +26,10 @@ window.FC_RUM.init({ ``` ::: tip + 采样方式:在客户端 sdk 初始化 session 时生成 0-1 之间的随机数,与 `rate/100` 进行大小比较。如落在区间内,则该 session 会作为采集样本,回放数据会在 session 周期内采集与上报。 + +在 session 被采样的基础上,会话重放的采样率(sessionReplaySampleRate)会被进行二次计算和采样。 ::: 默认配置采样率后,会在`RUM.init()`执行后开启自动采集。若想手动控制采集时机(如用户登录后再进行数据采集),可先开启手动采集开关,再手动调用 record 方法。 From b7d90994aabaaa83535e7ea385c9cf7ecf67a4a5 Mon Sep 17 00:00:00 2001 From: Fiona Date: Mon, 18 Aug 2025 14:53:34 +0800 Subject: [PATCH 08/86] fix: privacy config --- .../4. Privacy Protection.md | 24 +++++++++---------- ...35\346\212\244\350\257\264\346\230\216.md" | 24 +++++++++---------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/flashduty/en/2. RUM/5. Session Replay/4. Privacy Protection.md b/flashduty/en/2. RUM/5. Session Replay/4. Privacy Protection.md index 6fa8f28d..a6e71557 100644 --- a/flashduty/en/2. RUM/5. Session Replay/4. Privacy Protection.md +++ b/flashduty/en/2. RUM/5. Session Replay/4. Privacy Protection.md @@ -7,18 +7,18 @@ url: "https://docs.flashcat.cloud/en/flashduty/rum/session-replay-privacy" ## Overview -To meet privacy requirements in different scenarios, the session replay functionality has built-in flexible privacy protection strategies. By configuring the `sessionReplayPrivacyLevel` field, developers can control the sensitivity of data collection, supporting multiple modes from displaying all text (except passwords) to completely hiding page text, ensuring user data security and compliance. +To meet privacy requirements in different scenarios, the session replay functionality has built-in flexible privacy protection strategies. By configuring the `defaultPrivacyLevel` field, developers can control the sensitivity of data collection, supporting multiple modes from displaying all text (except passwords) to completely hiding page text, ensuring user data security and compliance. ## Privacy Strategies -The session replay functionality provides flexible privacy protection configuration through the `sessionReplayPrivacyLevel` field, ensuring both functionality and data security when collecting user operation data. Below are three main privacy level configurations and their effects: +The session replay functionality provides flexible privacy protection configuration through the `defaultPrivacyLevel` field, ensuring both functionality and data security when collecting user operation data. Below are three main privacy level configurations and their effects: :::tip Input fields with type "password" are sensitive information and will not be collected in any scenario. ::: -### Display All Text (Except Passwords) +### Hide All Page Text -Configure `sessionReplayPrivacyLevel: "allow"` to allow collection of all text content on the page except password fields, suitable for scenarios requiring complete user interaction details. +Configure `defaultPrivacyLevel: "mask-all"` to completely hide all text content on the page, preserving only operation behaviors and page structure, suitable for scenarios with extremely high data privacy requirements. ```js window.FC_RUM.init({ @@ -26,16 +26,16 @@ window.FC_RUM.init({ clientToken: "YOUR_CLIENT_TOKEN", // ... sessionReplaySampleRate: 10, // Default sampling rate 10% - sessionReplayPrivacyLevel: "allow", + defaultPrivacyLevel: "mask", // ... }); ``` -![Display All Text](https://docs-cdn.flashcat.cloud/imges/png/24db39145913b960a588e45ab088c224.png) +![Hide All Page Text](https://docs-cdn.flashcat.cloud/imges/png/03afebc34026be5cb5ad683665163c12.png) ### Hide Input Field Content -Configure `sessionReplayPrivacyLevel: "mask-user-input"` to hide content in user input fields (such as text inputs, select boxes, etc.) while preserving other page text, suitable for scenarios requiring protection of user input privacy. +Configure `defaultPrivacyLevel: "mask-user-input"` to hide content in user input fields (such as text inputs, select boxes, etc.) while preserving other page text, suitable for scenarios requiring protection of user input privacy. ```js window.FC_RUM.init({ @@ -43,16 +43,16 @@ window.FC_RUM.init({ clientToken: "YOUR_CLIENT_TOKEN", // ... sessionReplaySampleRate: 10, // Default sampling rate 10% - sessionReplayPrivacyLevel: "mask-user-input", + defaultPrivacyLevel: "mask-user-input", // ... }); ``` ![Hide Input Field Content](https://docs-cdn.flashcat.cloud/imges/png/e2f36a765e0dcb5db8a3ba9c24c42d6a.png) -### Hide All Page Text +### Display All Text (Except Passwords) -Configure `sessionReplayPrivacyLevel: "mask-all"` to completely hide all text content on the page, preserving only operation behaviors and page structure, suitable for scenarios with extremely high data privacy requirements. +Configure `defaultPrivacyLevel: "allow"` to allow collection of all text content on the page except password fields, suitable for scenarios requiring complete user interaction details. ```js window.FC_RUM.init({ @@ -60,9 +60,9 @@ window.FC_RUM.init({ clientToken: "YOUR_CLIENT_TOKEN", // ... sessionReplaySampleRate: 10, // Default sampling rate 10% - sessionReplayPrivacyLevel: "mask-all", + defaultPrivacyLevel: "allow", // ... }); ``` -![Hide All Page Text](https://docs-cdn.flashcat.cloud/imges/png/03afebc34026be5cb5ad683665163c12.png) +![Display All Text](https://docs-cdn.flashcat.cloud/imges/png/24db39145913b960a588e45ab088c224.png) diff --git "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/4. \351\232\220\347\247\201\344\277\235\346\212\244\350\257\264\346\230\216.md" "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/4. \351\232\220\347\247\201\344\277\235\346\212\244\350\257\264\346\230\216.md" index 203fe769..954f9fc4 100644 --- "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/4. \351\232\220\347\247\201\344\277\235\346\212\244\350\257\264\346\230\216.md" +++ "b/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/4. \351\232\220\347\247\201\344\277\235\346\212\244\350\257\264\346\230\216.md" @@ -7,18 +7,18 @@ url: "https://docs.flashcat.cloud/zh/flashduty/rum/session-replay-privacy" ## 概述 -为满足不同场景的隐私需求,会话重放功能内置了灵活的隐私保护策略。通过配置 `sessionReplayPrivacyLevel` 字段,开发者可控制数据采集的敏感度,支持从显示所有文本(除密码外)到完全隐藏页面文本的多种模式,确保用户数据的安全性和合规性 +为满足不同场景的隐私需求,会话重放功能内置了灵活的隐私保护策略。通过配置 `defaultPrivacyLevel` 字段,开发者可控制数据采集的敏感度,支持从显示所有文本(除密码外)到完全隐藏页面文本的多种模式,确保用户数据的安全性和合规性 ## 隐私策略 -会话重放功能通过 `sessionReplayPrivacyLevel` 字段提供灵活的隐私保护配置,确保在采集用户操作数据时兼顾功能性和数据安全。以下为三种主要隐私级别配置及其效果: +会话重放功能通过 `defaultPrivacyLevel` 字段提供灵活的隐私保护配置,确保在采集用户操作数据时兼顾功能性和数据安全。以下为三种主要隐私级别配置及其效果: :::tip input 类型为 password 的输入为敏感信息,所有场景都不会收集。 ::: -### 显示所有文本(除密码) +### 隐藏页面所有文本 -配置 `sessionReplayPrivacyLevel: "allow"` 允许采集页面中除密码字段外的所有文本内容,适合需要完整用户交互细节的场景。 +配置 `defaultPrivacyLevel: "mask"` 将完全隐藏页面中的所有文本内容,仅保留操作行为和页面结构,适合对数据隐私要求校高的场景。 ```js window.FC_RUM.init({ @@ -26,16 +26,16 @@ window.FC_RUM.init({ clientToken: "YOUR_CLIENT_TOKEN", // ... sessionReplaySampleRate: 10, // 默认采样率10% - sessionReplayPrivacyLevel: "allow", + defaultPrivacyLevel: "mask", // ... }); ``` -![显示所有文本](https://docs-cdn.flashcat.cloud/imges/png/4cae182c91c7df152cbcf86c2978f443.png) +![隐藏页面所有文本](https://docs-cdn.flashcat.cloud/imges/png/3c123bbf8fd30482da766ab009c16b0e.png) ### 隐藏数据框内容 -配置 `sessionReplayPrivacyLevel: "mask-user-input"` 将隐藏用户输入框中的内容(如文本输入、选择框等),但保留页面其他文本,适用于需要保护用户输入隐私的场景。 +配置 `defaultPrivacyLevel: "mask-user-input"` 将隐藏用户输入框中的内容(如文本输入、选择框等),但保留页面其他文本,适用于需要保护用户输入隐私的场景。 ```js window.FC_RUM.init({ @@ -43,16 +43,16 @@ window.FC_RUM.init({ clientToken: "YOUR_CLIENT_TOKEN", // ... sessionReplaySampleRate: 10, // 默认采样率10% - sessionReplayPrivacyLevel: "mask-user-input", + defaultPrivacyLevel: "mask-user-input", // ... }); ``` ![隐藏数据框内容](https://docs-cdn.flashcat.cloud/imges/png/5c43c6f6196a95334a8b253fa33360c9.png) -### 隐藏页面所有文本 +### 显示所有文本(除密码) -配置 `sessionReplayPrivacyLevel: "mask-all"` 将完全隐藏页面中的所有文本内容,仅保留操作行为和页面结构,适合对数据隐私要求极高的场景。 +配置 `defaultPrivacyLevel: "allow"` 允许采集页面中除密码字段外的所有文本内容,适合需要完整用户交互细节的场景。 ```js window.FC_RUM.init({ @@ -60,9 +60,9 @@ window.FC_RUM.init({ clientToken: "YOUR_CLIENT_TOKEN", // ... sessionReplaySampleRate: 10, // 默认采样率10% - sessionReplayPrivacyLevel: "mask-all", + defaultPrivacyLevel: "allow", // ... }); ``` -![隐藏页面所有文本](https://docs-cdn.flashcat.cloud/imges/png/3c123bbf8fd30482da766ab009c16b0e.png) +![显示所有文本](https://docs-cdn.flashcat.cloud/imges/png/4cae182c91c7df152cbcf86c2978f443.png) From cf8333fa62a96f90ceabc2b0dc777c0e193d9529 Mon Sep 17 00:00:00 2001 From: ysyneu Date: Tue, 19 Aug 2025 20:46:36 +0800 Subject: [PATCH 09/86] add rum and monit docs --- .../8.1.49 Monit Alert Integration.md | 20 +++++++++++++++++++ .../8.1.50 RUM Alert Integration.md | 20 +++++++++++++++++++ ...06\346\210\220\346\214\207\345\274\225.md" | 20 +++++++++++++++++++ ...06\346\210\220\346\214\207\345\274\225.md" | 20 +++++++++++++++++++ 4 files changed, 80 insertions(+) create mode 100644 flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.49 Monit Alert Integration.md create mode 100644 flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.50 RUM Alert Integration.md create mode 100644 "flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.49 Monit \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" create mode 100644 "flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.50 RUM \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" diff --git a/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.49 Monit Alert Integration.md b/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.49 Monit Alert Integration.md new file mode 100644 index 00000000..387ec19c --- /dev/null +++ b/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.49 Monit Alert Integration.md @@ -0,0 +1,20 @@ +--- +title: "Monit Alert Integration" +description: "Flashduty Monit alert integration, Monit service reports alerts through this integration" +date: "2025-05-19T10:00:00+08:00" +url: "https://docs.flashcat.cloud/en/flashduty/monit-alert-integration-guide?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5" +--- + +When you enable the Monit service, the system will automatically create this integration for you. This integration is used to collect alert events generated by the Monit service. + +:::tips +You cannot modify or delete this integration. However, you can manage the label enrichment, alert pipeline, and routing rules under the integration. +::: + +## How to Enable Monit Alerts + +Go to the `Monit` - `Alert Rules` - `Rule Details` page to configure monitoring metrics and threshold conditions, and enable alerts. You can choose to deliver alerts to multiple channels. Alert notification rules follow the escalation rules under the channel, and you can set responders for the team to assign to responders when alerts occur. + +![2025-08-19-20-35-45](https://docs-cdn.flashcat.cloud/images/png/59c9d2566db9a0482fb2eabb729ea739.png) + +In some cases, you may want to route alerts generated by the same alert rule to different channels based on conditions. In this case, you can choose to deliver alerts directly to the integration rather than to the channels, and set routing rules under the current integration. diff --git a/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.50 RUM Alert Integration.md b/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.50 RUM Alert Integration.md new file mode 100644 index 00000000..4517fb7a --- /dev/null +++ b/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.50 RUM Alert Integration.md @@ -0,0 +1,20 @@ +--- +title: "RUM Alert Integration" +description: "Flashduty RUM alert integration, RUM service reports alerts through this integration" +date: "2025-05-19T10:00:00+08:00" +url: "https://docs.flashcat.cloud/en/flashduty/rum-alert-integration-guide?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5" +--- + +When you enable the RUM service, the system will automatically create this integration for you. This integration is used to collect alert events generated by the RUM service. + +:::tips +You cannot modify or delete this integration. However, you can manage the label enrichment, alert pipeline, and routing rules under the integration. +::: + +## How to Enable RUM Alerts + +Go to the `RUM` - `Application Details` - `Alert Settings` page to enable alerts. You can choose to deliver alerts to multiple channels. Alert notification rules follow the escalation rules under the channel, and you can set responders for the team to assign to responders when alerts occur. + +![2025-05-20-10-53-57](https://docs-cdn.flashcat.cloud/images/png/2bbd455a2ac702246e8399b6628f9158.png) + +For more information, please refer to [RUM Issue Alerting](https://docs.flashcat.cloud/en/flashduty/rum/issue-alerting?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5). diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.49 Monit \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.49 Monit \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" new file mode 100644 index 00000000..b3b491e3 --- /dev/null +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.49 Monit \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -0,0 +1,20 @@ +--- +title: "Monit 告警集成" +description: "Flashduty Monit 告警集成,Monit 服务通过此集成上报告警" +date: "2025-05-19T10:00:00+08:00" +url: "https://docs.flashcat.cloud/zh/flashduty/rum-alert-integration-guide" +--- + +当您开通 Monit 服务时,系统会自动为您创建此集成。此集成用于收集 Monit 服务产生的告警事件。 + +:::tips +您无法修改或删除此集成。但您可以管理集成下的标签增强、告警处理以及路由等规则。 +::: + +## 如何开启 Monit 告警 + +前往`Monit`-`告警规则`-`规则详情`页面,配置监控指标和阈值等条件,并开启告警。您可以选择将告警投递至多个协作空间。告警的通知规则遵循协作空间下的分派策略,您可以为团队设定值班人员,在告警发生时分派给值班人。 + +![2025-08-19-20-35-45](https://docs-cdn.flashcat.cloud/images/png/59c9d2566db9a0482fb2eabb729ea739.png) + +某些情况下,您可能希望将同一个告警规则产生的告警,按条件路由到不同的协作空间,这个时候您可以选择将告警直接投递到集成,而非协作空间列表。并在当前集成下,设置路由规则。 \ No newline at end of file diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.50 RUM \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.50 RUM \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" new file mode 100644 index 00000000..6870416c --- /dev/null +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.50 RUM \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -0,0 +1,20 @@ +--- +title: "RUM 告警集成" +description: "Flashduty RUM 告警集成,RUM 服务通过此集成上报告警" +date: "2025-05-19T10:00:00+08:00" +url: "https://docs.flashcat.cloud/zh/flashduty/rum-alert-integration-guide" +--- + +当您开通 RUM 服务时,系统会自动为您创建此集成。此集成用于收集 RUM 服务产生的告警事件。 + +:::tips +您无法修改或删除此集成。但您可以管理集成下的标签增强、告警处理以及路由等规则。 +::: + +## 如何开启 RUM 告警 + +前往`RUM`-`应用详情`-`告警设置`页面,开启告警。您可以选择将告警投递至多个协作空间。告警的通知规则遵循协作空间下的分派策略,您可以为团队设定值班人员,在告警发生时分派给值班人。 + +![2025-05-20-10-53-57](https://docs-cdn.flashcat.cloud/images/png/2bbd455a2ac702246e8399b6628f9158.png) + +更多内容,请您参考 [RUM Issue 告警](https://docs.flashcat.cloud/zh/flashduty/rum/issue-alerting)。 \ No newline at end of file From 2998067b174b1aa86d1e459054294add77c8cccc Mon Sep 17 00:00:00 2001 From: ysyneu Date: Wed, 20 Aug 2025 10:17:25 +0800 Subject: [PATCH 10/86] fix image and url --- .../8.1 Alerts integration/8.1.50 RUM Alert Integration.md | 2 +- flashduty/en/2. RUM/4. Error Tracking/7. Issue Alerting.md | 2 +- ...\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.50 RUM Alert Integration.md b/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.50 RUM Alert Integration.md index 4517fb7a..6a62cda5 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.50 RUM Alert Integration.md +++ b/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.50 RUM Alert Integration.md @@ -15,6 +15,6 @@ You cannot modify or delete this integration. However, you can manage the label Go to the `RUM` - `Application Details` - `Alert Settings` page to enable alerts. You can choose to deliver alerts to multiple channels. Alert notification rules follow the escalation rules under the channel, and you can set responders for the team to assign to responders when alerts occur. -![2025-05-20-10-53-57](https://docs-cdn.flashcat.cloud/images/png/2bbd455a2ac702246e8399b6628f9158.png) +![2025-08-20-10-16-14](https://docs-cdn.flashcat.cloud/images/png/b6ad24809a2ee8f0b3c0b38988b46030.png) For more information, please refer to [RUM Issue Alerting](https://docs.flashcat.cloud/en/flashduty/rum/issue-alerting?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5). diff --git a/flashduty/en/2. RUM/4. Error Tracking/7. Issue Alerting.md b/flashduty/en/2. RUM/4. Error Tracking/7. Issue Alerting.md index ad2c13b0..b0236bb5 100644 --- a/flashduty/en/2. RUM/4. Error Tracking/7. Issue Alerting.md +++ b/flashduty/en/2. RUM/4. Error Tracking/7. Issue Alerting.md @@ -15,7 +15,7 @@ You can perform daily inspections of aggregated Issues in the console, or config Navigate to the `Application Details` - `Alert Settings` page to enable alerts. You can choose to deliver alerts to multiple collaboration spaces. Alert notification rules follow the dispatch strategy under the collaboration space. You can set up on-call personnel for your team, so alerts will be assigned to the person on duty when they occur. -![2025-05-20-10-53-57](https://docs-cdn.flashcat.cloud/images/png/2bbd455a2ac702246e8399b6628f9158.png) +![2025-08-20-10-16-14](https://docs-cdn.flashcat.cloud/images/png/b6ad24809a2ee8f0b3c0b38988b46030.png) :::tip You must activate the On-call service to enable Issue alerts. Note that the On-call service charges based on active users, but members without licenses can still receive alert notifications, as even the free version has basic notification capabilities. diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.49 Monit \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.49 Monit \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" index b3b491e3..4b71f392 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.49 Monit \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.49 Monit \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -2,7 +2,7 @@ title: "Monit 告警集成" description: "Flashduty Monit 告警集成,Monit 服务通过此集成上报告警" date: "2025-05-19T10:00:00+08:00" -url: "https://docs.flashcat.cloud/zh/flashduty/rum-alert-integration-guide" +url: "https://docs.flashcat.cloud/zh/flashduty/monit-alert-integration-guide" --- 当您开通 Monit 服务时,系统会自动为您创建此集成。此集成用于收集 Monit 服务产生的告警事件。 From 2b244793028ca7532d4c249928e08b84cf3854ed Mon Sep 17 00:00:00 2001 From: niuweili <957905827@qq.com> Date: Wed, 20 Aug 2025 10:31:51 +0800 Subject: [PATCH 11/86] feat: add export --- src/en.ts | 4 ++++ src/zh.ts | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/en.ts b/src/en.ts index 71491afa..609aff95 100644 --- a/src/en.ts +++ b/src/en.ts @@ -48,6 +48,8 @@ import ElastAlert2 from "../flashduty/en/1. On-call/8. Integrations/8.1 Alerts i import DingtalkAlert from "../flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.46 DingtalkAlert Integration.md?raw"; import FeishuAlert from "../flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.47 Feishu(Lark)Alert Integration.md?raw"; import VolcEngineDetect from "../flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.48 Volcengine Detect Integration.md?raw"; +import Monit from "../flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.49 Monit Alert Integration.md?raw"; +import Rum from "../flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.50 RUM Alert Integration.md?raw"; /** ⬆️⬆️⬆️⬆️ 告警集成 ⬆️⬆️⬆️⬆️ */ /** ⬇️⬇️⬇️⬇️ 变更事件 ⬇️⬇️⬇️⬇️ */ @@ -144,5 +146,7 @@ const docs = { VolcEngineDetect, Link, ServiceNowSync, + Monit, + Rum }; export default docs; diff --git a/src/zh.ts b/src/zh.ts index e0082b8c..6b1f0b57 100644 --- a/src/zh.ts +++ b/src/zh.ts @@ -48,6 +48,8 @@ import ElastAlert2 from "../flashduty/zh/1. On-call/5. 集成引导/8.1 告警 import DingtalkAlert from "../flashduty/zh/1. On-call/5. 集成引导/8.1 告警集成/8.1.46 钉钉告警集成指引.md?raw"; import FeishuAlert from "../flashduty/zh/1. On-call/5. 集成引导/8.1 告警集成/8.1.47 飞书 Lark 告警集成指引.md?raw"; import VolcEngineDetect from "../flashduty/zh/1. On-call/5. 集成引导/8.1 告警集成/8.1.48 火山引擎云拨测集成指引.md?raw"; +import Monit from "../flashduty/zh/1. On-call/5. 集成引导/8.1 告警集成/8.1.49 Monit 告警集成指引.md?raw"; +import Rum from "../flashduty/zh/1. On-call/5. 集成引导/8.1 告警集成/8.1.50 RUM 告警集成指引.md?raw"; /** ⬆️⬆️⬆️⬆️ 告警集成 ⬆️⬆️⬆️⬆️ */ /** ⬇️⬇️⬇️⬇️ 变更事件 ⬇️⬇️⬇️⬇️ */ @@ -75,7 +77,7 @@ import ServiceNowSync from "../flashduty/zh/1. On-call/5. 集成引导/8.5 Webho import Templates from "../flashduty/zh/1. On-call/3. 配置管理/4.7 配置通知模板.md?raw"; /** ⬇️⬇️⬇️⬇️ Other ⬇️⬇️⬇️⬇️ */ -import Link from "../flashduty/zh/1. On-call/5. 集成引导/8.6 其他集成/8.6.1 Link 集成指引.md?raw"; +import Link from "../flashduty/zh/1. On-call/5. 集成引导/8.6 其他集成/8.6.1 Link 集成指引.md?raw"; /** ⬆️⬆️⬆️⬆️ Other ⬆️⬆️⬆️⬆️ */ const docs = { @@ -142,5 +144,7 @@ const docs = { VolcEngineDetect, Link, ServiceNowSync, + Monit, + Rum, }; -export default docs; \ No newline at end of file +export default docs; From 0d43815853dc2c4e5b22c521f872ce339f2e5b0d Mon Sep 17 00:00:00 2001 From: niuweili <957905827@qq.com> Date: Wed, 20 Aug 2025 10:39:51 +0800 Subject: [PATCH 12/86] feat: v1.3.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b0691fe1..cb75973c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "flashduty-knowledge-base", - "version": "1.3.1", + "version": "1.3.2", "description": "flashduty knowledge base", "type": "module", "engines": { From d0ee526dcf4f6c0977c5d34d5cd797e178aa3009 Mon Sep 17 00:00:00 2001 From: ysyneu Date: Thu, 21 Aug 2025 20:02:08 +0800 Subject: [PATCH 13/86] fix english api link --- flashduty/en/1. On-call/2. Incidents/2.2 View Incidents.md | 2 +- flashduty/en/1. On-call/2. Incidents/2.6 Custom Actions.md | 2 +- .../1. On-call/4. Configure On-call/4.5 Label Enrichment.md | 4 ++-- .../en/1. On-call/6. Advanced/6.1 Referencing Variables.md | 2 +- flashduty/en/1. On-call/6. Advanced/6.3 Insights.md | 4 ++-- .../8.2 Change integration/8.2.1 Standard Change Event.md | 2 +- flashduty/en/3. Platform/1. Teams and Members.md | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/flashduty/en/1. On-call/2. Incidents/2.2 View Incidents.md b/flashduty/en/1. On-call/2. Incidents/2.2 View Incidents.md index a2d1e979..ab3a9d47 100644 --- a/flashduty/en/1. On-call/2. Incidents/2.2 View Incidents.md +++ b/flashduty/en/1. On-call/2. Incidents/2.2 View Incidents.md @@ -24,7 +24,7 @@ Flashduty provides two entry points to view the incident list: one within the ch 8. **Pagination Settings**: Adjust page numbers and items per page. :::highlight orange 💡 -For performance reasons, when search conditions match more than **1000** incidents, the system only shows 1000+, rather than an exact number. Therefore, you can only view 1000 incidents through pagination. If you need to view more, please adjust your search time interval or use the [Incident Query](https://developer.flashcat.cloud/api-110655782) API to get all data. +For performance reasons, when search conditions match more than **1000** incidents, the system only shows 1000+, rather than an exact number. Therefore, you can only view 1000 incidents through pagination. If you need to view more, please adjust your search time interval or use the [Incident Query](https://developer-en.flashcat.cloud/api-110655782) API to get all data. ::: ### Using Group Views diff --git a/flashduty/en/1. On-call/2. Incidents/2.6 Custom Actions.md b/flashduty/en/1. On-call/2. Incidents/2.6 Custom Actions.md index 528237d4..436d1e46 100644 --- a/flashduty/en/1. On-call/2. Incidents/2.6 Custom Actions.md +++ b/flashduty/en/1. On-call/2. Incidents/2.6 Custom Actions.md @@ -33,4 +33,4 @@ After creation, you can find the action button under [Incident Details-More Acti drawing ### How to implement webhook? -Visit [Webhook Getting Started](https://developer.flashcat.cloud/doc-2996930) to learn more. \ No newline at end of file +Visit [Webhook Getting Started](https://developer-en.flashcat.cloud/doc-2996930) to learn more. \ No newline at end of file diff --git a/flashduty/en/1. On-call/4. Configure On-call/4.5 Label Enrichment.md b/flashduty/en/1. On-call/4. Configure On-call/4.5 Label Enrichment.md index e0b8f529..a0acd290 100644 --- a/flashduty/en/1. On-call/4. Configure On-call/4.5 Label Enrichment.md +++ b/flashduty/en/1. On-call/4. Configure On-call/4.5 Label Enrichment.md @@ -33,7 +33,7 @@ Each alert event in the integration center has label enrichment configuration op ### Types of Label Enrichment - **Extract:** Using regular expressions to extract needed information from alert titles, detailed descriptions, and existing label fields to automatically generate additional labels. - **Compose:** Composition rules can build new labels using Go template syntax, extracting label values with {{.Labels.Field}} format or generating new labels using fixed values. -- **Map:** Maps source key-value pairs to new key-value pairs through mapping relationships. Requires pre-creating [schema](https://developer.flashcat.cloud/api-142409927) mapping relationships and [uploading metadata](https://developer.flashcat.cloud/api-145679479) before configuration. See configuration examples below. +- **Map:** Maps source key-value pairs to new key-value pairs through mapping relationships. Requires pre-creating [schema](https://developer-en.flashcat.cloud/api-142409927) mapping relationships and [uploading metadata](https://developer-en.flashcat.cloud/api-145679479) before configuration. See configuration examples below. - **Delete:** Removes labels with specified names. If the label to be deleted doesn't exist, the operation is ineffective. drawing @@ -133,6 +133,6 @@ In the mapping table details page, you can manage the mapping table data, includ ::: tip -If you do not want the source label to exist, you can achieve this through the delete rule. Also, label mapping supports API management, which can be referred to [Label Mapping API](https://developer.flashcat.cloud/api-142429470). +If you do not want the source label to exist, you can achieve this through the delete rule. Also, label mapping supports API management, which can be referred to [Label Mapping API](https://developer-en.flashcat.cloud/api-142429470). ::: \ No newline at end of file diff --git a/flashduty/en/1. On-call/6. Advanced/6.1 Referencing Variables.md b/flashduty/en/1. On-call/6. Advanced/6.1 Referencing Variables.md index 45807789..44721fd4 100644 --- a/flashduty/en/1. On-call/6. Advanced/6.1 Referencing Variables.md +++ b/flashduty/en/1. On-call/6. Advanced/6.1 Referencing Variables.md @@ -10,7 +10,7 @@ url: "https://docs.flashcat.cloud/en/flashduty/customize-incident-attrs" By referencing alert labels and attributes, you can customize incident severity and title information. This feature is mainly used in the following two scenarios: -1. When reporting custom alert events using the [Alert Event API](https://developer.flashcat.cloud/en/flashduty/event-api/alert-event?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5), you can use the `title_rule` field to customize the alert title. +1. When reporting custom alert events using the [Alert Event API](https://developer-en.flashcat.cloud/en/flashduty/event-api/alert-event?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5), you can use the `title_rule` field to customize the alert title. ``` # Example: Specify resource and check labels as alert title diff --git a/flashduty/en/1. On-call/6. Advanced/6.3 Insights.md b/flashduty/en/1. On-call/6. Advanced/6.3 Insights.md index ef90f44e..fc51adb3 100644 --- a/flashduty/en/1. On-call/6. Advanced/6.3 Insights.md +++ b/flashduty/en/1. On-call/6. Advanced/6.3 Insights.md @@ -77,14 +77,14 @@ Export incident list data in CSV format, supporting incident list, team, channel #### Export Limitations -- Incident list exports exclude Labels data; for more detailed data, use the [Incident List](https://developer.flashcat.cloud/api-110655782) API. +- Incident list exports exclude Labels data; for more detailed data, use the [Incident List](https://developer-en.flashcat.cloud/api-110655782) API. - Maximum query and export limit is 100,000 records; for more data, export in time segments. ### FAQ
How to query older data? - The insights dashboard currently supports querying last 180 days of data. For older data, use the [API query](https://developer.flashcat.cloud/api-213441443). + The insights dashboard currently supports querying last 180 days of data. For older data, use the [API query](https://developer-en.flashcat.cloud/api-213441443).
diff --git a/flashduty/en/1. On-call/8. Integrations/8.2 Change integration/8.2.1 Standard Change Event.md b/flashduty/en/1. On-call/8. Integrations/8.2 Change integration/8.2.1 Standard Change Event.md index b08a15d3..79c4eabf 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.2 Change integration/8.2.1 Standard Change Event.md +++ b/flashduty/en/1. On-call/8. Integrations/8.2 Change integration/8.2.1 Standard Change Event.md @@ -26,7 +26,7 @@ Flashduty has already adapted webhook protocols for several commonly used ticket ## Implementation Protocol --- -Please refer to the [Developer Documentation](https://developer.flashcat.cloud/en/flashduty/event-api/change-event) to complete the protocol development. +Please refer to the [Developer Documentation](https://developer-en.flashcat.cloud/en/flashduty/event-api/change-event) to complete the protocol development. ## Best Practices --- diff --git a/flashduty/en/3. Platform/1. Teams and Members.md b/flashduty/en/3. Platform/1. Teams and Members.md index 67775f02..088e74a8 100644 --- a/flashduty/en/3. Platform/1. Teams and Members.md +++ b/flashduty/en/3. Platform/1. Teams and Members.md @@ -46,7 +46,7 @@ After deletion, other associated paths will become invalid immediately and canno ### Invitation Methods - The console only supports email invitations, with the username defaulting to the email prefix, which can be modified in account settings after activation -- You can send invitations through [Open API](https://developer.flashcat.cloud/api-110655699), which supports phone invitations +- You can send invitations through [Open API](https://developer-en.flashcat.cloud/api-110655699), which supports phone invitations - The system will send SMS or email to invited colleagues, with a daily invitation limit of 200 people and a maximum of 10 people per invitation - Additionally, you can contact the organization administrator to configure SSO, where new member accounts are created automatically upon login - After sending an invitation, the account will be activated upon the recipient's login. Unactivated accounts cannot receive alert notifications From ff31bb74a42fffd1bb3e44951b7aa99af3689e31 Mon Sep 17 00:00:00 2001 From: pijiang <419471640@qq.com> Date: Sat, 23 Aug 2025 19:53:25 +0800 Subject: [PATCH 14/86] add Cloudflare integration docs --- .../8.1.1 Email Integration.md | 3 +- .../8.1.46 DingtalkAlert Integration.md | 3 +- .../8.1.47 Feishu(Lark)Alert Integration.md | 3 +- .../8.1.48 Volcengine Detect Integration.md | 2 +- .../8.1.51 Cloudflare Integration.md | 71 +++++++++++++++++++ ...06\346\210\220\346\214\207\345\274\225.md" | 2 +- ...06\346\210\220\346\214\207\345\274\225.md" | 2 +- ...06\346\210\220\346\214\207\345\274\225.md" | 2 +- ...06\346\210\220\346\214\207\345\274\225.md" | 71 +++++++++++++++++++ src/en.ts | 4 +- src/zh.ts | 2 + 11 files changed, 154 insertions(+), 11 deletions(-) create mode 100644 flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.51 Cloudflare Integration.md create mode 100644 "flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.51 Cloudflare \351\233\206\346\210\220\346\214\207\345\274\225.md" diff --git a/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.1 Email Integration.md b/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.1 Email Integration.md index 83ce8a02..24087262 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.1 Email Integration.md +++ b/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.1 Email Integration.md @@ -97,5 +97,4 @@ attachment_stripped = true ## Severity Mapping --- -Currently, all alerts pushed to Flashduty through email integration are set to Warning severity. - +Currently, all alerts pushed to Flashduty through the email integration are set to Warning severity. However, you can customize the severity using the [alert pipeline](https://docs.flashcat.cloud/en/flashduty/alert-pipelines). diff --git a/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.46 DingtalkAlert Integration.md b/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.46 DingtalkAlert Integration.md index 68cb979e..22f8e556 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.46 DingtalkAlert Integration.md +++ b/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.46 DingtalkAlert Integration.md @@ -79,5 +79,4 @@ By default, the system always creates new alerts for each message, but you can s ## Severity Mapping --- -Currently, all alerts pushed to Flashduty through email integration are set to Warning severity. - +Currently, all alerts pushed to Flashduty through the Dingtalk integration are set to Warning severity. However, you can customize the severity using the [alert pipeline](https://docs.flashcat.cloud/en/flashduty/alert-pipelines). diff --git a/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.47 Feishu(Lark)Alert Integration.md b/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.47 Feishu(Lark)Alert Integration.md index a00ae4f4..2301e374 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.47 Feishu(Lark)Alert Integration.md +++ b/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.47 Feishu(Lark)Alert Integration.md @@ -79,5 +79,4 @@ By default, the system always creates new alerts for each message, but you can s ## Severity Mapping --- -Currently, all alerts pushed to Flashduty through Feishu Alert integration are set to Warning severity. - +Currently, all alerts pushed to Flashduty through the Feishu(lark) integration are set to Warning severity. However, you can customize the severity using the [alert pipeline](https://docs.flashcat.cloud/en/flashduty/alert-pipelines). diff --git a/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.48 Volcengine Detect Integration.md b/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.48 Volcengine Detect Integration.md index 9daed8d5..e39cdfc4 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.48 Volcengine Detect Integration.md +++ b/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.48 Volcengine Detect Integration.md @@ -54,7 +54,7 @@ Choose this method when you need to route alerts to different channels based on ### Step 1: Create Notification Object 1. Login to your `Volcengine` console, find `Alert Manager` in the `Notify Object` menu 2. Click `System Integration`, click `Create System Integration` or edit the existing endpoint -3. 在编辑页面中,名称填写 `Flashduty` ,`回调 URL` 处填写告警集成的推送地址。 +3. In the edit page, enter Flashduty as the name and fill in the push URL for the alert integration in the URL field. 5. Click `OK` to complete the configuration drawing diff --git a/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.51 Cloudflare Integration.md b/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.51 Cloudflare Integration.md new file mode 100644 index 00000000..2b845fbb --- /dev/null +++ b/flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.51 Cloudflare Integration.md @@ -0,0 +1,71 @@ +--- +title: "Cloudflare Alert Events" +description: "Sync Cloudflaret alert events to Flashduty via webhook for automated alert noise reduction" +date: "2024-07-05T10:00:00+08:00" +url: "https://docs.flashcat.cloud/en/flashduty/Cloudflare-integration-guide" +--- + +Sync Cloudflare alert events to Flashduty via webhook for automated alert noise reduction. + +
+ +## In Flashduty +--- +You can obtain an integration push URL through either of these two methods: + +### Using Private Integration + +Choose this method when you don't need to route alert events to different channels - it's simpler. + +
+ Expand + + 1. Go to the Flashduty console, select **Channel**, and enter a channel's details page + 2. Select the **Integrations** tab, click **Add Integration** to enter the integration page + 3. Choose **Cloudflare** integration and click **Save** to generate a card + 4. Click the generated card to view the **Push URL**, copy it for later use, and you're done + +
+ +### Using Shared Integration + +Choose this method when you need to route alerts to different channels based on the alert event payload. + +
+ Expand + + 1. Go to the Flashduty console, select **Integration Center=>Alert Events** to enter the integration selection page + 2. Select **Cloudflare** integration: + - **Integration Name**: Define a name for this integration + 3. Configure the default route and select the corresponding channel (after the integration is created, you can go to `Route` to configure more routing rules) + 4. Click **Save** and copy the newly generated **push URL** for later use + 5. Done + +
+
+ + +## In Cloudflare +--- + +
+ +## 一、Create Notification Object +1. Log in to the `Cloudflare dashboard` and select your account. +2. Go to `Notifications` > `Destinations`. +3. In the `Webhooks` card, select Create. +4. In the edit page, enter Flashduty as the name and fill in the push URL for the alert integration in the URL field. +5. Select `Save and Test` to finish setting up your webhook. + +After configuring the Webhook channel, you can use it in notification policies. + + + +## 二、Status Mapping + +
+ +Currently, all alerts pushed to Flashduty through the Cloudflare integration are set to Warning severity. However, you can customize the severity using the [alert pipeline](https://docs.flashcat.cloud/en/flashduty/alert-pipelines). + +
+ diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.1 \351\202\256\344\273\266 Email \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.1 \351\202\256\344\273\266 Email \351\233\206\346\210\220\346\214\207\345\274\225.md" index fdfe4ad1..beeffdf2 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.1 \351\202\256\344\273\266 Email \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.1 \351\202\256\344\273\266 Email \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -97,5 +97,5 @@ attachment_stripped = true ## 严重程度映射关系 --- -当前邮件集成推送到 Flashduty 的告警等级均为Warning。 +当前邮件集成推送到 Flashduty 的告警等级均为Warning,但您可以通过[告警处理 Pipeline](https://docs.flashcat.cloud/zh/flashduty/alert-pipelines) 来自定义严重程度。 diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.46 \351\222\211\351\222\211\345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.46 \351\222\211\351\222\211\345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" index a50c361a..398354f2 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.46 \351\222\211\351\222\211\345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.46 \351\222\211\351\222\211\345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -79,5 +79,5 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-alert-integration-guide" ## 严重程度映射关系 --- -当前钉钉告警集成推送到 Flashduty 的严重程度均为Warning。 +当前钉钉告警集成推送到 Flashduty 的严重程度均为Warning,但您可以通过[告警处理 Pipeline](https://docs.flashcat.cloud/zh/flashduty/alert-pipelines) 来自定义严重程度。 diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.47 \351\243\236\344\271\246 Lark \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.47 \351\243\236\344\271\246 Lark \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" index 14c8eecd..fb462ca9 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.47 \351\243\236\344\271\246 Lark \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.47 \351\243\236\344\271\246 Lark \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -79,5 +79,5 @@ url: "https://docs.flashcat.cloud/zh/flashduty/feishu-alert-integration-guide" ## 严重程度映射关系 --- -当前飞书告警集成推送到 Flashduty 的严重程度均为 Warning。 +当前飞书告警集成推送到 Flashduty 的严重程度均为 Warning,但您可以通过[告警处理 Pipeline](https://docs.flashcat.cloud/zh/flashduty/alert-pipelines) 来自定义严重程度。 diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.51 Cloudflare \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.51 Cloudflare \351\233\206\346\210\220\346\214\207\345\274\225.md" new file mode 100644 index 00000000..4cd22b12 --- /dev/null +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.51 Cloudflare \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -0,0 +1,71 @@ +--- +title: "Cloudflare 告警事件" +description: "通过 webhook 的方式同步 Cloudflare 告警事件到 Flashduty,实现告警事件自动化降噪处理" +date: "2024-07-05T10:00:00+08:00" +url: "https://docs.flashcat.cloud/zh/flashduty/volcengine-detect-integration-guide" +--- + +通过 webhook 的方式同步 Cloudflare 告警事件到 Flashduty,实现告警事件自动化降噪处理。 + +
+ +## 在 Flashduty +--- +您可通过以下2种方式,获取一个集成推送地址,任选其一即可。 + +### 使用专属集成 + +当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。 + +
+ 展开 + + 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面 + 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面 + 3. 选择 **Cloudflare** 集成,点击 **保存**,生成卡片。 + 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。 + + +
+ +### 使用共享集成 + +当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。 + +
+ 展开 + + 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。 + 2. 选择 **Cloudflare** 集成: + - **集成名称**:为当前集成定义一个名称。 + 3. 配置默认路由,并选择对应的协作空间(集成创建后可以前往 `路由` 进行更多路由规则的配置)。 + 4. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。 + 5. 完成。 + +
+
+ +## 在 Cloudflare +--- + +
+ +## 一、告警推送配置 + +1. 登录您的 `Cloudflare` 控制台,转到 `通知` 菜单中,。 +2. 在`Webhooks` 中点击创建。 +3. 在编辑页面中,名称填写 `Flashduty` ,`URL` 处填写告警集成的推送地址。 +4. 点击 `保存和测试` 完成配置。 + +After configuring the Webhook channel, you can use it in notification policies. + + + +## 二、状态对照 + +
+ +当前 Cloudflare 集成推送到 Flashduty 的告警等级均为 Warning,但您可以通过[告警处理 Pipeline](https://docs.flashcat.cloud/zh/flashduty/alert-pipelines) 来自定义严重程度。 + +
+ diff --git a/src/en.ts b/src/en.ts index 609aff95..a1a50881 100644 --- a/src/en.ts +++ b/src/en.ts @@ -50,6 +50,7 @@ import FeishuAlert from "../flashduty/en/1. On-call/8. Integrations/8.1 Alerts i import VolcEngineDetect from "../flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.48 Volcengine Detect Integration.md?raw"; import Monit from "../flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.49 Monit Alert Integration.md?raw"; import Rum from "../flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.50 RUM Alert Integration.md?raw"; +import Cloudflare from "../flashduty/en/1. On-call/8. Integrations/8.1 Alerts integration/8.1.51 Cloudflare Integration.md?raw"; /** ⬆️⬆️⬆️⬆️ 告警集成 ⬆️⬆️⬆️⬆️ */ /** ⬇️⬇️⬇️⬇️ 变更事件 ⬇️⬇️⬇️⬇️ */ @@ -147,6 +148,7 @@ const docs = { Link, ServiceNowSync, Monit, - Rum + Rum, + Cloudflare }; export default docs; diff --git a/src/zh.ts b/src/zh.ts index 6b1f0b57..42ab2b82 100644 --- a/src/zh.ts +++ b/src/zh.ts @@ -50,6 +50,7 @@ import FeishuAlert from "../flashduty/zh/1. On-call/5. 集成引导/8.1 告警 import VolcEngineDetect from "../flashduty/zh/1. On-call/5. 集成引导/8.1 告警集成/8.1.48 火山引擎云拨测集成指引.md?raw"; import Monit from "../flashduty/zh/1. On-call/5. 集成引导/8.1 告警集成/8.1.49 Monit 告警集成指引.md?raw"; import Rum from "../flashduty/zh/1. On-call/5. 集成引导/8.1 告警集成/8.1.50 RUM 告警集成指引.md?raw"; +import Cloudflare from "../flashduty/zh/1. On-call/5. 集成引导/8.1 告警集成/8.1.51 Cloudflare 集成指引.md?raw"; /** ⬆️⬆️⬆️⬆️ 告警集成 ⬆️⬆️⬆️⬆️ */ /** ⬇️⬇️⬇️⬇️ 变更事件 ⬇️⬇️⬇️⬇️ */ @@ -146,5 +147,6 @@ const docs = { ServiceNowSync, Monit, Rum, + Cloudflare }; export default docs; From cfb5c24d042c9b3f1bacfe3ec15c1793d6a6058b Mon Sep 17 00:00:00 2001 From: pijiang <419471640@qq.com> Date: Mon, 25 Aug 2025 13:17:37 +0800 Subject: [PATCH 15/86] update cloudflare doc --- ...dflare \351\233\206\346\210\220\346\214\207\345\274\225.md" | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.51 Cloudflare \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.51 Cloudflare \351\233\206\346\210\220\346\214\207\345\274\225.md" index 4cd22b12..c011dcc8 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.51 Cloudflare \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.51 Cloudflare \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -57,8 +57,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/volcengine-detect-integration-gui%203.%20%E5%9C%A8%E7%BC%96%E8%BE%91%E9%A1%B5%E9%9D%A2%E4%B8%AD%EF%BC%8C%E5%90%8D%E7%A7%B0%E5%A1%AB%E5%86%99%20%60Flashduty%60%20%EF%BC%8C%60URL%60%20%E5%A4%84%E5%A1%AB%E5%86%99%E5%91%8A%E8%AD%A6%E9%9B%86%E6%88%90%E7%9A%84%3Cspan%20class='integration_url'>推送地址。 4. 点击 `保存和测试` 完成配置。 -After configuring the Webhook channel, you can use it in notification policies. - +配置 Webhook 通道后,即可在通知策略中使用。 ## 二、状态对照 From d3572da58119ffe8e83cf3e1229a197051dc4fec Mon Sep 17 00:00:00 2001 From: niuweili <957905827@qq.com> Date: Tue, 26 Aug 2025 11:04:34 +0800 Subject: [PATCH 16/86] feat: v1.3.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cb75973c..198f8b84 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "flashduty-knowledge-base", - "version": "1.3.2", + "version": "1.3.3", "description": "flashduty knowledge base", "type": "module", "engines": { From 8b28c926576f8c51fb6822cefdbab40fdff4dc4c Mon Sep 17 00:00:00 2001 From: niuweili <35804288+niuweili@users.noreply.github.com> Date: Tue, 2 Sep 2025 16:49:52 +0800 Subject: [PATCH 17/86] Update README.md --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 29e64f0a..dcc35655 100644 --- a/README.md +++ b/README.md @@ -50,4 +50,8 @@ date: "2023-12-18T10:00:00+08:00" ``` 格式:https://docs.flashcat.cloud/[lang]/[product]/[md] 示例:https://docs.flashcat.cloud/zh/flashduty/getting-started -``` \ No newline at end of file +``` + +## Flashduty 内部文档 + +[使用手册](https://alidocs.dingtalk.com/i/nodes/14lgGw3P8vBzjpwpuoARLPA385daZ90D) From f9d326b926c508cc34e3e699df2eb64951fd6aa3 Mon Sep 17 00:00:00 2001 From: pijiang <419471640@qq.com> Date: Wed, 3 Sep 2025 14:41:02 +0800 Subject: [PATCH 18/86] update standard integration doc --- ...\273\266\351\233\206\346\210\220\346\214\207\345\274\225.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.0 \346\240\207\345\207\206\345\221\212\350\255\246\344\272\213\344\273\266\351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.0 \346\240\207\345\207\206\345\221\212\350\255\246\344\272\213\344\273\266\351\233\206\346\210\220\346\214\207\345\274\225.md" index f5b19296..6b91777b 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.0 \346\240\207\345\207\206\345\221\212\350\255\246\344\272\213\344\273\266\351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.1 \345\221\212\350\255\246\351\233\206\346\210\220/8.1.0 \346\240\207\345\207\206\345\221\212\350\255\246\344\272\213\344\273\266\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -8,7 +8,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/custom-alert-integration-guide" 通过标准协议推送自有系统告警事件到 Flashduty,实现告警事件自动化降噪处理。 :::tips -Flashduty 已经适配了大部分常用告警系统的 webhook 协议,对于这些系统您应该首先使用对应的集成,更加简单方便。本集成提供了一个标准的 HTTP 接口,需要允许您开发适配。好处是您可以推送任何你想进行oncall的告警事件。 +Flashduty 已经适配了大部分常用告警系统的 webhook 协议,对于这些系统您应该首先使用对应的集成,更加简单方便。本集成提供了一个标准的 HTTP 接口,需要您开发适配。好处是您可以推送任何你想进行oncall的告警事件。 :::
From 4766dba78a5b2f01367880c312d33f650677d4e3 Mon Sep 17 00:00:00 2001 From: alick-liming Date: Fri, 5 Sep 2025 15:35:22 +0800 Subject: [PATCH 19/86] modify default template --- .../4. Configure On-call/4.7 Templates.md | 15 ++++++++++++--- ...37\245\346\234\272\345\231\250\344\272\272.md" | 2 +- ...00\232\347\237\245\346\250\241\346\235\277.md" | 15 ++++++++++++--- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/flashduty/en/1. On-call/4. Configure On-call/4.7 Templates.md b/flashduty/en/1. On-call/4. Configure On-call/4.7 Templates.md index 30a19499..8ceb58e4 100644 --- a/flashduty/en/1. On-call/4. Configure On-call/4.7 Templates.md +++ b/flashduty/en/1. On-call/4. Configure On-call/4.7 Templates.md @@ -293,10 +293,15 @@ Below are specific instructions for each notification channel. You need to configure `Integration Center-Instant Message-Feishu` integration first to send message cards. If custom content is not set, the system default template will be used, rendering all label information: ```go -{{if .Description}}**description** :{{toHtml .Labels.body_text .Description}}{{end}} -{{if .Labels.resource}}**resource** : {{toHtml (joinAlertLabels . "resource" ", ")}}{{end}} +{{if .Labels.body_text}}{{.Labels.body_text}}{{else if .Description}}{{.Description}}{{end}} +{{if .Labels.resource}}**resource** : {{(joinAlertLabels . "resource" ", ")}}{{end}} {{range $k, $v := .Labels}} -{{if not (in $k "resource" "body_text")}}**{{$k}}** : {{toHtml $v}}{{end}}{{end}} +{{if not (in $k "resource" "body_text" "body_text_with_table")}}**{{$k}}** : {{$v}}{{end}}{{end}} +{{ $root := . }} +{{ range $i, $v := .Images }} + {{ $transferURL := transferImage $root $v.Src }} + {{ if $transferURL }}![]({{$transferURL}}){{ end }} +{{ end }} ``` As shown below: @@ -343,6 +348,10 @@ You need to configure `Integration Center-Instant Message-Dingtalk` integration {{if .Labels.resource}}**resource** : {{toHtml (joinAlertLabels . "resource" ", ")}}{{end}} {{range $k, $v := .Labels}} {{if not (in $k "resource" "body_text")}}**{{$k}}** : {{toHtml $v}}{{end}}{{end}} +{{ $root := . }} +{{ range $i, $v := .Images }} +{{ $imageURL := imageSrcToURL $root $v.Src }} +{{ if $imageURL }}![]({{$imageURL}}){{ end }}{{ end }} ``` As shown below: diff --git "a/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.13 \351\200\232\347\237\245\346\234\272\345\231\250\344\272\272.md" "b/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.13 \351\200\232\347\237\245\346\234\272\345\231\250\344\272\272.md" index 53c4dc2f..64325ab7 100644 --- "a/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.13 \351\200\232\347\237\245\346\234\272\345\231\250\344\272\272.md" +++ "b/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.13 \351\200\232\347\237\245\346\234\272\345\231\250\344\272\272.md" @@ -215,7 +215,7 @@ FlashDuty 支持多种通知渠道,包括手机短信、邮件、语音通话 /inc connect flashduty 系统会返回应用连接信息。 - 复制返回信息中的 Endpoint 地址(如:https://integrations.zoom.us/chat/webhooks/incomingwebhook/V9S5as-zTXOSUdgMITNEwA),将其填写到通知渠道的 Zoom 机器人 Webhook 地址或 Token 字段中。 - 复制返回信息中的 Verification Token,填写到通知渠道的 Zoom 机器人 Verify Token 字段中。 -- 如需使用 @ 功能,需保证 Zoom 和 Flashduty 中的邮箱一致。管理员可在 Zoom 控制后台获取 zoom 的 user_id,并在 Flashduty 的集成中心-映射数据中创建映射表(源标签填写 email,结果标签填写 zoom_jid),最后在协作空间-分派策略中关联对应 Zoom 机器人和 映射表。 +- 如需使用 @ 功能,管理员可在 Zoom 控制后台获取 zoom 的 user_id,并在 Flashduty 的集成中心-映射数据中创建映射表(源标签填写 email,结果标签填写 zoom_jid),最后在协作空间-分派策略中关联对应 Zoom 机器人和 映射表。 3. **完成集成** - 复制生成的 webhook 地址 diff --git "a/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.7 \351\205\215\347\275\256\351\200\232\347\237\245\346\250\241\346\235\277.md" "b/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.7 \351\205\215\347\275\256\351\200\232\347\237\245\346\250\241\346\235\277.md" index 111a7a7d..c49c0990 100644 --- "a/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.7 \351\205\215\347\275\256\351\200\232\347\237\245\346\250\241\346\235\277.md" +++ "b/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.7 \351\205\215\347\275\256\351\200\232\347\237\245\346\250\241\346\235\277.md" @@ -295,10 +295,15 @@ CloseTime | int64 | 否 | 关闭时间,EndTime 为告警恢复时间,CloseTi 您需要预先配置 `集成中心-即时消息-飞书` 集成,才能发送消息卡片。如果不设置自定义内容,将采用系统默认模板,渲染全部标签信息: ```go -{{if .Description}}**description** :{{toHtml .Labels.body_text .Description}}{{end}} -{{if .Labels.resource}}**resource** : {{toHtml (joinAlertLabels . "resource" ", ")}}{{end}} +{{if .Labels.body_text}}{{.Labels.body_text}}{{else if .Description}}{{.Description}}{{end}} +{{if .Labels.resource}}**resource** : {{(joinAlertLabels . "resource" ", ")}}{{end}} {{range $k, $v := .Labels}} -{{if not (in $k "resource" "body_text")}}**{{$k}}** : {{toHtml $v}}{{end}}{{end}} +{{if not (in $k "resource" "body_text" "body_text_with_table")}}**{{$k}}** : {{$v}}{{end}}{{end}} +{{ $root := . }} +{{ range $i, $v := .Images }} + {{ $transferURL := transferImage $root $v.Src }} + {{ if $transferURL }}![]({{$transferURL}}){{ end }} +{{ end }} ``` 如下图所示: @@ -345,6 +350,10 @@ CloseTime | int64 | 否 | 关闭时间,EndTime 为告警恢复时间,CloseTi {{if .Labels.resource}}**resource** : {{toHtml (joinAlertLabels . "resource" ", ")}}{{end}} {{range $k, $v := .Labels}} {{if not (in $k "resource" "body_text")}}**{{$k}}** : {{toHtml $v}}{{end}}{{end}} +{{ $root := . }} +{{ range $i, $v := .Images }} +{{ $imageURL := imageSrcToURL $root $v.Src }} +{{ if $imageURL }}![]({{$imageURL}}){{ end }}{{ end }} ``` 如下图所示: From 12c3d88bc69646a4f5388f9a7745dffccbdd02c4 Mon Sep 17 00:00:00 2001 From: Fiona Date: Tue, 9 Sep 2025 16:12:45 +0800 Subject: [PATCH 20/86] feat: init --- .../1. \346\246\202\350\247\210.md" | 56 +++++ ...60\346\215\256\346\237\245\350\257\242.md" | 170 ++++++++++++++ ...03\345\274\217\350\277\275\350\270\252.md" | 207 ++++++++++++++++++ ...57\350\257\255\350\257\264\346\230\216.md" | 0 ...60\346\215\256\346\224\266\351\233\206.md" | 0 ...60\346\215\256\345\256\211\345\205\250.md" | 0 6 files changed, 433 insertions(+) create mode 100644 "flashduty/zh/2. RUM/6. \346\237\245\347\234\213\345\231\250/1. \346\246\202\350\247\210.md" create mode 100644 "flashduty/zh/2. RUM/6. \346\237\245\347\234\213\345\231\250/2. \346\225\260\346\215\256\346\237\245\350\257\242.md" create mode 100644 "flashduty/zh/2. RUM/7. \346\234\200\344\275\263\345\256\236\350\267\265/1. \345\210\206\345\270\203\345\274\217\350\277\275\350\270\252.md" rename "flashduty/zh/2. RUM/6. \345\205\266\344\273\226/1. \346\234\257\350\257\255\350\257\264\346\230\216.md" => "flashduty/zh/2. RUM/8. \345\205\266\344\273\226/1. \346\234\257\350\257\255\350\257\264\346\230\216.md" (100%) rename "flashduty/zh/2. RUM/6. \345\205\266\344\273\226/2. \346\225\260\346\215\256\346\224\266\351\233\206.md" => "flashduty/zh/2. RUM/8. \345\205\266\344\273\226/2. \346\225\260\346\215\256\346\224\266\351\233\206.md" (100%) rename "flashduty/zh/2. RUM/6. \345\205\266\344\273\226/4. \346\225\260\346\215\256\345\256\211\345\205\250.md" => "flashduty/zh/2. RUM/8. \345\205\266\344\273\226/4. \346\225\260\346\215\256\345\256\211\345\205\250.md" (100%) diff --git "a/flashduty/zh/2. RUM/6. \346\237\245\347\234\213\345\231\250/1. \346\246\202\350\247\210.md" "b/flashduty/zh/2. RUM/6. \346\237\245\347\234\213\345\231\250/1. \346\246\202\350\247\210.md" new file mode 100644 index 00000000..68196027 --- /dev/null +++ "b/flashduty/zh/2. RUM/6. \346\237\245\347\234\213\345\231\250/1. \346\246\202\350\247\210.md" @@ -0,0 +1,56 @@ +--- +title: "RUM 查看器功能概览" +description: "掌握 Flashduty RUM 查看器的强大功能,通过可视化界面深入分析用户数据、性能指标和应用行为。" +date: "2024-05-09T10:00:00+08:00" +url: "https://docs.flashcat.cloud/zh/flashduty/rum/rum-explorer" +--- + +## 概述 + +Flashduty RUM **查看器**(RUM Explorer)是一款强大的数据分析工具,旨在帮助开发者深入检查从应用程序收集的数据,并获取关于 RUM 事件的详细信息。通过直观的可视化界面,您可以全面了解用户行为、应用性能和系统健康状况。 + +## 核心功能 + +1. **用户会话导航**:浏览和分析用户的完整会话路径,了解用户在应用中的行为模式。 +2. **性能问题调查**:深入分析影响页面视图、资源加载或用户操作的性能问题。 +3. **应用错误排查**:快速定位和诊断应用程序错误以及长时间运行的任务。 +4. **数据搜索过滤**:通过搜索栏和可视化类型选择,对 RUM 事件进行精确过滤和筛选。 + +## 价值与优势 + +1. **数据驱动决策**:基于真实用户数据做出产品优化和性能改进决策。 +2. **问题快速定位**:通过可视化界面快速识别性能瓶颈和用户体验问题。 +3. **用户行为洞察**:深入了解用户如何与您的应用交互,发现改进机会。 +4. **全面监控覆盖**:从页面加载到用户操作的全链路监控和分析。 + +## 使用场景 + +1. **性能优化**:分析页面加载时间、资源加载效率,识别性能瓶颈。 +2. **用户体验改进**:了解用户操作路径,发现交互设计中的问题。 +3. **错误排查**:快速定位应用错误发生的具体场景和上下文。 +4. **业务分析**:分析用户行为模式,为产品功能优化提供数据支持。 + +## 主要功能详解 + +### 1. 按应用查看 + +使用顶部导航栏的应用选择器,可以选择特定应用程序并查看其所有 RUM 数据。通过应用选择器,您可以快速切换不同应用的数据视图,专注于特定应用的性能和用户行为分析。 + +### 2. 搜索与过滤 + +在 RUM 查看器中,您可以通过在搜索栏输入查询条件并选择可视化类型来搜索和过滤 RUM 事件。 +![2025-09-09-15-44-29](https://docs-cdn.flashcat.cloud/imges/png/bbe48a6dbfeb660ec86ba1e56d580ced.png) + +### 3. 查看详情 + +点击数据项可查看数据详情,可将 RUM 事件以各种角度展示,帮助您发现关键信息。 +例如,您可以: + +- 查看数据关系,进行数据下钻或者查看数据父节点详情 + ![2025-09-09-15-45-43](https://docs-cdn.flashcat.cloud/imges/png/4e22a5803c1fb290de7093c9ffab7dc6.png) +- 通过查看资源的 trace,和已有的监控系统进行 trace 关联 + +## 下一步 + +- [数据查询指南](https://docs.flashcat.cloud/zh/flashduty/rum/xx) +- [分布式追踪最佳实践](https://docs.flashcat.cloud/zh/flashduty/rum/xx) diff --git "a/flashduty/zh/2. RUM/6. \346\237\245\347\234\213\345\231\250/2. \346\225\260\346\215\256\346\237\245\350\257\242.md" "b/flashduty/zh/2. RUM/6. \346\237\245\347\234\213\345\231\250/2. \346\225\260\346\215\256\346\237\245\350\257\242.md" new file mode 100644 index 00000000..c3c3d9c3 --- /dev/null +++ "b/flashduty/zh/2. RUM/6. \346\237\245\347\234\213\345\231\250/2. \346\225\260\346\215\256\346\237\245\350\257\242.md" @@ -0,0 +1,170 @@ +--- +title: "RUM 数据查询语法指南" +description: "掌握 Flashduty RUM 查看器的搜索语法,通过灵活的查询条件快速定位和分析用户数据。" +date: "2024-05-09T10:00:00+08:00" +url: "https://docs.flashcat.cloud/zh/flashduty/rum/session-explorer-data-query" +--- + +## 概述 + +Flashduty RUM 查看器提供了强大的搜索功能,允许您通过灵活的查询语法快速定位和分析 RUM 数据。查询由**词项**和**操作符**组成,支持复杂的搜索条件组合,帮助您从海量数据中精准找到所需信息。 + +## 查询基础 + +### 词项类型 + +查询支持两种类型的词项: + +1. **单词项**:单个词汇,如 `test` 或 `hello` +2. **短语**:用双引号包围的词汇组,如 `"hello dolly"` + +### 布尔操作符 + +您可以使用以下布尔操作符组合多个词项构建复杂查询: + +| 操作符 | 描述 | 示例 | +| ------ | ------------------------------------------------ | ------------------- | +| `AND` | 交集:两个词项都必须在选定的视图中(默认操作符) | `error AND timeout` | +| `OR` | 并集:任一词项包含在选定的视图中 | `error OR warning` | +| `-` | 排除:后面的词项不在视图中 | `error -timeout` | + +## 搜索功能 + +### 自动补全 + +使用搜索栏的自动补全功能,可以快速完成查询并选择现有值。当您开始输入时,系统会显示匹配的建议选项,提高搜索效率。 + +### 特殊字符转义 + +搜索包含特殊字符的字段值时,需要使用转义或双引号。以下字符被视为特殊字符:`?`, `>`, `<`, `:`, `=`, `"`, `~`, `/`, `\`,需要用反斜杠 `\` 进行转义。 + +对于视图字段名中的空格,也需要进行转义。例如,如果字段名为 `user.first name`,搜索时应转义空格: + +``` +@user.first\ name:myvalue +``` + +### 通配符搜索 + +使用 `*` 符号进行多字符通配符搜索。例如: + +``` +@http.url:https:\/\/* +``` + +匹配所有以 `https://` 开头的 URL 视图。 + +### 数值搜索 + +使用比较操作符进行数值属性搜索: + +- `<`:小于 +- `>`:大于 +- `<=`:小于等于 +- `>=`:大于等于 + +**示例**:检索错误数超过 5 的所有会话: + +``` +@session.error.count:>5 +``` + +### 范围搜索 + +使用方括号语法搜索数值属性的特定范围: + +``` +@session.error.count:[3 TO 10] +``` + +检索错误数在 3 到 10 之间的所有会话。 + +## 搜索示例 + +### 基础路径搜索 + +``` +@view.url_path:"/department/sofas" +``` + +搜索所有在 `@view.path` 属性中包含 `/department/sofas` 的视图。 + +### 通配符路径搜索 + +``` +@view.url_path:\/department\/sofas\/* +``` + +搜索所有在 `view.path` 属性中以 `/department/sofas/` 开头的视图。 + +### 复合条件搜索 + +``` +@view.loading_time:[1s TO 3s] @view.url_path:\/department\/sofas\/* +``` + +搜索加载时间在 1 到 3 秒之间,且 URL 路径以 `/department/sofas/` 开头的所有视图。 + +### 错误分析搜索 + +``` +@error.message:"TypeError" @view.url_path:/checkout/* +``` + +搜索结账页面中发生的 TypeError 错误。 + +### 性能分析搜索 + +``` +@view.loading_time:>5s @view.url_path:/product/* +``` + +搜索产品页面中加载时间超过 5 秒的视图。 + +## 高级搜索技巧 + +### 1. 时间范围搜索 + +结合时间范围进行精确搜索: + +``` +@view.loading_time:>2s @timestamp:[2024-01-01 TO 2024-01-31] +``` + +### 2. 用户行为搜索 + +``` +@action.type:click @view.url_path:/checkout/* +``` + +搜索结账页面的用户点击行为。 + +### 3. 设备类型搜索 + +``` +@device.type:mobile @view.loading_time:>3s +``` + +搜索移动设备上加载时间超过 3 秒的视图。 + +### 4. 地理位置搜索 + +``` +@geo.country:CN @error.count:>0 +``` + +搜索中国地区发生错误的会话。 + +## 最佳实践 + +1. **使用引号包围短语**:确保多词短语的精确匹配 +2. **合理使用通配符**:避免过于宽泛的搜索条件 +3. **组合多个条件**:通过 AND/OR 操作符构建精确查询 +4. **保存常用搜索**:提高重复查询的效率 +5. **利用自动补全**:减少输入错误,提高搜索准确性 + +## 下一步 + +- [RUM 查看器概览](https://docs.flashcat.cloud/zh/flashduty/rum/rum-explorer) +- [分布式追踪最佳实践](https://docs.flashcat.cloud/zh/flashduty/rum/distributed-tracing) +- [性能监控分析](https://docs.flashcat.cloud/zh/flashduty/rum/performance-monitoring) diff --git "a/flashduty/zh/2. RUM/7. \346\234\200\344\275\263\345\256\236\350\267\265/1. \345\210\206\345\270\203\345\274\217\350\277\275\350\270\252.md" "b/flashduty/zh/2. RUM/7. \346\234\200\344\275\263\345\256\236\350\267\265/1. \345\210\206\345\270\203\345\274\217\350\277\275\350\270\252.md" new file mode 100644 index 00000000..8f76a86c --- /dev/null +++ "b/flashduty/zh/2. RUM/7. \346\234\200\344\275\263\345\256\236\350\267\265/1. \345\210\206\345\270\203\345\274\217\350\277\275\350\270\252.md" @@ -0,0 +1,207 @@ +--- +title: "分布式追踪功能" +description: "了解如何在 FlashDuty RUM 中配置和使用分布式追踪功能,实现前后端请求链路的完整监控。" +date: "2024-09-09T10:00:00+08:00" +url: "https://docs.flashcat.cloud/zh/flashduty/rum/trace-tracking" +--- + +## 概述 + +FlashDuty RUM 的 **Trace 追踪**功能将前端用户监控与分布式追踪系统深度集成,让您能够将 Web 应用程序的请求与其对应的后端跟踪关联起来。这种组合使您能够一目了然地查看完整的前端和后端数据,实现端到端的性能监控和问题排查。 + +通过 Trace 追踪,您可以: + +- **关联前后端请求**:将前端用户操作与后端 API 调用关联 +- **端到端问题排查**:快速定位从前端到后端的完整请求链路问题 +- **性能瓶颈分析**:识别整个请求链路中的性能瓶颈点 +- **用户体验优化**:基于完整的请求链路数据优化用户体验 + +## 工作原理 + +Trace 追踪基于 [W3C Trace Context](https://www.w3.org/TR/trace-context/) 标准实现,通过在 HTTP 请求头中注入追踪信息来关联前后端请求: + +1. **前端发起请求**:RUM SDK 自动为配置的 API 请求添加追踪头信息 +2. **后端接收处理**:后端服务接收并处理带有追踪信息的请求 +3. **链路关联**:通过相同的 trace_id 将前后端数据关联起来 +4. **可视化展示**:通过 trace 关联根据 trace_id 查看完整的请求链路信息 + +## 配置步骤 + +### 1. SDK 配置 + +首先需要在 RUM SDK 中配置分布式追踪功能。基于 [RUM 高级配置文档](https://docs.flashcat.cloud/zh/flashduty/rum/advanced-configuration#%E9%9B%86%E6%88%90rum%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E8%BF%BD%E8%B8%AA) 中的配置,在初始化 RUM SDK 时添加以下参数: + +```javascript +import { flashcatRum } from "@flashcatcloud/browser-rum"; + +flashcatRum.init({ + applicationId: "", // 从应用管理页面获取 + clientToken: "", // 从应用管理页面获取 + service: "", // 服务名称,用于区分不同的服务 + env: "", // 环境标识 + version: "1.0.0", // 应用版本号 + sessionSampleRate: 100, // 采样率 + allowedTracingUrls: [ + "https://api.example.com/", + /https:\/\/.*\.my-api-domain\.com/, + (url) => url.startsWith("https://api.example.com/"), + ], // 需要跟踪的 URL 列表 + traceSampleRate: 20, // 可选参数,要跟踪的请求百分比:100 为所有,0 为无。默认值:100 +}); +``` + +#### 关键配置参数说明 + +- **`allowedTracingUrls`**:指定需要添加追踪信息的 API 端点 + + - **字符串**:匹配以该值开头的 URL,如 `https://api.example.com` + - **正则表达式**:使用正则表达式匹配 URL + - **函数**:自定义匹配逻辑,返回 `true` 表示匹配成功 + +- **`traceSampleRate`**:追踪采样率,控制多少比例的请求会被追踪 + - 范围:0-100 + - 默认值:100(追踪所有请求) + - 建议:生产环境可设置为 10-20 以平衡监控覆盖率和性能 + +### 2. 应用管理配置 + +SDK 配置完成后,可在应用管理页面进行 trace 跳转相关配置: + +1. 进入 **应用管理** 页面 +2. 选择对应的 RUM 应用 +3. 配置 trace 系统的跳转地址(如已集成分布式追踪系统) +4. 在 **高级配置** 中启用 **Trace 追踪** 功能 + ![2025-09-09-15-40-22](https://docs-cdn.flashcat.cloud/imges/png/138f9f58afbdf3a532f4e7d1ed8748ff.png) + +### 3. 后端服务配置 + +为了完整支持分布式追踪,后端服务需要: + +1. **接收追踪头信息**:处理 `traceparent` 和 `tracestate` 请求头 +2. **传递追踪信息**:在调用其他服务时继续传递追踪头信息 +3. **生成追踪数据**:将请求处理过程记录到追踪系统中 + +## 追踪头信息说明 + +RUM SDK 会在配置的请求中自动添加以下 HTTP 头信息: + +### traceparent 头 + +``` +traceparent: 00-00000000000000008448eb211c80319c-b7ad6b7169203331-01 +``` + +格式:`[version]-[trace-id]-[parent-id]-[trace-flags]` + +- **version**:当前为 `00` +- **trace-id**:128 位的 trace ID,16 进制处理后为 32 个字符 +- **parent-id**:64 位的 span ID,16 进制处理后为 16 个字符 +- **trace-flags**:采样标志,`01` 表示命中采样,`00` 表示非采样 + +### tracestate 头 + +``` +tracestate: dd=s:1;o:rum +``` + +格式:`dd=s:[sampling-priority];o:[origin]` + +- **sampling-priority**:`1` 表示 trace 被采样 +- **origin**:始终为 `rum`,表示通过 RUM SDK 采集 + +## 使用场景 + +### 1. 在 RUM 查看器中查看 Trace + +配置完成后,在 RUM 查看器的 **View 视图** 中可以查看对应的 trace 信息: + +1. 进入 **RUM 查看器** +2. 选择包含 API 调用的页面视图 +3. 在视图详情中查看 **Trace 信息** +4. 点击 trace 链接可跳转至 trace 系统查看详细的请求链路 + +### 2. 通过 trace_id 查找资源 + +通过 trace_id 也可以在查看器中进行资源查找: + +1. 在查看器搜索栏中输入 trace_id +2. 查看对应的资源和视图加载情况 +3. 分析资源加载性能与后端 API 调用的关联关系 + ![2025-09-09-16-03-45](https://docs-cdn.flashcat.cloud/imges/png/0c283dc836389e1a7a94103ed586aaa8.png) + +### 3. 端到端问题排查 + +当用户报告性能问题时: + +1. 在 RUM 查看器中找到问题用户的会话 +2. 查看问题页面的 trace 信息 +3. 跳转到 trace 系统查看完整的请求链路 +4. 定位是前端问题还是后端问题,或是网络问题 + +## 最佳实践 + +### 1. 合理配置采样率 + +- **开发环境**:建议设置为 100%,确保所有请求都被追踪 +- **测试环境**:建议设置为 50-80%,平衡监控覆盖率和性能 +- **生产环境**:建议设置为 10-20%,避免对性能造成影响 + +### 2. 精确配置追踪 URL + +```javascript +// 推荐:精确匹配 API 端点 +allowedTracingUrls: [ + "https://api.example.com/v1/", + "https://api.example.com/v2/", +]; + +// 避免:过于宽泛的匹配 +allowedTracingUrls: [ + "https://api.example.com/", // 可能包含不需要追踪的静态资源 +]; +``` + +### 3. 跨域请求处理 + +如果您的 HTTP 请求涉及跨域问题,需要确保: + +- 服务器配置了正确的 CORS 头信息 +- 支持预检请求(Preflight Request) +- 允许 `traceparent` 和 `tracestate` 头信息 + +### 4. 性能监控 + +- 定期检查 trace 采样率对应用性能的影响 +- 监控追踪数据的存储和查询性能 +- 根据业务需求调整追踪策略 + +## 常见问题 + +### Q: 为什么某些请求没有 trace 信息? + +A: 可能的原因包括: + +- 请求 URL 不在 `allowedTracingUrls` 配置范围内 +- 请求被 `traceSampleRate` 采样率过滤 +- 请求在 SDK 初始化之前发起 +- 跨域请求缺少必要的 CORS 配置 + +### Q: 如何验证 trace 配置是否正确? + +A: 可以通过以下方式验证: + +1. 在浏览器开发者工具中检查网络请求头 +2. 确认请求包含 `traceparent` 和 `tracestate` 头信息 +3. 在 RUM 查看器中查看是否有 trace 信息显示 + +## 注意事项 + +1. **隐私合规**:确保 trace 数据收集符合相关隐私法规要求 +2. **性能影响**:合理设置采样率,避免对应用性能造成显著影响 +3. **数据安全**:避免在 trace 数据中包含敏感信息 +4. **跨域配置**:确保后端服务正确配置 CORS 以支持追踪头信息 + +## 相关文档 + +- [RUM 高级配置](https://docs.flashcat.cloud/zh/flashduty/rum/advanced-configuration) - 了解 RUM SDK 的完整配置选项 +- [RUM 查看器概览](https://docs.flashcat.cloud/zh/flashduty/rum/rum-explorer) - 掌握 RUM 查看器的使用方法 diff --git "a/flashduty/zh/2. RUM/6. \345\205\266\344\273\226/1. \346\234\257\350\257\255\350\257\264\346\230\216.md" "b/flashduty/zh/2. RUM/8. \345\205\266\344\273\226/1. \346\234\257\350\257\255\350\257\264\346\230\216.md" similarity index 100% rename from "flashduty/zh/2. RUM/6. \345\205\266\344\273\226/1. \346\234\257\350\257\255\350\257\264\346\230\216.md" rename to "flashduty/zh/2. RUM/8. \345\205\266\344\273\226/1. \346\234\257\350\257\255\350\257\264\346\230\216.md" diff --git "a/flashduty/zh/2. RUM/6. \345\205\266\344\273\226/2. \346\225\260\346\215\256\346\224\266\351\233\206.md" "b/flashduty/zh/2. RUM/8. \345\205\266\344\273\226/2. \346\225\260\346\215\256\346\224\266\351\233\206.md" similarity index 100% rename from "flashduty/zh/2. RUM/6. \345\205\266\344\273\226/2. \346\225\260\346\215\256\346\224\266\351\233\206.md" rename to "flashduty/zh/2. RUM/8. \345\205\266\344\273\226/2. \346\225\260\346\215\256\346\224\266\351\233\206.md" diff --git "a/flashduty/zh/2. RUM/6. \345\205\266\344\273\226/4. \346\225\260\346\215\256\345\256\211\345\205\250.md" "b/flashduty/zh/2. RUM/8. \345\205\266\344\273\226/4. \346\225\260\346\215\256\345\256\211\345\205\250.md" similarity index 100% rename from "flashduty/zh/2. RUM/6. \345\205\266\344\273\226/4. \346\225\260\346\215\256\345\256\211\345\205\250.md" rename to "flashduty/zh/2. RUM/8. \345\205\266\344\273\226/4. \346\225\260\346\215\256\345\256\211\345\205\250.md" From 13bcbd864f44fb0936943edb27514a4d9128eaa3 Mon Sep 17 00:00:00 2001 From: debidong <1953531014@qq.com> Date: Tue, 9 Sep 2025 16:56:34 +0800 Subject: [PATCH 21/86] feat: wecom self deploy app --- ...06\346\210\220\346\214\207\345\274\225.md" | 76 ++++++++++++++----- 1 file changed, 58 insertions(+), 18 deletions(-) diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" index a717213e..31cb3528 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -5,7 +5,9 @@ date: "2025-05-19T10:00:00+08:00" url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" --- -通过集成企业微信第三方应用,实现在企业微信端内接收和响应告警的能力。 +通过集成企业微信应用,实现在企业微信端内接收和响应告警的能力。 + +支持集成**第三方应用**或**企业自建应用**。
@@ -14,45 +16,83 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide"
-## 一、安装应用 +> **集成第三方应用** 和 **集成自建应用** 只需按需配置其中之一。 + +## 一、企业微信应用授权:集成第三方应用 + --- -1. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) - `应用管理` - `第三方`,选择添加第三方应用 +1. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 第三方,选择添加第三方应用 drawing -2. 搜索栏输入 `flashduty`,检索到应用,并点击 `添加` 按钮 +2. 搜索栏输入 **flashduty**,检索到应用,并点击 **添加** 按钮 drawing -3. 修改应用 `可见范围`,推荐全员或具体部门节点,防止新增成员时还要修改范围。点击 `同意以上授权并添加`,完成安装 +3. 修改应用 **可见范围**,推荐全员或具体部门节点,防止新增成员时还要修改范围。点击 **同意以上授权并添加**,完成安装 drawing -4. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) - `我的企业` 页面,复制 `企业ID` 作为当前页面的 `Corp ID` 填写到集成配置,点击保存,完成集成配置 +4. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 我的企业 页面,复制 **企业ID** 作为当前页面的 `Corp ID` 填写到集成配置,点击保存,完成集成配置 drawing -5. **请注意:Flashduty作为企业微信服务商,为您提供 `FlashDuty` 应用的长期免费版本。该应用需要获得企业微信接口调用许可才能使用(免密登录+发消息),该许可目前支持`最多60天`免费,超过后我们必须为您购买企微许可才能使用。** +:::tip +Flashduty 作为企业微信服务商,为您提供 FlashDuty 应用的长期免费版本。该应用需要获得企业微信接口调用许可才能使用(免密登录+消息发送)。该许可目前支持 **最多60天** 免费,超过后我们必须为您购买企微许可才能使用。 +::: + +## 二、企业微信应用授权:集成自建应用 + +1. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 第三方 → 创建应用 + +2. 配置 **应用logo**、**应用名称** 和 **应用可见范围**。 + +3. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 接收消息 → 设置API接收,分别对 `Token` 和 `EncodingAESKey` 点击 **随机获取**,暂存生成的 `Token` 和 `EncodingAESKey` 备用。 + +4. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 网页授权及JS-SDK → 设置可信域名,配置 可作为应用OAuth2.0网页授权功能的回调域名。该域名需要指向到 Flashduty 的后端域名 `{api_host}`(CNAME或代理转发)。 + +5. 若您的企业微信为非私有化部署版本,请在 Flashduty 中完成如下配置: + +- 企业ID:[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 我的企业 → 企业ID。 +- AgentID:[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → AgentId。 +- App Secret:[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → Secret。 +- 消息加密 Token:先前步骤暂存。 +- 消息加密 Aes Key:先前步骤暂存。 +- 可信域名:[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 网页授权及JS-SDK → 设置可信域名 + +5. 若您的企业微信为私有化部署版本,请在 Flashduty 中完成如下配置: + +- Endpoint:此地址需要能够被Flashduty服务所访问,您可以考虑做白名单授权。 +- 企业ID:[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 我的企业 → 企业ID。 +- AgentID:[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → AgentId。 +- App Secret:[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → Secret。 +- 消息加密 Token:先前步骤暂存。 +- 消息加密 Aes Key:先前步骤暂存。 +- 可信域名:[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 网页授权及JS-SDK → 设置可信域名 + +6. 在 Flashduty 中,点击 **保存** 完成集成配置。然后,将 Flashduty 生成的下列配置项填入企微的应用配置中: + +7. 访问企业微信管理后台 → 应用管理 → 您的应用 → 接收消息 → 设置API接收,填写并保存 URL 和先前步骤暂存的 `Token`、`EncodingAESKey`。 -## 二、常见问题 +## 三、常见问题 --- 1. **点击集成保存按钮,报错 `authorize app first`?** - - 请检查您是否完成应用的安装步骤,比如您是否可以在工作台看到 `FlashDuty` 这个应用 + - 请检查您是否完成应用的安装步骤,比如您是否可以在工作台看到 FlashDuty 这个应用 - 请检查您是否正确配置了 `Corp ID` -2. **如何完成账户关联?或消息发送提示`未关联应用`?** +2. **如何完成账户关联?或消息发送提示 `未关联应用`?** - - 登入企业微信客户端(桌面端和移动端均可),进入 `工作台`,找到并进入应用 `FlashDuty` - - 首次进入应用需要登录,选择成员账号 - 密码或单点登录,登入成功后,即完成 `Flashduty` 到 `企业微信` 账户关联 + - 登入企业微信客户端(桌面端和移动端均可),进入 **工作台**,找到并进入应用 FlashDuty + - 首次进入应用需要登录,选择成员账号 → 密码或单点登录,登入成功后,即完成 Flashduty 到 **企业微信** 账户关联 - 后续进入应用将免密登录 3. **如何进行故障通知?** - 必须参照问题 1,先完成账户关联,才能发送通知 - - 进入某个协作空间详情页面-分派策略,在个人渠道部分,选择通知到企业微信集成,完成通知配置 + - 进入某个协作空间详情页面 → 分派策略,在个人渠道部分,选择通知到企业微信集成,完成通知配置 - 支持对企业微信通知内容进行自定义,您前往模板管理页面,设定自定义模板。注意:**自定义区域展示行数最多 8 行**,超过会被企业微信截断 drawing @@ -60,9 +100,9 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" 4. **如何在微信内处理告警?** - 点击卡片消息,直接进入告警详情页面 - - 点击 `开始处理`,直接将告警置为 `处理中` 状态 - - 点击 `直接关闭`,直接将告警置为 `已关闭` 状态 - - 点击 `屏蔽2小时`,直接将告警屏蔽 2 小时,如果想屏蔽更多时间,点击卡片右上角 `...`有更多屏蔽选项 + - 点击 开始处理,直接将告警置为 `处理中` 状态 + - 点击 直接关闭,直接将告警置为 `已关闭` 状态 + - 点击 屏蔽2小时,直接将告警屏蔽 2 小时,如果想屏蔽更多时间,点击卡片右上角 `...` 有更多屏蔽选项 5. **为什么卡片消息提供了 `状态刷新` 按钮?** @@ -73,8 +113,8 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" 6. **Mac 桌面端点击卡片消息如何使用 `系统默认浏览器` 打开?** - Mac 桌面端默认使用端内浏览器打开链接 - - 您可以尝试快捷键 `ctrl` + `command` + `shift` + `d` 开启调试模式,然后选择 `调试 - 浏览器、webView相关 - 系统浏览器打开网页`,来更改链接打开模式。使用同样的快捷键可以关闭调试模式,并保持设置。 + - 您可以尝试快捷键 `ctrl` + `command` + `shift` + `d` 开启调试模式,然后选择 调试 → 浏览器、webView相关 → 系统浏览器打开网页,来更改链接打开模式。使用同样的快捷键可以关闭调试模式,并保持设置。 -7. **故障通知失败,提示`未开通企微许可`?** +7. **故障通知失败,提示 `未开通企微许可` ?** - 联系 Flashduty 客服或专属支持,为您购买开通 From ebbe7c701c20de0ff2685dbb41c4a1d6badf3ab5 Mon Sep 17 00:00:00 2001 From: debidong <1953531014@qq.com> Date: Tue, 9 Sep 2025 17:50:33 +0800 Subject: [PATCH 22/86] feat: wecom self deploy app, pt2 --- ...06\346\210\220\346\214\207\345\274\225.md" | 30 ++++++++++++++----- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" index 31cb3528..642453a5 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -38,19 +38,27 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" drawing -:::tip -Flashduty 作为企业微信服务商,为您提供 FlashDuty 应用的长期免费版本。该应用需要获得企业微信接口调用许可才能使用(免密登录+消息发送)。该许可目前支持 **最多60天** 免费,超过后我们必须为您购买企微许可才能使用。 -::: +> Flashduty 作为企业微信服务商,为您提供 FlashDuty 应用的长期免费版本。该应用需要获得企业微信接口调用许可才能使用(免密登录+消息发送)。 +> +> 该许可目前支持 **最多60天** 免费,超过后我们必须为您购买企微许可才能使用。 ## 二、企业微信应用授权:集成自建应用 1. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 第三方 → 创建应用 +![2025-09-09-17-06-46](https://docs-cdn.flashcat.cloud/images/png/06dc41d1f832619fce3e7c87fba03ced.png) + 2. 配置 **应用logo**、**应用名称** 和 **应用可见范围**。 +![2025-09-09-17-07-51](https://docs-cdn.flashcat.cloud/images/png/18cc9e9e35da7a71da70ca656d5d9814.png) + 3. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 接收消息 → 设置API接收,分别对 `Token` 和 `EncodingAESKey` 点击 **随机获取**,暂存生成的 `Token` 和 `EncodingAESKey` 备用。 -4. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 网页授权及JS-SDK → 设置可信域名,配置 可作为应用OAuth2.0网页授权功能的回调域名。该域名需要指向到 Flashduty 的后端域名 `{api_host}`(CNAME或代理转发)。 +![2025-09-09-17-12-13](https://docs-cdn.flashcat.cloud/images/png/b689fe99780788309b327ffb5faee50b.png) + +4. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 网页授权及JS-SDK → 设置可信域名,配置 可作为应用OAuth2.0网页授权功能的回调域名。该域名需要指向到 Flashduty 的后端地址 `{api_host}`(CNAME或代理转发)。 + +![2025-09-09-17-09-05](https://docs-cdn.flashcat.cloud/images/png/d8f2d78c310330d2b27cd0f744e5733c.png) 5. 若您的企业微信为非私有化部署版本,请在 Flashduty 中完成如下配置: @@ -61,7 +69,7 @@ Flashduty 作为企业微信服务商,为您提供 FlashDuty 应用的长期 - 消息加密 Aes Key:先前步骤暂存。 - 可信域名:[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 网页授权及JS-SDK → 设置可信域名 -5. 若您的企业微信为私有化部署版本,请在 Flashduty 中完成如下配置: +6. 若您的企业微信为私有化部署版本,请在 Flashduty 中完成如下配置: - Endpoint:此地址需要能够被Flashduty服务所访问,您可以考虑做白名单授权。 - 企业ID:[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 我的企业 → 企业ID。 @@ -71,11 +79,17 @@ Flashduty 作为企业微信服务商,为您提供 FlashDuty 应用的长期 - 消息加密 Aes Key:先前步骤暂存。 - 可信域名:[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 网页授权及JS-SDK → 设置可信域名 -6. 在 Flashduty 中,点击 **保存** 完成集成配置。然后,将 Flashduty 生成的下列配置项填入企微的应用配置中: +7. 在 Flashduty 中,点击 **保存** 完成集成配置。 + +8. 访问[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 接收消息 → 设置API接收,填写并保存 URL 和**先前步骤暂存的** `Token`、`EncodingAESKey`。 + +![2025-09-09-17-13-14](https://docs-cdn.flashcat.cloud/images/png/c3534c0afd8c5b868c943162acd2b6a8.png) + +## 三、配置作战室 -7. 访问企业微信管理后台 → 应用管理 → 您的应用 → 接收消息 → 设置API接收,填写并保存 URL 和先前步骤暂存的 `Token`、`EncodingAESKey`。 +作战室功能仅支持**企业自建应用**开启。在 Flashduty 集成配置页面的 **增强功能** 中勾选开启作战室,即可启用功该功能,无需额外配置。 -## 三、常见问题 +## 四、常见问题 --- 1. **点击集成保存按钮,报错 `authorize app first`?** From 28889b0dd100e57df1c21143f396195432c2a82a Mon Sep 17 00:00:00 2001 From: debidong <1953531014@qq.com> Date: Wed, 10 Sep 2025 17:20:10 +0800 Subject: [PATCH 23/86] feat: dingtalk self deploy app --- ...06\346\210\220\346\214\207\345\274\225.md" | 171 +++++++++++++----- ...06\346\210\220\346\214\207\345\274\225.md" | 7 +- 2 files changed, 126 insertions(+), 52 deletions(-) diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" index 1c460e22..d6b6f84a 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -4,7 +4,6 @@ description: "通过集成钉钉自建应用,实现在钉钉端内接收和响 date: "2025-05-19T10:00:00+08:00" url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" --- - 通过集成钉钉自建应用,实现在钉钉端内接收和响应告警的能力。 **(本文档以钉钉开放平台新版为例)** @@ -12,8 +11,11 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide"
## 视频介绍 + --- + +
## 一、创建钉钉应用 @@ -21,38 +23,37 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" ### 1. 创建自建应用 -访问 [钉钉开发者后台](https://open-dev.dingtalk.com/fe/app) - 应用开发 - 企业内部开发,创建应用。 (详见钉钉开发文档-[创建企业内部应用-H5 微应用](https://open.dingtalk.com/document/orgapp/microapplication-creation-and-release-process#title-ovn-666-1ty)) +访问 [钉钉开发者后台](https://open-dev.dingtalk.com/fe/app) → 应用开发 → 企业内部开发,创建应用。 (详见钉钉开发文档[创建企业内部应用-H5 微应用](https://open.dingtalk.com/document/orgapp/microapplication-creation-and-release-process#title-ovn-666-1ty)) -drawing +![2025-09-10-17-05-48](https://docs-cdn.flashcat.cloud/images/png/aa658afccbf0e92e25071143c792955f.png) 应用图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 ### 2. 复制企业 CorpId -点击页面右上角企业,在下拉菜单中复制 `CorpId` 备用。 +点击页面右上角企业头像,在下拉菜单中复制 `CorpId` 备用。 -drawing +![2025-09-10-17-07-19](https://docs-cdn.flashcat.cloud/images/png/b94a0f4ab5409f02f14063de03e4502a.png) ### 3. 复制应用凭证信息 -前往 **凭证与基础信息** 页面,复制 `AgentID`、 `ClientID` 和 `ClientSecret` 备用。 +进入创建的应用等详情界面,通过左侧菜单栏前往 应用能力 → **凭证与基础信息** 页面,复制 `AgentID`、 `ClientID` 和 `ClientSecret` 备用。 -drawing +![2025-09-10-17-10-00](https://docs-cdn.flashcat.cloud/images/png/ac8765ffb106678e1c1a1217e8148567.png) ### 4. 复制事件订阅信息 -前往 **开发配置 - 事件与回调** 页面。 - -生成 `加密 aes_key` 和 `签名 Token` 备用。 +前往 开发配置 → **事件与回调** 页面。设置推送方式为 `HTTP推送`,然后生成 `加密 aes_key` 和 `签名 Token` 备用。 **(注意:生成 aes_key 和 Token 后请将信息临时保存到其它地方,离开页面后信息会消失,后续会用到)** -drawing +![2025-09-10-17-11-19](https://docs-cdn.flashcat.cloud/images/png/9a6a52e5802cc75578335730481b2747.png) ## 二、添加钉钉集成 + --- -回到Flashduty **集成中心** 页面,选择即时消息 > 钉钉,在表单中填入 `集成名称` 以及上一步复制的 应用信息后,点击保存创建。 +回到 Flashduty **集成中心** 页面,选择 即时消息 → 钉钉,在表单中填入 **集成名称** 以及先前步骤复制的 **应用信息** 后,点击保存创建。 drawing @@ -61,101 +62,171 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" drawing ## 三、配置钉钉应用 + --- ### 1. 添加酷应用、网页应用和机器人 + drawing -1)创建酷应用 **酷应用-酷应用列表** 页面,点击 **创建酷应用** 按钮,选择 **扩展到群会话** +1. 创建酷应用。进入 酷应用 → **酷应用列表** 页面,点击 **创建酷应用** 按钮,选择 **扩展到群会话** drawing -2)进入到 **编辑酷应用** 页面,完成以下步骤: - -2.1) 第一步,填写基本信息,图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 +2. 进入到 **编辑酷应用** 页面,完成以下步骤: + 1. 填写基本信息,图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 drawing -2.2) 第二步,配置功能设计,左侧选中 **群快捷入口** 和 **消息卡片**。群快捷入口图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png),桌面和移动端访问地址请复制集成详情里的 **酷应用网页地址**。 + 2. 配置功能设计,左侧选中 **群快捷入口** 和 **消息卡片**。群快捷入口图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png),桌面和移动端访问地址请复制集成详情里的 **酷应用网页地址**。 drawing -2.3) 跳过第三步功能开发,来到第四步 **预览发布**,点击 **发布** 按钮并确认。 +3. 跳过第三步功能开发,来到第四步 **预览发布**,点击 **发布** 按钮并确认。 ### 2. 配置机器人与消息推送 -进入 **应用能力-机器人** 页面,打开机器人配置,填写名称并上传图标,图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png),保存即可。 +进入 应用能力 → **机器人** 页面,打开机器人配置,填写名称并上传图标,图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png),保存即可。 drawing ### 3. 配置应用地址 -进入 **应用能力-网页应用** 页面 +进入 **应用能力 → 网页应用** 页面 -1)配置 **应用首页地址** 和 **PC 端首页地址**,内容为集成详情中的 **应用首页地址** 和 **PC 端首页地址**。 +1. 配置 **应用首页地址** 和 **PC 端首页地址**,内容为集成详情中的 **应用首页地址** 和 **PC 端首页地址**。 -2)点击右上角 **保存**。 +2. 点击右上角 **保存**。 drawing ### 4. 配置事件订阅 -1)**开发配置-事件订阅** 页面,配置 **请求网址**,内容为集成详情中的 **事件订阅请求网址**,配置完成后**保存**。 +1. 开发配置 → **事件订阅** 页面,配置 **加密 aes_key**、**签名 token**、**请求网址**,内容分别为先前步骤中生成的 aes_key 和 token、集成详情中的 **事件订阅请求网址**。配置完成后 **保存**。 -drawing +![2025-09-10-17-14-22](https://docs-cdn.flashcat.cloud/images/png/ad81265339dc1ce50f6a6cb2c4321ee0.png) -2)**保存**按钮下方,选中`群会话更换群名称`、`群内安装酷应用`和`群内卸载酷应用`三种群会话事件,配置完成后**保存**。 +2. **保存** 按钮下方,选中 `群会话更换群名称`、`群内安装酷应用` 和 `群内卸载酷应用` 三种群会话事件,配置完成后 **保存**。 drawing ### 5. 申请应用权限 -进入 权限管理 页面,申请 `qyapi_chat_manage` 和 `qyapi_robot_sendmsg` 两项权限。此两项权限将允许当前应用获取自身所在群聊信息以及向群聊或个人发送消息的能力。 +进入 开发配置 → 权限管理 页面,为先前步骤创建的群应用申请下面的权限: + +- `qyapi_chat_manage` :获取群聊信息 +- `qyapi_robot_sendmsg`:向群聊或个人发送消息 + +![2025-09-10-16-47-06](https://docs-cdn.flashcat.cloud/images/png/3d16611b7a2131192808988c64d13585.png) + +## 四、配置作战室 + +### 1. 配置群模版 + +通过钉钉开放平台顶部菜单栏,前往 开放能力 → **场景群**。 + +1. 配置 **群机器人**。在左侧菜单栏中选择 **机器人**,然后点击 **创建群机器人**。 + +> 本步骤中配置的 **群机器人** 和 **应用机器人** 是两个不同的概念。群机器人被用于在生成群聊时自动创建群机器人。群机器人和应用机器人拥有不同的 **机器人 ID**。若要为钉钉开启作战室功能,必须额外配置 **群机器人**。 + +填写群机器人配置。**消息回调地址**、**消息回调token**、**信息来源网站 **三项配置在 Flashduty 的应用场景中并无实际作用,您可选择任意满足要求的值进行配置。 + +**示例配置**: + +| 配置项 | 值 | +| ------------- | ------------------------------------------------------------ | +| 机器人名称 | Flashduty | +| 机器人头像 | [Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png) | +| 简介 | Flashduty | +| 消息预览图 | [Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png) | +| 详细描述 | Flashduty 消息推送机器人。 | +| 消息回调地址 | https://flashcat.cloud/ | +| 消息回调token | token | +| 信息来源网站 | https://flashcat.cloud/ | + +完成配置后,点击 **创建**,然后点击 **审批**。右上角弹出 “提交成功” 后,钉钉已自动完成群机器人的审批。 + +![2025-09-10-15-36-24](https://docs-cdn.flashcat.cloud/images/png/ada57d1f58c50250ee2136a08bf3093c.png) + +2. 配置 **群模版**。在左侧菜单栏中选择 **群模版**,点击 **创建群模版**。 + +将 **企业类型** 设置为 `企业内部`,将 **可选应用** 设置为先前步骤创建的自建应用。然后,在下一步骤中填写模版信息。 + +**模版名称**、**图标**、**描述**、**文案介绍**、**模版描述**、**图片介绍** 等介绍性信息不会影响群模版功能的使用,您可选择任意满足要求的值进行配置。 + +**示例配置**: + +| 配置项 | 值 | +| -------- | ------------------------------------------------------------ | +| 模版名称 | Flashduty 作战室 | +| 图标 | [Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png) | +| 描述 | 为活跃故障一键创建作战室。 | +| 文案介绍 | 为活跃故障一键创建作战室。 | +| 模版描述 | 为活跃故障一键创建作战室。 | +| 图片介绍 | [Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png) | + +在 **选择机器人** 配置项中,点击 **选择已创建的机器人**,选择上一步骤中创建的群机器人。其他配置项保持默认。最后点击 **保存编辑**。 + +![2025-09-10-15-42-04](https://docs-cdn.flashcat.cloud/images/png/04f734bb11ed708208c05af5540082fe.png) +![2025-09-10-15-42-45](https://docs-cdn.flashcat.cloud/images/png/1a29b155159c0386d51e65f50faa7827.png) + +在 **填写灰度群** 步骤中,点击 **创建灰度群**,然后点击 **发布灰度**。 + +最后,再次点击左侧菜单栏的 **群模版**,然后点击进入刚才创建的群模版。点击 **提交审核**,待钉钉自动通过审核后,最后点击 **发布**。 + +3. 在已经发布的群模版详细信息页,复制 **模版 ID** 和 **机器人 ID** 备用。 + +![2025-09-10-15-45-42](https://docs-cdn.flashcat.cloud/images/png/3a7750ec7d7cfa05abfe4b8f3f8443fa.png) + +### 5. 申请应用权限 + +进入 权限管理 页面,为先前步骤创建的群应用申请下面的权限: -drawing +- `qyapi_chat_read`:获取群聊信息 +- `qyapi_chat_base_read`:获取群聊信息 +- `qyapi_get_member_by_mobile`:允许当前应用根据手机号获取钉钉用户以便邀请用户加入群聊 + +![2025-09-10-16-46-05](https://docs-cdn.flashcat.cloud/images/png/f85793aff8f1d97fe0c6e0259b14e2d7.png) ## 四、应用发布与使用 --- -完成上述步骤后,进行**应用发布-版本管理与发布**,进行创建新版本,然后进行发布(注意把可见范围调整为全部员工,否则其他人无法使用) +完成上述步骤后,进行 应用发布 → **版本管理与发布**,进行创建新版本,然后进行发布。 + +> 为了确保所有人可以使用应用,需将应用 **可见范围** 调整为全部员工,再进行应用发布。 drawing drawing -应用发布后,就可以使用 手机端/PC 端 访问应用。首次访问需要登录并关联(钉钉< - >Flashduty)账号,后续可以免登录使用。 - -1. 手机端:手机端通过 钉钉 > 工作台 > 搜索应用名称 > 打开应用 使用网页应用。 -2. PC 端:桌面(PC)端通过 钉钉 > 工作台 > 搜索应用名称 > 打开应用 使用网页应用。 +应用发布后,就可以使用 **手机端 / PC 端** 访问应用。首次访问需要登录并关联(钉钉 ↔ Flashduty)账号,后续可以免登录使用。 +1. 手机端:手机端通过 钉钉 → 工作台 → 搜索应用名称 → 打开应用 使用网页应用。 +2. PC 端:桌面(PC)端通过 钉钉 → 工作台 → 搜索应用名称 → 打开应用 使用网页应用。 ## 五、常见问题 --- -1. **消息无法投递到个人**,操作记录提示`未关联应用`? - - - 前往 钉钉 > 工作台 > 搜索应用名称 > 打开应用,完成一次登录并关联(钉钉< - >Flashduty)账号,系统才能拿到用户身份进行消息推送 +1. **消息无法投递到个人,操作记录提示 `未关联应用`?** + - 前往 钉钉 → 工作台 → 搜索应用名称 → 打开应用,完成一次登录并关联(钉钉 ↔ Flashduty)账号,系统才能拿到用户身份进行消息推送 2. **消息卡片按钮点击无效或报错?** - - - 前往 钉钉 > 工作台 > 搜索应用名称 > 打开应用,完成一次登录并关联(钉钉< - >Flashduty)账号。如果已经登录过,尝试点击右上角菜单,切换账户,重新登录来绑定账号 - - 确保已购买足够的 license,已使用 license 情况,可以在控制台 > 费用中心查看 - + - 前往 钉钉 → 工作台 → 搜索应用名称 → 打开应用,完成一次登录并关联(钉钉 ↔ Flashduty)账号。如果已经登录过,尝试点击右上角菜单,切换账户,重新登录来绑定账号 + - 确保已购买足够的 license,已使用 license 情况,可以在控制台 → 费用中心查看 3. **分派策略钉钉群聊列表为空?** - - - 前往 钉钉,选择群聊会话安装酷应用,否则无法拿到群聊列表 - - 回到分派策略配置页面,刷新后重新选择群聊列表 - - 如果仍然拿不到群聊列表,请尝试群内卸载酷应用后,重试以上步骤。如果还不可以,请联系客户或专属技术支持 + - 前往 钉钉,选择群聊会话安装酷应用,否则无法拿到群聊列表 + - 回到分派策略配置页面,刷新后重新选择群聊列表 + - 如果仍然拿不到群聊列表,请尝试群内卸载酷应用后,重试以上步骤。如果还不可以,请联系客户或专属技术支持 drawing drawing drawing -4. **钉钉自建应用 API 调用量:** [钉钉文档说明](https://open.dingtalk.com/document/orgapp/descriptions-about-adjusting-limit-and-frequency-of-api-calls?spm=ding_open_doc.document.0.0.6f6b21d9WtkxJI) +4. **钉钉自建应用 API 调用量?** -| 钉钉版本 | 调用总量/月 | QPS| 刷新时间 | -| :----------: | :--: | :----: | :----:| -|标准版|10,000 次|20|每月1日| -|专业版|50万次|40| 每月1日 | -|专属版|550万次|60| 每月1日 | +| 钉钉版本 | 调用总量/月 | QPS | 刷新时间 | +| :--------: | :-----------: | :---: | :--------: | +| 标准版 | 10,000 次 | 20 | 每月1日 | +| 专业版 | 50万次 | 40 | 每月1日 | +| 专属版 | 550万次 | 60 | 每月1日 | -**注意:** 超出限制后将无法正常推送消息,建议合理使用通知渠道 +> 超出 API 调用量限制后,钉钉应用将无法正常推送消息,建议合理使用通知渠道。[钉钉文档说明](https://open.dingtalk.com/document/orgapp/descriptions-about-adjusting-limit-and-frequency-of-api-calls?spm=ding_open_doc.document.0.0.6f6b21d9WtkxJI) diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" index 642453a5..d486d155 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -7,7 +7,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" 通过集成企业微信应用,实现在企业微信端内接收和响应告警的能力。 -支持集成**第三方应用**或**企业自建应用**。 +支持[集成第三方应用](#third-party)或[集成企业自建应用](#self)。
@@ -18,8 +18,8 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" > **集成第三方应用** 和 **集成自建应用** 只需按需配置其中之一。 + ## 一、企业微信应用授权:集成第三方应用 - --- 1. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 第三方,选择添加第三方应用 @@ -42,7 +42,9 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" > > 该许可目前支持 **最多60天** 免费,超过后我们必须为您购买企微许可才能使用。 + ## 二、企业微信应用授权:集成自建应用 +--- 1. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 第三方 → 创建应用 @@ -86,6 +88,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" ![2025-09-09-17-13-14](https://docs-cdn.flashcat.cloud/images/png/c3534c0afd8c5b868c943162acd2b6a8.png) ## 三、配置作战室 +--- 作战室功能仅支持**企业自建应用**开启。在 Flashduty 集成配置页面的 **增强功能** 中勾选开启作战室,即可启用功该功能,无需额外配置。 From c6a6a436ab39404edb4f34bca6682ad3164d9d9c Mon Sep 17 00:00:00 2001 From: debidong <1953531014@qq.com> Date: Wed, 10 Sep 2025 18:01:09 +0800 Subject: [PATCH 24/86] refactor: feishu --- ...06\346\210\220\346\214\207\345\274\225.md" | 86 ++++++++++--------- 1 file changed, 44 insertions(+), 42 deletions(-) diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" index 84dc6a8d..61663735 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -18,28 +18,28 @@ sidebarDepth: 3 ### 1. 创建自建应用 -访问 [飞书开发者后台](https://open.feishu.cn/app),创建企业内自建应用。 (详见飞书开发文档-[创建企业自建应用](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#132c1aac)) +访问 [飞书开发者后台](https://open.feishu.cn/app),创建企业内自建应用。 应用图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 -drawing +详见飞书开发文档[创建企业自建应用](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#132c1aac)。 -应用图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 +drawing ### 2. 复制凭证信息 -前往 **凭证与基础信息** 页面,复制 `App ID` 和 `App Secret`备用。 +前往 **凭证与基础信息** 页面,复制 `App ID` 和 `App Secret` 备用。 drawing ### 3. 复制事件回调的 Token 信息 -前往 **开发配置-事件与回调-加密策略** 页面,复制 `Encrypt Key`(推荐启用,更安全) 和 `Verification Token`备用。 +前往 开发配置 → 事件与回调 → **加密策略** 页面,复制 `Encrypt Key`(推荐启用,更安全) 和 `Verification Token ` 备用。 drawing ## 二、添加飞书集成 --- -回到 Flashduty **集成中心** 页面,选择 **即时消息=>飞书**,在表单中填入 `名称` 以及上一步复制的`App ID`、`App Secret`、`Verification Token` 和 `Encrypt Key`后,点击保存创建。 +回到 Flashduty **集成中心** 页面,选择 **即时消息** → **飞书**,在表单中填入 `名称` 以及上一步复制的 `App ID`、`App Secret`、`Verification Token` 和 `Encrypt Key` 后,点击保存创建。 drawing @@ -52,32 +52,35 @@ sidebarDepth: 3 ### 1. 开通并配置应用能力 -1). 回到飞书开发者后台,进入刚才创建的飞书应用,进入 **添加应用能力-按能力添加** 页面,同时开通 **网页应用** 和 **机器人** 能力。 +1. 回到飞书开发者后台,进入刚才创建的飞书应用,进入 **添加应用能力** → **按能力添加** 页面,同时开通 **网页应用** 和 **机器人** 能力。 drawing -2). 前往 **网页应用** 页面,配置 `桌面端主页` 和 `移动端主页`,内容均为集成详情中的 **网页配置** 地址。 +2. 前往 **网页应用** 页面,配置 `桌面端主页` 和 `移动端主页`,内容均为集成详情中的 **网页配置** 地址。 drawing -(详见飞书开发文档-[配置应用主页地址](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#8366b844)) +详见飞书开发文档[配置应用主页地址](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#8366b844)。 -3). 前往 **事件回调-回调配置** 页面,配置 `消息卡片请求网址`(内容为集成详情中的 **消息卡片请求网址**)并添加回调。 +3. 前往 **事件回调** → **回调配置** 页面,配置 `消息卡片请求网址`(内容为集成详情中的 **消息卡片请求网址**)并添加回调。 drawing drawing -### 2. 添加重定向 URL 到飞书应用中 +### 2. 添加重定向 URL 到飞书应用 进入 **安全设置** 页面,配置 `重定向URL`,内容为集成详情中的 **重定向 URL**。 drawing -(详见飞书开发文档-[配置重定向 URL](https://open.feishu.cn/document/uYjL24iN/uYjN3QjL2YzN04iN2cDN?lang=zh-CN#c863e533)) +详见飞书开发文档[配置重定向 URL](https://open.feishu.cn/document/uYjL24iN/uYjN3QjL2YzN04iN2cDN?lang=zh-CN#c863e533)。 ### 3. 申请应用权限 -进入 **权限管理** 页面,申请 `im:chat` 和 `im:message` 两项权限。此两项权限将允许当前应用获取自身所在群聊信息以及向群聊或个人发送消息的能力。 +进入 **权限管理** 页面,为先前步骤创建的群应用申请下面的权限: + +- `im:chat`:获取群聊信息 +- `im:message`:向群聊或个人发送消息 drawing @@ -85,53 +88,52 @@ sidebarDepth: 3 --- 完成上述步骤后,进行应用的发布与使用,管理员审核后即可使用。 -注意:**可用范围** 需要特别配置,推荐 **所有员工**。 + +详见飞书开发文档[应用发布与使用](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step-4)。 + +> 为了确保所有人可以使用应用,需将应用 **可见范围** 调整为全部员工,再进行应用发布。 drawing -详见飞书开发文档-[应用发布与使用](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step-4)。 -应用发布后,就可以使用 手机端/PC 端 访问应用。首次访问需要登录并关联(飞书< - >Flashduty)账号,后续可以免登录使用。 +应用发布后,可以使用 手机端 / PC 端 访问应用。首次访问需要登录并关联(飞书 ↔ Flashduty)账号,后续可以免登录使用。 -1. 手机端:手机端通过 飞书 > 工作台 > 搜索应用名称 > 打开应用 使用网页应用。 -2. PC 端:桌面(PC)端通过 飞书 > 工作台 > 搜索应用名称 > 打开应用 使用网页应用。 +1. 手机端:手机端通过 飞书 → 工作台 → 搜索应用名称 → 打开应用 使用网页应用。 +2. PC 端:桌面端通过 飞书 → 工作台 → 搜索应用名称 → 打开应用 使用网页应用。 ## 五、常见问题 --- -1. **消息无法投递到个人**,操作记录提示`未关联应用`? - - - 前往 飞书 > 工作台 > 搜索应用名称 > 打开应用,完成一次登录并关联(飞书< - >Flashduty)账号,系统才能拿到用户身份进行消息推送 - +1. **消息无法投递到个人,操作记录提示`未关联应用`?** + - 前往 飞书 → 工作台 → 搜索应用名称 → 打开应用,完成一次登录并关联(飞书 ↔ Flashduty)账号,系统才能拿到用户身份进行消息推送 + 2. **消息卡片按钮点击无效或报错**? - - - 确保账户已经完成关联,前往 飞书 > 工作台 > 搜索应用名称 > 打开应用,完成一次登录并关联(飞书< - >Flashduty)账号。如果已经登录过,尝试点击右上角菜单,切换账户,重新登录来绑定账号 - - 确保已购买足够的 license,已使用 license 情况,可以在控制台 > 费用中心查看 - + - 确保账户已经完成关联,前往 飞书 → 工作台 → 搜索应用名称 → 打开应用,完成一次登录并关联(飞书 ↔ Flashduty)账号。如果已经登录过,尝试点击右上角菜单,切换账户,重新登录来绑定账号 + - 确保已购买足够的 license,已使用 license 情况,可以在控制台 → 费用中心查看 + 3. **分派策略飞书群聊列表为空**? - - - 前往 飞书,选择群聊会话,添加已创建的Flashduty机器人,如下图所示: + - 前往飞书,选择群聊会话,添加已创建的 Flashduty 机器人,如下图所示: - 回到分派策略配置页面,刷新后重新选择群聊列表 drawing drawing -4. **飞书自建应用 API 限制:** [飞书文档说明](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/platform-updates-/custom-app-api-call-limit) +4. **飞书自建应用 API 限制?** - **调用量限制:** +**调用量限制:** - | 飞书版本 | 调用总量/月 | 刷新时间 | - | :----------: | :--: | :----: | - |基础免费版|10,000 次|每个自然月的 1 号| - |其他版本|不限制|-| +| 飞书版本 | 调用总量/月 | 刷新时间 | +| :----------: | :--: | :----: | +|基础免费版|10,000 次|每月1日| +|其他版本|不限制|-| - **频控限制:** +**频控限制:** - | 场景 | 限制 | - | :----------: | :--: | - |所有接口|每个应用最高频率 50 次/秒| - |发消息接口|每个应用最高频率 1000 次/分钟| - |群机器人 Webhook|最高频率 100 次/分钟| - |给同一个用户或同一个群发消息|最高频率 5 次/秒| +| 场景 | 限制 | +| :----------: | :--: | +|所有接口|每个应用最高频率 50 次/秒| +|发消息接口|每个应用最高频率 1000 次/分钟| +|群机器人 Webhook|最高频率 100 次/分钟| +|给同一个用户或同一个群发消息|最高频率 5 次/秒| - **注意:** 超出限制后将无法正常推送消息,建议合理使用通知渠道 +> 超出 API 调用量限制后,钉钉应用将无法正常推送消息,建议合理使用通知渠道。[飞书文档说明](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/platform-updates-/custom-app-api-call-limit) \ No newline at end of file From 9a90bdea42c1babd37ad31dcebc768de25b5a536 Mon Sep 17 00:00:00 2001 From: debidong <1953531014@qq.com> Date: Wed, 10 Sep 2025 18:04:18 +0800 Subject: [PATCH 25/86] refactor: feishu, pt2 --- ...k \351\233\206\346\210\220\346\214\207\345\274\225.md" | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" index 61663735..da478ce9 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -58,10 +58,10 @@ sidebarDepth: 3 2. 前往 **网页应用** 页面,配置 `桌面端主页` 和 `移动端主页`,内容均为集成详情中的 **网页配置** 地址。 -drawing - 详见飞书开发文档[配置应用主页地址](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#8366b844)。 +drawing + 3. 前往 **事件回调** → **回调配置** 页面,配置 `消息卡片请求网址`(内容为集成详情中的 **消息卡片请求网址**)并添加回调。 drawing @@ -71,10 +71,10 @@ sidebarDepth: 3 进入 **安全设置** 页面,配置 `重定向URL`,内容为集成详情中的 **重定向 URL**。 -drawing - 详见飞书开发文档[配置重定向 URL](https://open.feishu.cn/document/uYjL24iN/uYjN3QjL2YzN04iN2cDN?lang=zh-CN#c863e533)。 +drawing + ### 3. 申请应用权限 进入 **权限管理** 页面,为先前步骤创建的群应用申请下面的权限: From 25b96c6f3b65c01e8c46bd335a73129045a180ae Mon Sep 17 00:00:00 2001 From: debidong <1953531014@qq.com> Date: Thu, 11 Sep 2025 14:18:55 +0800 Subject: [PATCH 26/86] refactor: feishu, pt3 --- ...06\346\210\220\346\214\207\345\274\225.md" | 44 +++++++++++-------- ...06\346\210\220\346\214\207\345\274\225.md" | 6 ++- 2 files changed, 30 insertions(+), 20 deletions(-) diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" index da478ce9..ec88d4be 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -1,7 +1,8 @@ --- -title: Contributing to our documentation — Meilisearch documentation -description: The Meilisearch documentation is open-source. Learn how to help make it even better. -sidebarDepth: 3 +title: 飞书集成 +description: 通过集成飞书自建应用,实现在飞书端内接收和响应告警的能力 +date: "2025-05-19T10:00:00+08:00" +url: "https://docs.flashcat.cloud/zh/flashduty/lark-integration-guide" --- 通过集成飞书自建应用,实现在飞书端内接收和响应告警的能力。 @@ -18,23 +19,24 @@ sidebarDepth: 3 ### 1. 创建自建应用 -访问 [飞书开发者后台](https://open.feishu.cn/app),创建企业内自建应用。 应用图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 +访问 [飞书开发者后台](https://open.feishu.cn/app),创建企业内自建应用。应用图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 详见飞书开发文档[创建企业自建应用](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#132c1aac)。 -drawing +![2025-09-11-11-58-10](https://docs-cdn.flashcat.cloud/images/png/4d86df2305e788e1464b170835dec13d.png) ### 2. 复制凭证信息 前往 **凭证与基础信息** 页面,复制 `App ID` 和 `App Secret` 备用。 -drawing + +![2025-09-11-12-00-22](https://docs-cdn.flashcat.cloud/images/png/903780c245c7ff2119c9885bb4adf151.png ### 3. 复制事件回调的 Token 信息 -前往 开发配置 → 事件与回调 → **加密策略** 页面,复制 `Encrypt Key`(推荐启用,更安全) 和 `Verification Token ` 备用。 +前往 开发配置 → 事件与回调 → **加密策略** 页面,生成并复制 `Encrypt Key`(推荐启用,更安全) 和 `Verification Token ` 备用。 -drawing +![2025-09-11-12-02-33](https://docs-cdn.flashcat.cloud/images/png/10870591ec4c450c6014119a6f2b6b84.png) ## 二、添加飞书集成 --- @@ -54,7 +56,7 @@ sidebarDepth: 3 1. 回到飞书开发者后台,进入刚才创建的飞书应用,进入 **添加应用能力** → **按能力添加** 页面,同时开通 **网页应用** 和 **机器人** 能力。 -drawing +![2025-09-11-12-05-32](https://docs-cdn.flashcat.cloud/images/png/7f7a6417533dda0617e55a7729c3d18a.png) 2. 前往 **网页应用** 页面,配置 `桌面端主页` 和 `移动端主页`,内容均为集成详情中的 **网页配置** 地址。 @@ -62,10 +64,12 @@ sidebarDepth: 3 drawing -3. 前往 **事件回调** → **回调配置** 页面,配置 `消息卡片请求网址`(内容为集成详情中的 **消息卡片请求网址**)并添加回调。 +3. 前往 **事件回调** → **回调配置** 页面,配置 `订阅方式`(内容为集成详情中的 **消息卡片请求网址**)。然后,订阅下面两项回调: + +- `card.action.trigger` +- `card.action.trigger_v1` -drawing -drawing +![2025-09-11-11-25-32](https://docs-cdn.flashcat.cloud/images/png/948b242146b641671795600473401439.png) ### 2. 添加重定向 URL 到飞书应用 @@ -73,16 +77,17 @@ sidebarDepth: 3 详见飞书开发文档[配置重定向 URL](https://open.feishu.cn/document/uYjL24iN/uYjN3QjL2YzN04iN2cDN?lang=zh-CN#c863e533)。 -drawing +![2025-09-11-11-29-49](https://docs-cdn.flashcat.cloud/images/png/263849573db72f0ca6253b5d8572da94.png) ### 3. 申请应用权限 进入 **权限管理** 页面,为先前步骤创建的群应用申请下面的权限: -- `im:chat`:获取群聊信息 -- `im:message`:向群聊或个人发送消息 +- `im:chat`:获取与更新群组信息 +- `im:message`:获取与发送单聊、群组消息 +- `contact:user.id:readonly`:通过手机号或邮箱获取用户 ID(用于配置作战室) -drawing +![2025-09-11-11-32-48](https://docs-cdn.flashcat.cloud/images/png/ad17a4dab9767327f86a33728ecf659f.png) ## 四、应用发布与使用 --- @@ -93,7 +98,7 @@ sidebarDepth: 3 > 为了确保所有人可以使用应用,需将应用 **可见范围** 调整为全部员工,再进行应用发布。 -drawing +![2025-09-11-12-07-30](https://docs-cdn.flashcat.cloud/images/png/f8262ed8cf28064c20e27d1a0c2afad6.png) 应用发布后,可以使用 手机端 / PC 端 访问应用。首次访问需要登录并关联(飞书 ↔ Flashduty)账号,后续可以免登录使用。 @@ -104,14 +109,17 @@ sidebarDepth: 3 ## 五、常见问题 --- -1. **消息无法投递到个人,操作记录提示`未关联应用`?** +1. **消息无法投递到个人,操作记录提示 `未关联应用`?** + - 前往 飞书 → 工作台 → 搜索应用名称 → 打开应用,完成一次登录并关联(飞书 ↔ Flashduty)账号,系统才能拿到用户身份进行消息推送 2. **消息卡片按钮点击无效或报错**? + - 确保账户已经完成关联,前往 飞书 → 工作台 → 搜索应用名称 → 打开应用,完成一次登录并关联(飞书 ↔ Flashduty)账号。如果已经登录过,尝试点击右上角菜单,切换账户,重新登录来绑定账号 - 确保已购买足够的 license,已使用 license 情况,可以在控制台 → 费用中心查看 3. **分派策略飞书群聊列表为空**? + - 前往飞书,选择群聊会话,添加已创建的 Flashduty 机器人,如下图所示: - 回到分派策略配置页面,刷新后重新选择群聊列表 diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" index d6b6f84a..42dc191a 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -23,7 +23,9 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" ### 1. 创建自建应用 -访问 [钉钉开发者后台](https://open-dev.dingtalk.com/fe/app) → 应用开发 → 企业内部开发,创建应用。 (详见钉钉开发文档[创建企业内部应用-H5 微应用](https://open.dingtalk.com/document/orgapp/microapplication-creation-and-release-process#title-ovn-666-1ty)) +访问 [钉钉开发者后台](https://open-dev.dingtalk.com/fe/app) → 应用开发 → **企业内部开发** 创建应用。 + +详见钉钉开发文档[创建企业内部应用-H5 微应用](https://open.dingtalk.com/document/orgapp/microapplication-creation-and-release-process#title-ovn-666-1ty) ![2025-09-10-17-05-48](https://docs-cdn.flashcat.cloud/images/png/aa658afccbf0e92e25071143c792955f.png) @@ -37,7 +39,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" ### 3. 复制应用凭证信息 -进入创建的应用等详情界面,通过左侧菜单栏前往 应用能力 → **凭证与基础信息** 页面,复制 `AgentID`、 `ClientID` 和 `ClientSecret` 备用。 +进入创建的应用详情界面,通过左侧菜单栏前往 应用能力 → **凭证与基础信息** 页面,复制 `AgentID`、 `ClientID` 和 `ClientSecret` 备用。 ![2025-09-10-17-10-00](https://docs-cdn.flashcat.cloud/images/png/ac8765ffb106678e1c1a1217e8148567.png) From 499c55483dfb2fad1d1924010e0fc817f6affcac Mon Sep 17 00:00:00 2001 From: debidong <1953531014@qq.com> Date: Thu, 11 Sep 2025 14:51:20 +0800 Subject: [PATCH 27/86] refator: update images for wecom --- ...06\346\210\220\346\214\207\345\274\225.md" | 2 +- ...06\346\210\220\346\214\207\345\274\225.md" | 35 ++++++++++--------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" index ec88d4be..06dc5f12 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -47,7 +47,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/lark-integration-guide" 创建后在列表中会看到刚才添加的飞书集成,点击名称进入详情后,会看到 **网页配置** 地址、**重定向 URL** 地址以及 **消息卡片请求网址** 等信息,后边流程会用到。 -drawing +![2025-09-11-14-23-52](https://docs-cdn.flashcat.cloud/images/png/bf2ae6f78c0637e8dfc7d46394e64fa5.png) ## 三、配置飞书应用 --- diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" index d486d155..05b316a0 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -7,7 +7,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" 通过集成企业微信应用,实现在企业微信端内接收和响应告警的能力。 -支持[集成第三方应用](#third-party)或[集成企业自建应用](#self)。 +支持 [集成第三方应用](#third-party) 或 [集成企业自建应用](#self)。
@@ -22,27 +22,30 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" ## 一、企业微信应用授权:集成第三方应用 --- -1. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 第三方,选择添加第三方应用 +> Flashduty 作为企业微信服务商,为您提供 FlashDuty 应用的长期免费版本。该应用需要获得企业微信接口调用许可才能使用(免密登录+消息发送)。 +> +> 该许可目前支持 **最多60天** 免费,超出该使用时长后我们必须为您购买企微许可,方可继续使用。 -drawing +1. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 应用,选择 **添加第三方应用**。 -2. 搜索栏输入 **flashduty**,检索到应用,并点击 **添加** 按钮 +![2025-09-11-14-38-18](https://docs-cdn.flashcat.cloud/images/png/c02371e3e2e63ed54687127e9d1e5130.png) -drawing +2. 搜索栏输入 **FlashDuty**,检索到应用,并点击 **添加** 按钮。 -3. 修改应用 **可见范围**,推荐全员或具体部门节点,防止新增成员时还要修改范围。点击 **同意以上授权并添加**,完成安装 +![2025-09-11-14-39-06](https://docs-cdn.flashcat.cloud/images/png/6e476fa462d64e4b2fca9350aec3163f.png) -drawing +3. 修改应用 **可见范围**,推荐选择全员或具体部门节点,防止新增企业成员时仍需修改应用可见范围。点击 **同意以上授权并添加**,完成安装。 -4. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 我的企业 页面,复制 **企业ID** 作为当前页面的 `Corp ID` 填写到集成配置,点击保存,完成集成配置 +![2025-09-11-14-41-43](https://docs-cdn.flashcat.cloud/images/png/4b4d8bfbf7d97e3bcbd4ace800ff4390.png) -drawing +4. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 我的企业 页面,获取 **企业ID** 。 -> Flashduty 作为企业微信服务商,为您提供 FlashDuty 应用的长期免费版本。该应用需要获得企业微信接口调用许可才能使用(免密登录+消息发送)。 -> -> 该许可目前支持 **最多60天** 免费,超过后我们必须为您购买企微许可才能使用。 +![2025-09-11-14-45-59](https://docs-cdn.flashcat.cloud/images/png/cc887d8f20433c0427c15ef4f377578c.png) + +5. 前往 Flashduty 集成配置页面,填写先前步骤获取的 **企业ID**,点击保存后,完成集成配置。 + ## 二、企业微信应用授权:集成自建应用 --- @@ -110,7 +113,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" - 必须参照问题 1,先完成账户关联,才能发送通知 - 进入某个协作空间详情页面 → 分派策略,在个人渠道部分,选择通知到企业微信集成,完成通知配置 - - 支持对企业微信通知内容进行自定义,您前往模板管理页面,设定自定义模板。注意:**自定义区域展示行数最多 8 行**,超过会被企业微信截断 + - 支持对企业微信通知内容进行自定义,您前往模板管理页面,设定自定义模板。**自定义区域展示行数最多 8 行**,超出文本将会被企业微信截断 drawing @@ -119,18 +122,18 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" - 点击卡片消息,直接进入告警详情页面 - 点击 开始处理,直接将告警置为 `处理中` 状态 - 点击 直接关闭,直接将告警置为 `已关闭` 状态 - - 点击 屏蔽2小时,直接将告警屏蔽 2 小时,如果想屏蔽更多时间,点击卡片右上角 `...` 有更多屏蔽选项 + - 点击 屏蔽2小时,直接将告警屏蔽 2 小时;如果想屏蔽更多时间,点击卡片右上角 `...` 查看更多屏蔽选项 5. **为什么卡片消息提供了 `状态刷新` 按钮?** - 企业微信限制一次卡片交互后 72 小时只可更新一次。每一次按钮操作,都是一次交互 - - 当告警的状态发生变化时,Flashduty会请求卡片内容更新 + - 当告警的状态发生变化时,Flashduty 会请求卡片内容更新 - 当告警状态频繁变化时,可能因为超过更新次数限制,导致卡片无法实时更新,这时可以点击刷新按钮,来获得一次更新卡片状态机会 6. **Mac 桌面端点击卡片消息如何使用 `系统默认浏览器` 打开?** - Mac 桌面端默认使用端内浏览器打开链接 - - 您可以尝试快捷键 `ctrl` + `command` + `shift` + `d` 开启调试模式,然后选择 调试 → 浏览器、webView相关 → 系统浏览器打开网页,来更改链接打开模式。使用同样的快捷键可以关闭调试模式,并保持设置。 + - 您可以尝试快捷键 `ctrl` + `command` + `shift` + `d` 开启调试模式,然后选择 调试 → 浏览器、webView相关 → 系统浏览器打开网页,来更改链接打开模式。使用同样的快捷键可以关闭调试模式,并保持设置 7. **故障通知失败,提示 `未开通企微许可` ?** From 0e1b5ff3f18c23bd7582b9f8f0b618111da1c04a Mon Sep 17 00:00:00 2001 From: debidong <1953531014@qq.com> Date: Thu, 11 Sep 2025 15:07:11 +0800 Subject: [PATCH 28/86] refactor: dingtalk --- ...06\346\210\220\346\214\207\345\274\225.md" | 45 ++++++++----------- 1 file changed, 19 insertions(+), 26 deletions(-) diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" index 42dc191a..15fe06d7 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -18,7 +18,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide"
-## 一、创建钉钉应用 +## 一、创建钉钉应用 & 添加钉钉集成 --- ### 1. 创建自建应用 @@ -31,40 +31,31 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" 应用图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 -### 2. 复制企业 CorpId +### 2. 复制企业 `CorpId` -点击页面右上角企业头像,在下拉菜单中复制 `CorpId` 备用。 +点击页面右上角企业头像,在下拉菜单中复制 `CorpId`。 ![2025-09-10-17-07-19](https://docs-cdn.flashcat.cloud/images/png/b94a0f4ab5409f02f14063de03e4502a.png) +回到 Flashduty 集成配置页面,在表单中填入对应的 `CorpId`。 + ### 3. 复制应用凭证信息 -进入创建的应用详情界面,通过左侧菜单栏前往 应用能力 → **凭证与基础信息** 页面,复制 `AgentID`、 `ClientID` 和 `ClientSecret` 备用。 +进入创建的应用详情界面,通过左侧菜单栏前往 应用能力 → **凭证与基础信息** 页面,复制 `AgentId`、 `Client ID` 和 `Client Secret`。 ![2025-09-10-17-10-00](https://docs-cdn.flashcat.cloud/images/png/ac8765ffb106678e1c1a1217e8148567.png) -### 4. 复制事件订阅信息 +回到 Flashduty 集成配置页面,在表单中填入对应的 `AgentId`、 `Client ID` 和 `Client Secret`。 -前往 开发配置 → **事件与回调** 页面。设置推送方式为 `HTTP推送`,然后生成 `加密 aes_key` 和 `签名 Token` 备用。 +### 4. 复制事件订阅信息 -**(注意:生成 aes_key 和 Token 后请将信息临时保存到其它地方,离开页面后信息会消失,后续会用到)** +前往 开发配置 → **事件与回调** 页面。设置推送方式为 `HTTP推送`,然后点击按钮生成 `加密 aes_key` 和 `签名 Token`,并复制保存。 ![2025-09-10-17-11-19](https://docs-cdn.flashcat.cloud/images/png/9a6a52e5802cc75578335730481b2747.png) -## 二、添加钉钉集成 - ---- - -回到 Flashduty **集成中心** 页面,选择 即时消息 → 钉钉,在表单中填入 **集成名称** 以及先前步骤复制的 **应用信息** 后,点击保存创建。 - -drawing - -保存后会看到 **网页配置** 地址、**服务器出口 IP** 地址以及 **事件订阅请求网址** 等信息,后边流程会用到。 - -drawing - -## 三、配置钉钉应用 +回到 Flashduty 集成配置页面,在表单中填入对应的 `加密 aes_key` 和 `签名 Token`,点击 **保存** 按钮。 +## 二、配置钉钉应用 --- ### 1. 添加酷应用、网页应用和机器人 @@ -94,17 +85,19 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" ### 3. 配置应用地址 -进入 **应用能力 → 网页应用** 页面 +1. 进入 应用能力 → **网页应用** 页面。 -1. 配置 **应用首页地址** 和 **PC 端首页地址**,内容为集成详情中的 **应用首页地址** 和 **PC 端首页地址**。 +2. 根据 Flashduty 集成详情中的 `应用首页地址` 和 `PC 端首页地址`,配置 **应用首页地址** 和 **PC 端首页地址**。 -2. 点击右上角 **保存**。 +3. 点击右上角 **保存**。 drawing ### 4. 配置事件订阅 -1. 开发配置 → **事件订阅** 页面,配置 **加密 aes_key**、**签名 token**、**请求网址**,内容分别为先前步骤中生成的 aes_key 和 token、集成详情中的 **事件订阅请求网址**。配置完成后 **保存**。 +1. 进入 开发配置 → **事件订阅** 页面。 + +2. 根据 Flashduty 集成详情中的 `事件订阅请求地址`,配置 **事件订阅请求网址**。配置完成后 **保存**。 ![2025-09-10-17-14-22](https://docs-cdn.flashcat.cloud/images/png/ad81265339dc1ce50f6a6cb2c4321ee0.png) @@ -121,7 +114,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" ![2025-09-10-16-47-06](https://docs-cdn.flashcat.cloud/images/png/3d16611b7a2131192808988c64d13585.png) -## 四、配置作战室 +## 三、配置作战室 ### 1. 配置群模版 @@ -131,7 +124,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" > 本步骤中配置的 **群机器人** 和 **应用机器人** 是两个不同的概念。群机器人被用于在生成群聊时自动创建群机器人。群机器人和应用机器人拥有不同的 **机器人 ID**。若要为钉钉开启作战室功能,必须额外配置 **群机器人**。 -填写群机器人配置。**消息回调地址**、**消息回调token**、**信息来源网站 **三项配置在 Flashduty 的应用场景中并无实际作用,您可选择任意满足要求的值进行配置。 +填写群机器人配置。**消息回调地址**、**消息回调token**、**信息来源网站** 三项配置在 Flashduty 的应用场景中并无实际作用,您可选择任意满足要求的值进行配置。 **示例配置**: From f61ad561c049a68353953a4d18bcb86fe50fafff Mon Sep 17 00:00:00 2001 From: debidong <1953531014@qq.com> Date: Thu, 11 Sep 2025 15:41:20 +0800 Subject: [PATCH 29/86] refactor: wecom self deploy app, pt3 --- ...06\346\210\220\346\214\207\345\274\225.md" | 37 ++++++++----------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" index 05b316a0..614e08ae 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -57,36 +57,31 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" ![2025-09-09-17-07-51](https://docs-cdn.flashcat.cloud/images/png/18cc9e9e35da7a71da70ca656d5d9814.png) -3. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 接收消息 → 设置API接收,分别对 `Token` 和 `EncodingAESKey` 点击 **随机获取**,暂存生成的 `Token` 和 `EncodingAESKey` 备用。 +3. 回到 Flashduty 集成配置页面,根据情况选择企业微信是否为 `非私有化部署版本`。 -![2025-09-09-17-12-13](https://docs-cdn.flashcat.cloud/images/png/b689fe99780788309b327ffb5faee50b.png) +若企业微信为私有化部署版本,需要在配置页面中填写 `Endpoint`。此地址需要能够被 Flashduty 服务所访问,您可以考虑实现 **白名单授权**。 -4. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 网页授权及JS-SDK → 设置可信域名,配置 可作为应用OAuth2.0网页授权功能的回调域名。该域名需要指向到 Flashduty 的后端地址 `{api_host}`(CNAME或代理转发)。 +4. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 我的企业,获取 `企业ID`。回到 Flashduty 集成配置页面,填写该配置项。 -![2025-09-09-17-09-05](https://docs-cdn.flashcat.cloud/images/png/d8f2d78c310330d2b27cd0f744e5733c.png) +5. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用,获取 `AgentId`。回到 Flashduty 集成配置页面,填写该配置项。 -5. 若您的企业微信为非私有化部署版本,请在 Flashduty 中完成如下配置: +6. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用,获取 `Secret`。回到 Flashduty 集成配置页面,填写该配置项。 -- 企业ID:[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 我的企业 → 企业ID。 -- AgentID:[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → AgentId。 -- App Secret:[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → Secret。 -- 消息加密 Token:先前步骤暂存。 -- 消息加密 Aes Key:先前步骤暂存。 -- 可信域名:[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 网页授权及JS-SDK → 设置可信域名 +7. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 网页授权及JS-SDK → 设置可信域名,配置 可作为应用OAuth2.0网页授权功能的回调域名。该域名需要指向到 Flashduty 的后端地址 `{api_host}`(CNAME或代理转发)。 -6. 若您的企业微信为私有化部署版本,请在 Flashduty 中完成如下配置: +> 详见企业微信官方文档[企业内部开发配置域名指引](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754)。 + +![2025-09-09-17-09-05](https://docs-cdn.flashcat.cloud/images/png/d8f2d78c310330d2b27cd0f744e5733c.png) -- Endpoint:此地址需要能够被Flashduty服务所访问,您可以考虑做白名单授权。 -- 企业ID:[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 我的企业 → 企业ID。 -- AgentID:[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → AgentId。 -- App Secret:[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → Secret。 -- 消息加密 Token:先前步骤暂存。 -- 消息加密 Aes Key:先前步骤暂存。 -- 可信域名:[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 网页授权及JS-SDK → 设置可信域名 +回到 Flashduty 集成配置页面,填写该配置项,然后完成可信域名的验证。 + +8. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 接收消息 → 设置API接收,分别对 `Token` 和 `EncodingAESKey` 点击 **随机获取**,复制保存生成的 `Token` 和 `EncodingAESKey`。 + +![2025-09-09-17-12-13](https://docs-cdn.flashcat.cloud/images/png/b689fe99780788309b327ffb5faee50b.png) -7. 在 Flashduty 中,点击 **保存** 完成集成配置。 +回到 Flashduty 集成配置页面,填写保存的 Token 和 EncodingAESKey,点击 **保存** 完成集成配置。 -8. 访问[企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 接收消息 → 设置API接收,填写并保存 URL 和**先前步骤暂存的** `Token`、`EncodingAESKey`。 +9. 复制 Flashduty 集成详情中的 `回调地址`,回到 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 接收消息 → 设置API接收,填写并保存 URL 和 **先前步骤暂存的** `Token`、`EncodingAESKey`。 ![2025-09-09-17-13-14](https://docs-cdn.flashcat.cloud/images/png/c3534c0afd8c5b868c943162acd2b6a8.png) From 820544d674bf3e9ca7b8df3a7a603dc3936d7e9a Mon Sep 17 00:00:00 2001 From: debidong <1953531014@qq.com> Date: Thu, 11 Sep 2025 15:50:33 +0800 Subject: [PATCH 30/86] refactor: wecom self deploy app, pt4 --- ...com \351\233\206\346\210\220\346\214\207\345\274\225.md" | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" index 614e08ae..de9726bd 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -67,9 +67,11 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" 6. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用,获取 `Secret`。回到 Flashduty 集成配置页面,填写该配置项。 -7. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 网页授权及JS-SDK → 设置可信域名,配置 可作为应用OAuth2.0网页授权功能的回调域名。该域名需要指向到 Flashduty 的后端地址 `{api_host}`(CNAME或代理转发)。 +7. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 网页授权及JS-SDK → 设置可信域名,配置 **可作为应用OAuth2.0网页授权功能的回调域名**。 -> 详见企业微信官方文档[企业内部开发配置域名指引](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754)。 +> 可信域名需要指向 Flashduty 的后端地址 `{api_host}`(CNAME或代理转发)。 +> +> 关于可信域名的要求,详见企业微信官方文档[企业内部开发配置域名指引](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754)。 ![2025-09-09-17-09-05](https://docs-cdn.flashcat.cloud/images/png/d8f2d78c310330d2b27cd0f744e5733c.png) From 76f4fd3c9ad8856f8df769f42dca653950d31649 Mon Sep 17 00:00:00 2001 From: debidong <1953531014@qq.com> Date: Thu, 11 Sep 2025 15:59:17 +0800 Subject: [PATCH 31/86] refactor: dingtalk --- ...351\233\206\346\210\220\346\214\207\345\274\225.md" | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" index 15fe06d7..2a99e130 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -49,7 +49,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" ### 4. 复制事件订阅信息 -前往 开发配置 → **事件与回调** 页面。设置推送方式为 `HTTP推送`,然后点击按钮生成 `加密 aes_key` 和 `签名 Token`,并复制保存。 +前往 开发配置 → **事件订阅** 页面。设置推送方式为 `HTTP推送`,然后点击按钮生成 `加密 aes_key` 和 `签名 Token`,并复制保存。 ![2025-09-10-17-11-19](https://docs-cdn.flashcat.cloud/images/png/9a6a52e5802cc75578335730481b2747.png) @@ -87,17 +87,13 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" 1. 进入 应用能力 → **网页应用** 页面。 -2. 根据 Flashduty 集成详情中的 `应用首页地址` 和 `PC 端首页地址`,配置 **应用首页地址** 和 **PC 端首页地址**。 - -3. 点击右上角 **保存**。 +2. 根据 Flashduty 集成详情中的 `应用首页地址` 和 `PC 端首页地址`,配置 **应用首页地址** 和 **PC 端首页地址**。 完成后点击 **保存**。 drawing ### 4. 配置事件订阅 -1. 进入 开发配置 → **事件订阅** 页面。 - -2. 根据 Flashduty 集成详情中的 `事件订阅请求地址`,配置 **事件订阅请求网址**。配置完成后 **保存**。 +1. 回到 Flashduty 集成详情页面,复制 `事件订阅请求地址`。然后进入钉钉 开发配置 → **事件订阅** 页面,配置 **事件订阅请求网址**,完成后点击 **保存**。 ![2025-09-10-17-14-22](https://docs-cdn.flashcat.cloud/images/png/ad81265339dc1ce50f6a6cb2c4321ee0.png) From 73573598cccb28cbbfc97a76b8c84ca8e8a59998 Mon Sep 17 00:00:00 2001 From: pijiang <419471640@qq.com> Date: Mon, 15 Sep 2025 19:42:12 +0800 Subject: [PATCH 32/86] update servicenow docs --- .../8. Integrations/8.5 Webhooks/8.5.5 ServiceNow sync.md | 2 +- .../8.5 Webhooks/8.5.5 ServiceNow \345\220\214\346\255\245.md" | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.5 ServiceNow sync.md b/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.5 ServiceNow sync.md index 40692534..e49004f6 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.5 ServiceNow sync.md +++ b/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.5 ServiceNow sync.md @@ -25,7 +25,7 @@ The user used to access ServiceNow needs to have administrator roles. 1. On the user list page, find the newly created `flashduty` user and go to the configuration page. 2. In the edit page, click `Set Password` to set a password. -3. Click `Roles` to add **admin and itil** roles. +3. Click `Roles` to add **personalize_dictionary and itil** roles (If custom field mapping configuration is not required, the personalize_dictionary permission does not need to be retained). 4. Click `Update` to update the configuration. drawing diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.5 ServiceNow \345\220\214\346\255\245.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.5 ServiceNow \345\220\214\346\255\245.md" index 29f42f94..66df08ca 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.5 ServiceNow \345\220\214\346\255\245.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.5 ServiceNow \345\220\214\346\255\245.md" @@ -25,7 +25,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/service-now-sync" 1. 在用户列表页面,找到新创建的 `flashduty` 用户并进到配置页面。 2. 在编辑页面中,点击 `Set Password` 设置一个密码。 -3. 点击 `Roles` 添加 **admin 和 itil** 角色。 +3. 点击 `Roles` 添加 **personalize_dictionary 和 itil** 角色(如果不需要配置自定义字段映射关系,可以不授予 personalize_dictionary 权限)。 4. 点击 `Update` 更新配置。 drawing From bf08254b7cc61858f2f8bc474a95d2e38e572123 Mon Sep 17 00:00:00 2001 From: debidong <1953531014@qq.com> Date: Mon, 15 Sep 2025 20:12:06 +0800 Subject: [PATCH 33/86] refactor: polish instructions --- README.md | 10 ++ ...06\346\210\220\346\214\207\345\274\225.md" | 80 +++++----- ...06\346\210\220\346\214\207\345\274\225.md" | 131 +++++++++-------- ...06\346\210\220\346\214\207\345\274\225.md" | 138 ++++++++++-------- ...06\346\210\220\346\214\207\345\274\225.md" | 73 ++++----- ...06\346\210\220\346\214\207\345\274\225.md" | 114 ++++++--------- instructions.md => i18n_instructions.md | 0 polish_instructions.md | 105 +++++++++++++ 8 files changed, 371 insertions(+), 280 deletions(-) rename instructions.md => i18n_instructions.md (100%) create mode 100644 polish_instructions.md diff --git a/README.md b/README.md index dcc35655..8c2c106f 100644 --- a/README.md +++ b/README.md @@ -55,3 +55,13 @@ date: "2023-12-18T10:00:00+08:00" ## Flashduty 内部文档 [使用手册](https://alidocs.dingtalk.com/i/nodes/14lgGw3P8vBzjpwpuoARLPA385daZ90D) + +- 润色文档 + +在 cursor 中,选择优秀的模型之后,使用下面的prompt对中文文档进行润色: + +``` +请你严格依照 @polish_instructions.md 的要求,对文档 @your_doc_name 进行润色。 +``` + +完成润色后,可在 VSCode / Cursor 中打开文档,然后在文档 tab 页中右击,点击 `格式化文档`。 \ No newline at end of file diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" index 06dc5f12..ff273d49 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.1 \351\243\236\344\271\246 Lark \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -1,11 +1,10 @@ --- -title: 飞书集成 -description: 通过集成飞书自建应用,实现在飞书端内接收和响应告警的能力 +title: "飞书集成" +description: "通过集成飞书自建应用,您可以在飞书端内接收和响应告警。" date: "2025-05-19T10:00:00+08:00" url: "https://docs.flashcat.cloud/zh/flashduty/lark-integration-guide" --- - -通过集成飞书自建应用,实现在飞书端内接收和响应告警的能力。 +通过集成飞书自建应用,您可以在飞书端内接收和响应告警。
@@ -19,9 +18,9 @@ url: "https://docs.flashcat.cloud/zh/flashduty/lark-integration-guide" ### 1. 创建自建应用 -访问 [飞书开发者后台](https://open.feishu.cn/app),创建企业内自建应用。应用图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 +访问 [飞书开发者后台](https://open.feishu.cn/app),创建企业内自建应用。应用图标可使用 [Flashduty 官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 -详见飞书开发文档[创建企业自建应用](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#132c1aac)。 +详见飞书开发文档 [创建企业自建应用](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#132c1aac)。 ![2025-09-11-11-58-10](https://docs-cdn.flashcat.cloud/images/png/4d86df2305e788e1464b170835dec13d.png) @@ -34,18 +33,18 @@ url: "https://docs.flashcat.cloud/zh/flashduty/lark-integration-guide" ### 3. 复制事件回调的 Token 信息 -前往 开发配置 → 事件与回调 → **加密策略** 页面,生成并复制 `Encrypt Key`(推荐启用,更安全) 和 `Verification Token ` 备用。 +前往 开发配置 → 事件与回调 → **加密策略** 页面,生成并复制 `Encrypt Key`(推荐启用,更安全)和 `Verification Token` 备用。 ![2025-09-11-12-02-33](https://docs-cdn.flashcat.cloud/images/png/10870591ec4c450c6014119a6f2b6b84.png) ## 二、添加飞书集成 --- -回到 Flashduty **集成中心** 页面,选择 **即时消息** → **飞书**,在表单中填入 `名称` 以及上一步复制的 `App ID`、`App Secret`、`Verification Token` 和 `Encrypt Key` 后,点击保存创建。 +回到 Flashduty **集成中心** 页面,选择 即时消息 → **飞书**,在表单中填入 `名称` 以及上一步复制的 `App ID`、`App Secret`、`Verification Token` 和 `Encrypt Key` 后,点击 **保存** 完成创建。 drawing -创建后在列表中会看到刚才添加的飞书集成,点击名称进入详情后,会看到 **网页配置** 地址、**重定向 URL** 地址以及 **消息卡片请求网址** 等信息,后边流程会用到。 +创建成功后,您将在列表中看到已添加的飞书集成。点击其名称进入详情页面,即可查看 **网页配置** 地址、**重定向 URL** 和 **消息卡片请求网址**,这些信息将在后续步骤中使用。 ![2025-09-11-14-23-52](https://docs-cdn.flashcat.cloud/images/png/bf2ae6f78c0637e8dfc7d46394e64fa5.png) @@ -54,17 +53,17 @@ url: "https://docs.flashcat.cloud/zh/flashduty/lark-integration-guide" ### 1. 开通并配置应用能力 -1. 回到飞书开发者后台,进入刚才创建的飞书应用,进入 **添加应用能力** → **按能力添加** 页面,同时开通 **网页应用** 和 **机器人** 能力。 +1. 回到飞书开发者后台,进入刚才创建的飞书应用,进入 添加应用能力 → **按能力添加** 页面,同时开通 **网页应用** 和 **机器人** 能力。 ![2025-09-11-12-05-32](https://docs-cdn.flashcat.cloud/images/png/7f7a6417533dda0617e55a7729c3d18a.png) 2. 前往 **网页应用** 页面,配置 `桌面端主页` 和 `移动端主页`,内容均为集成详情中的 **网页配置** 地址。 -详见飞书开发文档[配置应用主页地址](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#8366b844)。 +详见飞书开发文档 [配置应用主页地址](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#8366b844)。 drawing -3. 前往 **事件回调** → **回调配置** 页面,配置 `订阅方式`(内容为集成详情中的 **消息卡片请求网址**)。然后,订阅下面两项回调: +3. 前往 事件回调 → **回调配置** 页面,配置 `订阅方式`(内容为集成详情中的 **消息卡片请求网址**)。然后,订阅以下两项回调事件: - `card.action.trigger` - `card.action.trigger_v1` @@ -75,13 +74,13 @@ url: "https://docs.flashcat.cloud/zh/flashduty/lark-integration-guide" 进入 **安全设置** 页面,配置 `重定向URL`,内容为集成详情中的 **重定向 URL**。 -详见飞书开发文档[配置重定向 URL](https://open.feishu.cn/document/uYjL24iN/uYjN3QjL2YzN04iN2cDN?lang=zh-CN#c863e533)。 +详见飞书开发文档 [配置重定向 URL](https://open.feishu.cn/document/uYjL24iN/uYjN3QjL2YzN04iN2cDN?lang=zh-CN#c863e533)。 ![2025-09-11-11-29-49](https://docs-cdn.flashcat.cloud/images/png/263849573db72f0ca6253b5d8572da94.png) ### 3. 申请应用权限 -进入 **权限管理** 页面,为先前步骤创建的群应用申请下面的权限: +进入 **权限管理** 页面,为先前步骤创建的群应用申请以下权限: - `im:chat`:获取与更新群组信息 - `im:message`:获取与发送单聊、群组消息 @@ -92,56 +91,51 @@ url: "https://docs.flashcat.cloud/zh/flashduty/lark-integration-guide" ## 四、应用发布与使用 --- -完成上述步骤后,进行应用的发布与使用,管理员审核后即可使用。 +完成上述所有配置后,请发布应用。待管理员审核通过后即可使用。 -详见飞书开发文档[应用发布与使用](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step-4)。 +详见飞书开发文档 [应用发布与使用](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step-4)。 > 为了确保所有人可以使用应用,需将应用 **可见范围** 调整为全部员工,再进行应用发布。 ![2025-09-11-12-07-30](https://docs-cdn.flashcat.cloud/images/png/f8262ed8cf28064c20e27d1a0c2afad6.png) -应用发布后,可以使用 手机端 / PC 端 访问应用。首次访问需要登录并关联(飞书 ↔ Flashduty)账号,后续可以免登录使用。 +应用发布后,即可通过 **手机端** 或 **PC 端** 访问应用。首次访问需要登录并关联飞书与 Flashduty 账号,后续可以免登录使用。 -1. 手机端:手机端通过 飞书 → 工作台 → 搜索应用名称 → 打开应用 使用网页应用。 -2. PC 端:桌面端通过 飞书 → 工作台 → 搜索应用名称 → 打开应用 使用网页应用。 +- **手机端**:通过 飞书 → 工作台 → 搜索应用名称 → **打开应用** 使用网页应用。 +- **PC 端**:通过 飞书 → 工作台 → 搜索应用名称 → **打开应用** 使用网页应用。 ## 五、常见问题 --- 1. **消息无法投递到个人,操作记录提示 `未关联应用`?** - - - 前往 飞书 → 工作台 → 搜索应用名称 → 打开应用,完成一次登录并关联(飞书 ↔ Flashduty)账号,系统才能拿到用户身份进行消息推送 - -2. **消息卡片按钮点击无效或报错**? - - - 确保账户已经完成关联,前往 飞书 → 工作台 → 搜索应用名称 → 打开应用,完成一次登录并关联(飞书 ↔ Flashduty)账号。如果已经登录过,尝试点击右上角菜单,切换账户,重新登录来绑定账号 - - 确保已购买足够的 license,已使用 license 情况,可以在控制台 → 费用中心查看 - -3. **分派策略飞书群聊列表为空**? - - - 前往飞书,选择群聊会话,添加已创建的 Flashduty 机器人,如下图所示: - - 回到分派策略配置页面,刷新后重新选择群聊列表 + - 前往 飞书 → 工作台 → 搜索应用名称 → **打开应用**,完成一次登录以关联飞书与 Flashduty 账号,系统才能获取用户身份进行消息推送。 +2. **消息卡片按钮点击无效或报错?** + - 确保账户已经完成关联。您可以前往 飞书 → 工作台 → 搜索应用名称 → **打开应用**,完成一次登录。如果已经登录过,请尝试点击右上角菜单,切换账户后重新登录以绑定账号。 + - 确保已购买足够的 License。已使用 License 情况,可以在 控制台 → **费用中心** 查看。 +3. **分派策略飞书群聊列表为空?** + - 前往飞书,在指定群聊会话中添加已创建的 Flashduty 机器人。 + - 回到分派策略配置页面,刷新后重新选择群聊列表。 drawing drawing -4. **飞书自建应用 API 限制?** +4. **飞书自建应用 API 限制?** **调用量限制:** -| 飞书版本 | 调用总量/月 | 刷新时间 | -| :----------: | :--: | :----: | -|基础免费版|10,000 次|每月1日| -|其他版本|不限制|-| +| **飞书版本** | **调用总量/月** | **刷新时间** | +| :---: | :---: | :---: | +| 基础免费版 | 10,000 次 | 每月 1 日 | +| 其他版本 | 不限制 | - | **频控限制:** -| 场景 | 限制 | -| :----------: | :--: | -|所有接口|每个应用最高频率 50 次/秒| -|发消息接口|每个应用最高频率 1000 次/分钟| -|群机器人 Webhook|最高频率 100 次/分钟| -|给同一个用户或同一个群发消息|最高频率 5 次/秒| +| **场景** | **限制** | +| :---: | :--- | +| 所有接口 | 每个应用最高频率 50 次/秒 | +| 发消息接口 | 每个应用最高频率 1000 次/分钟 | +| 群机器人 Webhook | 最高频率 100 次/分钟 | +| 给同一个用户或同一个群发消息 | 最高频率 5 次/秒 | -> 超出 API 调用量限制后,钉钉应用将无法正常推送消息,建议合理使用通知渠道。[飞书文档说明](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/platform-updates-/custom-app-api-call-limit) \ No newline at end of file +> 超出 API 调用量限制后,飞书应用将无法正常推送消息,建议合理使用通知渠道。详见 [飞书官方文档](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/platform-updates-/custom-app-api-call-limit)。 \ No newline at end of file diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" index 2a99e130..4be28dd6 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.2 \351\222\211\351\222\211 Dingtalk \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -4,9 +4,10 @@ description: "通过集成钉钉自建应用,实现在钉钉端内接收和响 date: "2025-05-19T10:00:00+08:00" url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" --- -通过集成钉钉自建应用,实现在钉钉端内接收和响应告警的能力。 -**(本文档以钉钉开放平台新版为例)** +通过集成钉钉自建应用,您可以在钉钉端内接收和响应告警。 + +> 本文档以钉钉开放平台新版为例。
@@ -18,18 +19,19 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide"
-## 一、创建钉钉应用 & 添加钉钉集成 +## 一、创建钉钉应用与添加钉钉集成 + --- ### 1. 创建自建应用 -访问 [钉钉开发者后台](https://open-dev.dingtalk.com/fe/app) → 应用开发 → **企业内部开发** 创建应用。 +访问 [钉钉开发者后台](https://open-dev.dingtalk.com/fe/app) → 应用开发 → **企业内部开发**,创建应用。 -详见钉钉开发文档[创建企业内部应用-H5 微应用](https://open.dingtalk.com/document/orgapp/microapplication-creation-and-release-process#title-ovn-666-1ty) +详见钉钉开发文档 [创建企业内部应用-H5 微应用](https://open.dingtalk.com/document/orgapp/microapplication-creation-and-release-process#title-ovn-666-1ty)。 ![2025-09-10-17-05-48](https://docs-cdn.flashcat.cloud/images/png/aa658afccbf0e92e25071143c792955f.png) -应用图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 +应用图标可使用 [Flashduty 官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 ### 2. 复制企业 `CorpId` @@ -41,7 +43,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" ### 3. 复制应用凭证信息 -进入创建的应用详情界面,通过左侧菜单栏前往 应用能力 → **凭证与基础信息** 页面,复制 `AgentId`、 `Client ID` 和 `Client Secret`。 +进入创建的应用详情界面,通过左侧菜单栏前往 应用能力 → **凭证与基础信息** 页面,复制 `AgentId`、`Client ID` 和 `Client Secret`。 ![2025-09-10-17-10-00](https://docs-cdn.flashcat.cloud/images/png/ac8765ffb106678e1c1a1217e8148567.png) @@ -56,30 +58,31 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" 回到 Flashduty 集成配置页面,在表单中填入对应的 `加密 aes_key` 和 `签名 Token`,点击 **保存** 按钮。 ## 二、配置钉钉应用 + --- -### 1. 添加酷应用、网页应用和机器人 +### 1. 添加应用能力 drawing -1. 创建酷应用。进入 酷应用 → **酷应用列表** 页面,点击 **创建酷应用** 按钮,选择 **扩展到群会话** +1. 创建酷应用。进入 酷应用 → **酷应用列表** 页面,点击 **创建酷应用** 按钮,选择 **扩展到群会话**。 drawing -2. 进入到 **编辑酷应用** 页面,完成以下步骤: - 1. 填写基本信息,图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 +2. 进入 **编辑酷应用** 页面,完成以下步骤: + 1. 填写基本信息。图标可使用 [Flashduty 官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 drawing - 2. 配置功能设计,左侧选中 **群快捷入口** 和 **消息卡片**。群快捷入口图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png),桌面和移动端访问地址请复制集成详情里的 **酷应用网页地址**。 +2. 配置功能设计。在左侧选中 **群快捷入口** 和 **消息卡片**。群快捷入口图标可使用 [Flashduty 官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png),桌面和移动端访问地址请复制集成详情里的 **酷应用网页地址**。 drawing -3. 跳过第三步功能开发,来到第四步 **预览发布**,点击 **发布** 按钮并确认。 +3. 跳过第三步功能开发,进入第四步 **预览发布**,点击 **发布** 按钮并确认。 ### 2. 配置机器人与消息推送 -进入 应用能力 → **机器人** 页面,打开机器人配置,填写名称并上传图标,图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png),保存即可。 +进入 应用能力 → **机器人** 页面,打开机器人配置,填写名称并上传图标,然后点击 **保存**。图标可使用 [Flashduty 官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 drawing @@ -87,7 +90,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" 1. 进入 应用能力 → **网页应用** 页面。 -2. 根据 Flashduty 集成详情中的 `应用首页地址` 和 `PC 端首页地址`,配置 **应用首页地址** 和 **PC 端首页地址**。 完成后点击 **保存**。 +2. 根据 Flashduty 集成详情中的 `应用首页地址` 和 `PC 端首页地址`,配置 **应用首页地址** 和 **PC 端首页地址**。完成后点击 **保存**。 drawing @@ -97,22 +100,22 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" ![2025-09-10-17-14-22](https://docs-cdn.flashcat.cloud/images/png/ad81265339dc1ce50f6a6cb2c4321ee0.png) -2. **保存** 按钮下方,选中 `群会话更换群名称`、`群内安装酷应用` 和 `群内卸载酷应用` 三种群会话事件,配置完成后 **保存**。 +2. 在 **保存** 按钮下方,选中 `群会话更换群名称`、`群内安装酷应用` 和 `群内卸载酷应用` 三种群会话事件,配置完成后点击 **保存**。 drawing ### 5. 申请应用权限 -进入 开发配置 → 权限管理 页面,为先前步骤创建的群应用申请下面的权限: +进入 开发配置 → **权限管理** 页面,为先前步骤创建的群应用申请以下权限: -- `qyapi_chat_manage` :获取群聊信息 +- `qyapi_chat_manage`:获取群聊信息 - `qyapi_robot_sendmsg`:向群聊或个人发送消息 ![2025-09-10-16-47-06](https://docs-cdn.flashcat.cloud/images/png/3d16611b7a2131192808988c64d13585.png) ## 三、配置作战室 -### 1. 配置群模版 +### 1. 配置群模板 通过钉钉开放平台顶部菜单栏,前往 开放能力 → **场景群**。 @@ -120,41 +123,41 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" > 本步骤中配置的 **群机器人** 和 **应用机器人** 是两个不同的概念。群机器人被用于在生成群聊时自动创建群机器人。群机器人和应用机器人拥有不同的 **机器人 ID**。若要为钉钉开启作战室功能,必须额外配置 **群机器人**。 -填写群机器人配置。**消息回调地址**、**消息回调token**、**信息来源网站** 三项配置在 Flashduty 的应用场景中并无实际作用,您可选择任意满足要求的值进行配置。 +填写群机器人配置。**消息回调地址**、**消息回调 token**、**信息来源网站** 三项配置在 Flashduty 的应用场景中并无实际作用,您可选择任意满足要求的值进行配置。 **示例配置**: -| 配置项 | 值 | -| ------------- | ------------------------------------------------------------ | -| 机器人名称 | Flashduty | -| 机器人头像 | [Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png) | -| 简介 | Flashduty | -| 消息预览图 | [Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png) | -| 详细描述 | Flashduty 消息推送机器人。 | -| 消息回调地址 | https://flashcat.cloud/ | -| 消息回调token | token | -| 信息来源网站 | https://flashcat.cloud/ | +| **配置项** | **值** | +| -------------- | --------------------------------------------------------------------------------- | +| 机器人名称 | Flashduty | +| 机器人头像 | [Flashduty 官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png) | +| 简介 | Flashduty | +| 消息预览图 | [Flashduty 官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png) | +| 详细描述 | Flashduty 消息推送机器人。 | +| 消息回调地址 | `https://flashcat.cloud/` | +| 消息回调 token | `token` | +| 信息来源网站 | `https://flashcat.cloud/` | -完成配置后,点击 **创建**,然后点击 **审批**。右上角弹出 “提交成功” 后,钉钉已自动完成群机器人的审批。 +完成配置后,点击 **创建**,然后点击 **审批**。右上角弹出 “提交成功” 后,钉钉已自动完成群机器ンの审批。 ![2025-09-10-15-36-24](https://docs-cdn.flashcat.cloud/images/png/ada57d1f58c50250ee2136a08bf3093c.png) -2. 配置 **群模版**。在左侧菜单栏中选择 **群模版**,点击 **创建群模版**。 +2. 配置 **群模板**。在左侧菜单栏中选择 **群模板**,点击 **创建群模板**。 -将 **企业类型** 设置为 `企业内部`,将 **可选应用** 设置为先前步骤创建的自建应用。然后,在下一步骤中填写模版信息。 +将 **企业类型** 设置为 `企业内部`,将 **可选应用** 设置为先前步骤创建的自建应用。然后,在下一步骤中填写模板信息。 -**模版名称**、**图标**、**描述**、**文案介绍**、**模版描述**、**图片介绍** 等介绍性信息不会影响群模版功能的使用,您可选择任意满足要求的值进行配置。 +**模板名称**、**图标**、**描述**、**文案介绍**、**模板描述**、**图片介绍** 等介绍性信息不会影响群模板功能的使用,您可选择任意满足要求的值进行配置。 **示例配置**: -| 配置项 | 值 | -| -------- | ------------------------------------------------------------ | -| 模版名称 | Flashduty 作战室 | -| 图标 | [Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png) | -| 描述 | 为活跃故障一键创建作战室。 | -| 文案介绍 | 为活跃故障一键创建作战室。 | -| 模版描述 | 为活跃故障一键创建作战室。 | -| 图片介绍 | [Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png) | +| **配置项** | **值** | +| ---------- | --------------------------------------------------------------------------------- | +| 模板名称 | Flashduty 作战室 | +| 图标 | [Flashduty 官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png) | +| 描述 | 为活跃故障一键创建作战室。 | +| 文案介绍 | 为活跃故障一键创建作战室。 | +| 模板描述 | 为活跃故障一键创建作战室。 | +| 图片介绍 | [Flashduty 官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png) | 在 **选择机器人** 配置项中,点击 **选择已创建的机器人**,选择上一步骤中创建的群机器人。其他配置项保持默认。最后点击 **保存编辑**。 @@ -163,15 +166,15 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" 在 **填写灰度群** 步骤中,点击 **创建灰度群**,然后点击 **发布灰度**。 -最后,再次点击左侧菜单栏的 **群模版**,然后点击进入刚才创建的群模版。点击 **提交审核**,待钉钉自动通过审核后,最后点击 **发布**。 +最后,再次点击左侧菜单栏的 **群模板**,然后点击进入刚才创建的群模板。点击 **提交审核**,待钉钉自动通过审核后,最后点击 **发布**。 -3. 在已经发布的群模版详细信息页,复制 **模版 ID** 和 **机器人 ID** 备用。 +3. 在已经发布的群模板详细信息页,复制 **模板 ID** 和 **机器人 ID** 备用。 ![2025-09-10-15-45-42](https://docs-cdn.flashcat.cloud/images/png/3a7750ec7d7cfa05abfe4b8f3f8443fa.png) -### 5. 申请应用权限 +### 2. 申请作战室权限 -进入 权限管理 页面,为先前步骤创建的群应用申请下面的权限: +进入 开发配置 → **权限管理** 页面,为先前步骤创建的群应用申请以下权限: - `qyapi_chat_read`:获取群聊信息 - `qyapi_chat_base_read`:获取群聊信息 @@ -180,32 +183,34 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" ![2025-09-10-16-46-05](https://docs-cdn.flashcat.cloud/images/png/f85793aff8f1d97fe0c6e0259b14e2d7.png) ## 四、应用发布与使用 + --- -完成上述步骤后,进行 应用发布 → **版本管理与发布**,进行创建新版本,然后进行发布。 +完成上述步骤后,前往 应用发布 → **版本管理与发布**,创建新版本并发布。 -> 为了确保所有人可以使用应用,需将应用 **可见范围** 调整为全部员工,再进行应用发布。 +> 为了确保所有人可以使用应用,需将应用 **可见范围** 调整为全部员工,再进行应用发布。 drawing drawing -应用发布后,就可以使用 **手机端 / PC 端** 访问应用。首次访问需要登录并关联(钉钉 ↔ Flashduty)账号,后续可以免登录使用。 +应用发布后,即可通过 **手机端** 或 **PC 端** 访问应用。首次访问需要登录并关联钉钉与 Flashduty 账号,后续可以免登录使用。 -1. 手机端:手机端通过 钉钉 → 工作台 → 搜索应用名称 → 打开应用 使用网页应用。 -2. PC 端:桌面(PC)端通过 钉钉 → 工作台 → 搜索应用名称 → 打开应用 使用网页应用。 +- **手机端**:通过 钉钉 → 工作台 → 搜索应用名称 → **打开应用** 使用网页应用。 +- **PC 端**:通过 钉钉 → 工作台 → 搜索应用名称 → **打开应用** 使用网页应用。 ## 五、常见问题 + --- 1. **消息无法投递到个人,操作记录提示 `未关联应用`?** - - 前往 钉钉 → 工作台 → 搜索应用名称 → 打开应用,完成一次登录并关联(钉钉 ↔ Flashduty)账号,系统才能拿到用户身份进行消息推送 + - 前往 钉钉 → 工作台 → 搜索应用名称 → **打开应用**,完成一次登录以关联钉钉与 Flashduty 账号,系统才能获取用户身份并推送消息。 2. **消息卡片按钮点击无效或报错?** - - 前往 钉钉 → 工作台 → 搜索应用名称 → 打开应用,完成一次登录并关联(钉钉 ↔ Flashduty)账号。如果已经登录过,尝试点击右上角菜单,切换账户,重新登录来绑定账号 - - 确保已购买足够的 license,已使用 license 情况,可以在控制台 → 费用中心查看 + - 前往 钉钉 → 工作台 → 搜索应用名称 → **打开应用**,完成一次登录以关联钉钉与 Flashduty 账号。如果已经登录过,尝试点击右上角菜单,切换账户,重新登录来绑定账号。 + - 确保您已购买足够的 License。已使用 License 情况,可以在 控制台 → **费用中心** 查看。 3. **分派策略钉钉群聊列表为空?** - - 前往 钉钉,选择群聊会话安装酷应用,否则无法拿到群聊列表 - - 回到分派策略配置页面,刷新后重新选择群聊列表 - - 如果仍然拿不到群聊列表,请尝试群内卸载酷应用后,重试以上步骤。如果还不可以,请联系客户或专属技术支持 + - 前往钉钉,选择群聊会话安装酷应用,否则无法获取群聊列表。 + - 回到分派策略配置页面,刷新后重新选择群聊列表。 + - 如果仍然无法获取群聊列表,请尝试在群内卸载酷应用后,重试以上步骤。如果问题依旧,请联系客户或专属技术支持。 drawing drawing @@ -214,10 +219,10 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide" 4. **钉钉自建应用 API 调用量?** -| 钉钉版本 | 调用总量/月 | QPS | 刷新时间 | -| :--------: | :-----------: | :---: | :--------: | -| 标准版 | 10,000 次 | 20 | 每月1日 | -| 专业版 | 50万次 | 40 | 每月1日 | -| 专属版 | 550万次 | 60 | 每月1日 | +| **钉钉版本** | **调用总量/月** | **QPS** | **刷新时间** | +| :----------: | :-------------: | :-----: | :----------: | +| 标准版 | 10,000 次 | 20 | 每月 1 日 | +| 专业版 | 50 万次 | 40 | 每月 1 日 | +| 专属版 | 550 万次 | 60 | 每月 1 日 | -> 超出 API 调用量限制后,钉钉应用将无法正常推送消息,建议合理使用通知渠道。[钉钉文档说明](https://open.dingtalk.com/document/orgapp/descriptions-about-adjusting-limit-and-frequency-of-api-calls?spm=ding_open_doc.document.0.0.6f6b21d9WtkxJI) +> 超出 API 调用量限制后,钉钉应用将无法正常推送消息。建议合理使用通知渠道。详见 [钉钉官方文档](https://open.dingtalk.com/document/orgapp/descriptions-about-adjusting-limit-and-frequency-of-api-calls?spm=ding_open_doc.document.0.0.6f6b21d9WtkxJI)。 diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" index de9726bd..0c0ce32d 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -1,137 +1,147 @@ --- -title: "企业微信集成" -description: "通过集成企业微信第三方应用,实现在企业微信端内接收和响应告警的能力" +title: "企业微信 WeCom 集成" +description: "通过集成企业微信第三方应用,实现在企业微信端接收和响应告警的能力" date: "2025-05-19T10:00:00+08:00" url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" --- -通过集成企业微信应用,实现在企业微信端内接收和响应告警的能力。 +通过集成企业微信应用,您可以在企业微信端内接收和响应告警。 -支持 [集成第三方应用](#third-party) 或 [集成企业自建应用](#self)。 +本文档支持 [集成第三方应用](#third-party) 或 [集成企业自建应用](#self) 两种方式。
## 视频介绍 + --- + +
-> **集成第三方应用** 和 **集成自建应用** 只需按需配置其中之一。 +> **集成第三方应用** 和 **集成自建应用** 两种方式只需按需配置其中一种。 -## 一、企业微信应用授权:集成第三方应用 + +## 一、集成第三方应用 + --- -> Flashduty 作为企业微信服务商,为您提供 FlashDuty 应用的长期免费版本。该应用需要获得企业微信接口调用许可才能使用(免密登录+消息发送)。 +> Flashduty 作为企业微信服务商,为您提供 Flashduty 应用的长期免费版本。该应用需要获得企业微信接口调用许可才能使用(免密登录 + 消息发送)。 > -> 该许可目前支持 **最多60天** 免费,超出该使用时长后我们必须为您购买企微许可,方可继续使用。 +> 该许可目前支持 **最多 60 天** 免费,超出该使用时长后,Flashduty 需要为您购买企业微信许可,您方可继续使用。 -1. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 应用,选择 **添加第三方应用**。 +1. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps),进入 应用管理 → **应用** 页面,点击 **添加第三方应用**。 -![2025-09-11-14-38-18](https://docs-cdn.flashcat.cloud/images/png/c02371e3e2e63ed54687127e9d1e5130.png) + ![2025-09-11-14-38-18](https://docs-cdn.flashcat.cloud/images/png/c02371e3e2e63ed54687127e9d1e5130.png) -2. 搜索栏输入 **FlashDuty**,检索到应用,并点击 **添加** 按钮。 +2. 在搜索栏输入 `Flashduty`,检索到应用后,点击 **添加** 按钮。 -![2025-09-11-14-39-06](https://docs-cdn.flashcat.cloud/images/png/6e476fa462d64e4b2fca9350aec3163f.png) + ![2025-09-11-14-39-06](https://docs-cdn.flashcat.cloud/images/png/6e476fa462d64e4b2fca9350aec3163f.png) -3. 修改应用 **可见范围**,推荐选择全员或具体部门节点,防止新增企业成员时仍需修改应用可见范围。点击 **同意以上授权并添加**,完成安装。 +3. 修改应用 **可见范围**,推荐选择全员或具体部门节点,以避免新增企业成员时仍需修改。然后,点击 **同意以上授权并添加** 完成安装。 -![2025-09-11-14-41-43](https://docs-cdn.flashcat.cloud/images/png/4b4d8bfbf7d97e3bcbd4ace800ff4390.png) + ![2025-09-11-14-41-43](https://docs-cdn.flashcat.cloud/images/png/4b4d8bfbf7d97e3bcbd4ace800ff4390.png) -4. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 我的企业 页面,获取 **企业ID** 。 +4. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps),进入 **我的企业** 页面,获取 `企业 ID`。 -![2025-09-11-14-45-59](https://docs-cdn.flashcat.cloud/images/png/cc887d8f20433c0427c15ef4f377578c.png) + ![2025-09-11-14-45-59](https://docs-cdn.flashcat.cloud/images/png/cc887d8f20433c0427c15ef4f377578c.png) -5. 前往 Flashduty 集成配置页面,填写先前步骤获取的 **企业ID**,点击保存后,完成集成配置。 +5. 返回 Flashduty 集成配置页面,填写上一步获取的 `企业 ID`,点击 **保存** 完成集成。 -## 二、企业微信应用授权:集成自建应用 +## 二、集成企业自建应用 + --- -1. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 第三方 → 创建应用 +1. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps),进入 应用管理 → **应用** 页面,点击 **创建应用**。 -![2025-09-09-17-06-46](https://docs-cdn.flashcat.cloud/images/png/06dc41d1f832619fce3e7c87fba03ced.png) + ![2025-09-09-17-06-46](https://docs-cdn.flashcat.cloud/images/png/06dc41d1f832619fce3e7c87fba03ced.png) -2. 配置 **应用logo**、**应用名称** 和 **应用可见范围**。 +2. 配置 **应用 Logo**、**应用名称** 和 **应用可见范围**。 -![2025-09-09-17-07-51](https://docs-cdn.flashcat.cloud/images/png/18cc9e9e35da7a71da70ca656d5d9814.png) + ![2025-09-09-17-07-51](https://docs-cdn.flashcat.cloud/images/png/18cc9e9e35da7a71da70ca656d5d9814.png) -3. 回到 Flashduty 集成配置页面,根据情况选择企业微信是否为 `非私有化部署版本`。 +3. 返回 Flashduty 集成配置页面,根据您的实际情况选择企业微信是否为 `非私有化部署版本`。 -若企业微信为私有化部署版本,需要在配置页面中填写 `Endpoint`。此地址需要能够被 Flashduty 服务所访问,您可以考虑实现 **白名单授权**。 + 若您的企业微信为私有化部署版本,则需要在配置页面中填写 `Endpoint`。此地址需要能够被 Flashduty 服务访问,您可以考虑为其设置 **白名单授权**。 -4. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 我的企业,获取 `企业ID`。回到 Flashduty 集成配置页面,填写该配置项。 +4. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps),进入 **我的企业** 页面,获取 `企业 ID`,并将其填写至 Flashduty 集成配置页面。 -5. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用,获取 `AgentId`。回到 Flashduty 集成配置页面,填写该配置项。 +5. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps),进入 应用管理 → **您的应用** 页面,获取 `AgentId`,并将其填写至 Flashduty 集成配置页面。 -6. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用,获取 `Secret`。回到 Flashduty 集成配置页面,填写该配置项。 +6. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps),进入 应用管理 → **您的应用** 页面,获取 `Secret`,并将其填写至 Flashduty 集成配置页面。 -7. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 网页授权及JS-SDK → 设置可信域名,配置 **可作为应用OAuth2.0网页授权功能的回调域名**。 +7. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps),进入 应用管理 → 您的应用 → **网页授权及 JS-SDK** 页面,**设置可信域名**,配置 **可作为应用 OAuth 2.0 网页授权功能的回调域名**。 -> 可信域名需要指向 Flashduty 的后端地址 `{api_host}`(CNAME或代理转发)。 -> -> 关于可信域名的要求,详见企业微信官方文档[企业内部开发配置域名指引](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754)。 + > 可信域名需要指向 Flashduty 的后端地址 `{api_host}`(可通过 CNAME 或代理转发实现)。 + > + > 关于可信域名的要求,详见企业微信官方文档 [《企业内部开发配置域名指引》](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754)。 -![2025-09-09-17-09-05](https://docs-cdn.flashcat.cloud/images/png/d8f2d78c310330d2b27cd0f744e5733c.png) + ![2025-09-09-17-09-05](https://docs-cdn.flashcat.cloud/images/png/d8f2d78c310330d2b27cd0f744e5733c.png) -回到 Flashduty 集成配置页面,填写该配置项,然后完成可信域名的验证。 + 返回 Flashduty 集成配置页面,填写该域名,并完成验证。 -8. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 接收消息 → 设置API接收,分别对 `Token` 和 `EncodingAESKey` 点击 **随机获取**,复制保存生成的 `Token` 和 `EncodingAESKey`。 +8. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps),进入 应用管理 → 您的应用 → **接收消息** 页面,**设置 API 接收**,分别对 `Token` 和 `EncodingAESKey` 点击 **随机获取**,并复制保存生成的 `Token` 和 `EncodingAESKey`。 -![2025-09-09-17-12-13](https://docs-cdn.flashcat.cloud/images/png/b689fe99780788309b327ffb5faee50b.png) + ![2025-09-09-17-12-13](https://docs-cdn.flashcat.cloud/images/png/b689fe99780788309b327ffb5faee50b.png) -回到 Flashduty 集成配置页面,填写保存的 Token 和 EncodingAESKey,点击 **保存** 完成集成配置。 + 返回 Flashduty 集成配置页面,填写已保存的 `Token` 和 `EncodingAESKey`,点击 **保存** 完成集成。 -9. 复制 Flashduty 集成详情中的 `回调地址`,回到 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) → 应用管理 → 您的应用 → 接收消息 → 设置API接收,填写并保存 URL 和 **先前步骤暂存的** `Token`、`EncodingAESKey`。 +9. 复制 Flashduty 集成详情页中的 `回调地址`,返回 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps),进入 应用管理 → 您的应用 → **接收消息** 页面,**设置 API 接收**,填入该 `回调地址` 以及上一步保存的 `Token` 和 `EncodingAESKey`,并点击 **保存**。 -![2025-09-09-17-13-14](https://docs-cdn.flashcat.cloud/images/png/c3534c0afd8c5b868c943162acd2b6a8.png) + ![2025-09-09-17-13-14](https://docs-cdn.flashcat.cloud/images/png/c3534c0afd8c5b868c943162acd2b6a8.png) ## 三、配置作战室 + --- -作战室功能仅支持**企业自建应用**开启。在 Flashduty 集成配置页面的 **增强功能** 中勾选开启作战室,即可启用功该功能,无需额外配置。 +> 作战室功能仅支持在 **企业自建应用** 模式下开启。 + +在 Flashduty 集成配置页面的 **增强功能** 模块,勾选 **开启作战室** 即可启用该功能,无需额外配置。 ## 四、常见问题 + --- -1. **点击集成保存按钮,报错 `authorize app first`?** +1. **点击集成保存按钮后,系统报错 `authorize app first`?** - - 请检查您是否完成应用的安装步骤,比如您是否可以在工作台看到 FlashDuty 这个应用 - - 请检查您是否正确配置了 `Corp ID` +- 请检查您是否已完成应用的安装步骤。例如,您是否可以在企业微信工作台中看到 Flashduty 应用。 +- 请检查您是否正确配置了 `Corp ID`。 -2. **如何完成账户关联?或消息发送提示 `未关联应用`?** +2. **如何完成账户关联或消息发送提示 `未关联应用`?** - - 登入企业微信客户端(桌面端和移动端均可),进入 **工作台**,找到并进入应用 FlashDuty - - 首次进入应用需要登录,选择成员账号 → 密码或单点登录,登入成功后,即完成 Flashduty 到 **企业微信** 账户关联 - - 后续进入应用将免密登录 +- 登录企业微信客户端(桌面端和移动端均可),进入 **工作台**,找到并打开 Flashduty 应用。 +- 首次进入应用需要登录。选择您的成员账号,通过密码或单点登录方式登入成功后,即可完成 Flashduty 账号与企业微信账号的关联。 +- 后续进入应用将自动免密登录。 -3. **如何进行故障通知?** +3. **如何发送故障通知?** - - 必须参照问题 1,先完成账户关联,才能发送通知 - - 进入某个协作空间详情页面 → 分派策略,在个人渠道部分,选择通知到企业微信集成,完成通知配置 - - 支持对企业微信通知内容进行自定义,您前往模板管理页面,设定自定义模板。**自定义区域展示行数最多 8 行**,超出文本将会被企业微信截断 +- 发送通知前,必须参照上一问题完成账户关联。 +- 进入指定协作空间,导航至 分派策略 → **个人渠道**,选择 `企业微信` 作为通知方式即可。 +- Flashduty 支持对企业微信通知内容进行自定义。您可以前往 **模板管理** 页面,设定自定义模板。**自定义区域最多可展示 8 行**,超出部分将被企业微信截断。 - drawing + drawing -4. **如何在微信内处理告警?** +4. **如何在企业微信内处理告警?** - - 点击卡片消息,直接进入告警详情页面 - - 点击 开始处理,直接将告警置为 `处理中` 状态 - - 点击 直接关闭,直接将告警置为 `已关闭` 状态 - - 点击 屏蔽2小时,直接将告警屏蔽 2 小时;如果想屏蔽更多时间,点击卡片右上角 `...` 查看更多屏蔽选项 +- 点击卡片消息,可直接进入告警详情页面。 +- 点击 **开始处理**,可直接将告警置为 `处理中` 状态。 +- 点击 **直接关闭**,可直接将告警置为 `已关闭` 状态。 +- 点击 **屏蔽 2 小时**,可直接将告警屏蔽 2 小时。如果想屏蔽更长时间,可点击卡片右上角的 `...` 查看更多屏蔽选项。 5. **为什么卡片消息提供了 `状态刷新` 按钮?** - - 企业微信限制一次卡片交互后 72 小时只可更新一次。每一次按钮操作,都是一次交互 - - 当告警的状态发生变化时,Flashduty 会请求卡片内容更新 - - 当告警状态频繁变化时,可能因为超过更新次数限制,导致卡片无法实时更新,这时可以点击刷新按钮,来获得一次更新卡片状态机会 +- 根据企业微信的限制,一次卡片交互后,72 小时内只可更新一次。每一次按钮操作,都视为一次交互。 +- 当告警状态发生变化时,Flashduty 会请求更新卡片内容。 +- 当告警状态频繁变化时,可能因超出更新次数限制导致卡片无法实时更新。此时,您可以点击 **刷新** 按钮,手动获取一次更新卡片状态的机会。 -6. **Mac 桌面端点击卡片消息如何使用 `系统默认浏览器` 打开?** +6. **在 Mac 桌面端,如何设置点击卡片消息时使用 `系统默认浏览器` 打开?** - - Mac 桌面端默认使用端内浏览器打开链接 - - 您可以尝试快捷键 `ctrl` + `command` + `shift` + `d` 开启调试模式,然后选择 调试 → 浏览器、webView相关 → 系统浏览器打开网页,来更改链接打开模式。使用同样的快捷键可以关闭调试模式,并保持设置 +- Mac 桌面端默认使用企业微信的内置浏览器打开链接。 +- 您可以尝试使用快捷键 `ctrl` + `command` + `shift` + `d` 开启调试模式,然后选择 **调试** → **浏览器、webView 相关** → **系统浏览器打开网页**,来更改链接的打开方式。使用相同的快捷键可以关闭调试模式,设置将会保留。 -7. **故障通知失败,提示 `未开通企微许可` ?** +7. **故障通知失败,并提示 `未开通企微许可`?** - - 联系 Flashduty 客服或专属支持,为您购买开通 +- 请联系 Flashduty 客服或您的专属技术支持,为您购买并开通许可。 diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.4 Slack \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.4 Slack \351\233\206\346\210\220\346\214\207\345\274\225.md" index 95231e6e..7f47c6ba 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.4 Slack \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.4 Slack \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -1,55 +1,46 @@ --- title: "Slack 集成" -description: "通过集成Slack第三方应用,实现在Slack内接收和响应告警的能力" +description: "通过集成 Slack 第三方应用,您可以在 Slack 内接收和响应告警。" date: "2025-05-19T10:00:00+08:00" url: "https://docs.flashcat.cloud/zh/flashduty/slack-integration-guide" --- -通过集成Slack第三方应用,实现在Slack内接收和响应告警的能力。 +通过集成 Slack 第三方应用,您可以在 Slack 内接收和响应告警。 ## 一、安装应用 ---- - -1. 访问 FlashDuty `集成中心` - `即时消息` - `Slack` - `添加` - -2. 页面跳转到Slack的界面,右上角选择 `工作区` ,然后点击 `允许` - -drawing -3. 输入数据源名称,点击 `保存` - - -## 二、常见问题 --- -1. **分派策略的群聊列表中没有想要的私有频道** - - 添加应用到频道,需要 步骤一 `安装应用` 未报错 - - 进入到 slack 相关的频道中, 执行 `/invite @FlashDuty` , 提示 `已加入` 或 `已由 xx 添加至 xxx`, 表明添加成功 +1. 访问 Flashduty 集成中心 → 即时消息 → **Slack**,点击 **添加**。 +2. 在跳转的 Slack 页面,于右上角选择 **工作区**,然后点击 **允许**。 + drawing +3. 输入数据源名称,点击 **保存**。 -2. **分派策略的群聊列表中没有想要的公共频道** - - 将应用授权人添加到公共频道中 - - 或者参考 `常见问题 1` 将应用添加到频道中 - -3. **点击 安装步骤2的 允许 按钮,报错** - - 重新操作,可能是服务器跟 Slack 通信有问题,导致授权出现问题,回到添加数据源页面重新操作 - - 重试后仍然报错,联系客服 - -4. **点击 安装步骤3的 保存 按钮,报错** - - 重新操作,可能是服务器跟 Slack 通信有问题,FlashDuty去获取永久授权码错误,回到添加数据源页面重新操作 - - 重试后仍然报错,联系客服 - -5. **Slack App 内 not_authed,报错** - - 重新操作,可能是 Slack 服务有问题 - - 重试后仍然报错,联系客服 - -6. **Slack App 内 Operation timed out,报错** - - 重新操作,可能是服务器跟 Slack 超时了,可能是服务器与 Slack 通信出现了问题 - - 重试后仍然报错,联系客服 +## 二、常见问题 -7. **Slack App 内 This app responded with Status Code 500,报错** - - 重新操作,可能是服务报错了,例如 数据源被关闭了 - - 重试后仍然报错,联系客服 +--- -8. **Slack App 内 Other questions,报错** - - 重新操作,遇到了还没被记录的问题 - - 重试后仍然报错,联系客服 \ No newline at end of file +1. **分派策略的群聊列表中没有想要的私有频道?** + - 确保 **安装应用** 步骤已成功完成且未报错。 + - 进入相关的 Slack 频道,执行 `/invite @Flashduty` 命令。当看到 `已加入` 或 `已由 xxx 添加至 xxx` 的提示时,即表示添加成功。 +2. **分派策略的群聊列表中没有想要的公共频道?** + - 将应用授权人添加到公共频道中。 + - 参考 **常见问题 1** 的方法,将应用添加到频道中。 +3. **点击安装步骤 2 的“允许”按钮后报错?** + - 请重新操作。这可能是由于服务器与 Slack 通信异常导致授权失败。请返回添加数据源页面重试。 + - 如果重试后仍然报错,请联系客服。 +4. **点击安装步骤 3 的“保存”按钮后报错?** + - 请重新操作。这可能是由于 Flashduty 服务器在获取永久授权码时与 Slack 通信异常。请返回添加数据源页面重试。 + - 如果重试后仍然报错,请联系客服。 +5. **Slack App 提示 `not_authed` 错误?** + - 请重新操作,这可能是 Slack 服务暂时出现问题。 + - 如果重试后仍然报错,请联系客服。 +6. **Slack App 提示 `Operation timed out` 错误?** + - 请重新操作。这可能是服务器与 Slack 通信超时。 + - 如果重试后仍然报错,请联系客服。 +7. **Slack App 提示 `This app responded with Status Code 500` 错误?** + - 请重新操作。这可能是 Flashduty 服务端出现错误(例如,数据源被关闭)。 + - 如果重试后仍然报错,请联系客服。 +8. **Slack App 提示其他未知错误?** + - 请重新操作。 + - 如果重试后仍然报错,请联系客服以记录和解决新问题。 diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.5 Microsoft Teams \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.5 Microsoft Teams \351\233\206\346\210\220\346\214\207\345\274\225.md" index c7c49c9d..63320b68 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.5 Microsoft Teams \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.5 Microsoft Teams \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -1,131 +1,107 @@ --- -title: "Microsoft Teams集成" -description: "通过集成 Microsoft Teams 第三方应用,实现在 Microsoft Teams 内接收和响应告警的能力" +title: "Microsoft Teams 集成" +description: "通过集成 Microsoft Teams 第三方应用,您可以在 Microsoft Teams 内接收和响应告警。" date: "2025-05-19T10:00:00+08:00" url: "https://docs.flashcat.cloud/zh/flashduty/microsoft-teams-integration-guide" --- +通过集成 Microsoft Teams 第三方应用,您可以在 Microsoft Teams 内接收和响应告警。 -通过集成 Microsoft Teams 第三方应用,实现在 Microsoft Teams 内接收和响应告警的能力。 -## 一、安装/更新应用 +## 一、安装与更新应用 --- -Microsoft Teams 集成现处于 Beta 阶段,在关联前您需要先完成以下操作: +Microsoft Teams 集成现处于 Beta 阶段,在关联前您需要先完成以下操作。 ::: caution -此步骤需由 Microsoft Teams 管理员完成 +此步骤需由 Microsoft Teams 管理员完成。 ::: ### 1. 下载应用 -将 [FlashDutyBot-v1.0.3.zip](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/docs/FlashdutyBot-v1.0.3.zip) 下载到本地 +将 [FlashDutyBot-v1.0.3.zip](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/docs/FlashdutyBot-v1.0.3.zip) 下载到本地。 ### 2. 安装应用 -进入 **Microsoft Teams,跳转 [+Apps] - [Manage your apps] - [Upload an app] - [Upload an app to your org's app catalog]** 上传应用包 FlashDutyBot.zip - +进入 Microsoft Teams,导航至 +Apps → Manage your apps → Upload an app → **Upload an app to your org's app catalog**,然后上传应用包 `FlashDutyBot.zip`。 ![](https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/integration/microsoft-teams/upload-app.png) #### 配置应用可见范围 -进入 [Microsoft Teams 管理中心](https://admin.teams.microsoft.com/policies/manage-apps),找到 FlashDuty 应用,将应用可见范围调整为所有人(或者您自定义的范围) +进入 [Microsoft Teams 管理中心](https://admin.teams.microsoft.com/policies/manage-apps),找到 Flashduty 应用,将应用可见范围调整为所有人或您指定的范围。 ::: tip -如遇到应用状态为 [已阻止],请稍等片刻后刷新页面或手动修改 +如遇到应用状态为“已阻止”,请稍等片刻后刷新页面或手动修改。 ::: ![](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/install-bot-2.png) #### 查看是否添加成功 -等待几分钟,组织成员即可在 [+Apps] - [Built for your org] 找到此应用集成 +等待几分钟,组织成员即可在 +Apps → **Built for your org** 找到此应用。 ![](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/find-bot.png) ### 3. 更新应用 ::: caution -若您已安装应用版本低于 1.0.3,请按照以下流程更新 +若您已安装的应用版本低于 1.0.3,请按照以下流程更新。 ::: -进入 [Microsoft Teams 管理中心](https://admin.teams.microsoft.com/policies/manage-apps),找到并进入 FlashDuty 应用详情页 - +1. 进入 [Microsoft Teams 管理中心](https://admin.teams.microsoft.com/policies/manage-apps),找到并进入 Flashduty 应用详情页。 ![update-bot-1](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/update-bot-1.png) -上传新版 FlashdutyBot.zip - +2. 上传新版 `FlashdutyBot.zip`。 ![update-bot-2](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/update-bot-2.png) -等待客户端内应用版本更新(可能需要几十分钟) - +3. 等待客户端内应用版本更新(可能需要几十分钟)。 ![update-bot-3](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/update-bot-3.png) -## 二、关联团队 - -### 1. 添加 FlashDuty 应用到目标 Team 中 - -#### 1.1 找到 FlashDuty 应用 -如无应用,请联系您的 Microsoft Teams 组织管理员 - +## 二、关联团队 (Team) +--- +### 1. 添加 Flashduty 应用 +1. 在应用市场中找到 Flashduty 应用。 +> 如无应用,请联系您的 Microsoft Teams 组织管理员。 ![link-bot](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-1.png) - -#### 1.2 添加到目标 Team +2. 将应用添加到目标 Team。 ::: caution -注意:此步必须选择目标 Team 的 General Channel,否则将无法发送故障到 Team 中 +此步骤必须选择目标 Team 的 General Channel,否则将无法发送故障到 Team 中。 ::: - ![link-bot-team-1](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-team-1.png) ### 2. 发送关联指令 -@FlashDuty 并发送 linkTeam {ID} 到添加的 Team 中,点击立即关联 +在 Team 中 @Flashduty 并发送指令 `linkTeam {ID}`,然后点击 **立即关联**。 ![link-bot-team-2](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-team-2.png) -## 三、关联团队 - -### 1. 添加 FlashDuty 应用到目标 Chat 中 - -#### 1.1 找到 FlashDuty 应用 -如无应用,请联系您的 Microsoft Teams 组织管理员 - +## 三、关联群聊 (Chat) +--- +### 1. 添加 Flashduty 应用 +1. 在应用市场中找到 Flashduty 应用。 +> 如无应用,请联系您的 Microsoft Teams 组织管理员。 ![link-bot](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-1.png) - -#### 1.2 添加到目标 Chat - +2. 将应用添加到目标 Chat。 ![link-bot-chat-1](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-chat-1.png) - ### 2. 发送关联指令 -@FlashDuty 并发送 linkChat {ID} {ChatName} 到添加的 Team 中,点击立即关联 +在 Chat 中 @Flashduty 并发送指令 `linkChat {ID} {ChatName}`,然后点击 **立即关联**。 ![link-bot-chat-2](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-chat-2.png) - - ## 四、关联用户 - -### 1. 添加 FlashDuty 应用 - -#### 1.1 找到 FlashDuty 应用 -如无应用,请联系您的 Microsoft Teams 组织管理员 - +--- +### 1. 添加 Flashduty 应用 +1. 在应用市场中找到 Flashduty 应用。 +> 如无应用,请联系您的 Microsoft Teams 组织管理员。 ![link-bot](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-1.png) - -#### 1.2 点击打开应用 +2. 点击 **打开应用**。 ![link-bot-user-1](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-user-1.png) ### 2. 发送关联指令 -复制指令:linkUser {} 发送到聊天中,再点击立即关联 +复制并发送指令 `linkUser {}` 到聊天中,然后点击 **立即关联**。 ![link-bot-user-2](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-user-2.png) -## 常见问题 -
-团队或个人收不到消息 -请前往集成中心=>即时消息=>Microsoft Teams中的团队和用户是否有关联成功 -
- -
-怎么查看已关联的团队和用户 -请前往集成中心=>即时消息=>Microsoft Teams中的关联Teams和关联用户中查看 -
- -
-怎么取消关联的团队和用户 -暂不支持 -
+## 五、常见问题 +--- + +1. **团队或个人收不到消息?** + - 请前往 集成中心 → 即时消息 → **Microsoft Teams**,检查团队和用户是否已成功关联。 +2. **如何查看已关联的团队和用户?** + - 请前往 集成中心 → 即时消息 → **Microsoft Teams**,在 **关联 Teams** 和 **关联用户** 中查看。 +3. **如何取消已关联的团队和用户?** + - 暂不支持此功能。 diff --git a/instructions.md b/i18n_instructions.md similarity index 100% rename from instructions.md rename to i18n_instructions.md diff --git a/polish_instructions.md b/polish_instructions.md new file mode 100644 index 00000000..17ddd130 --- /dev/null +++ b/polish_instructions.md @@ -0,0 +1,105 @@ +# 角色:SaaS 产品文档专家 + +您是一位顶级的 SaaS 产品技术文档工程师,专长是将原始功能说明转化为清晰、准确、用户友好的产品文档。您的核心任务是在不改变原文技术内核的前提下,对中文文档进行专业级润色。 + +# 核心任务:润色中文产品文档 + +严格遵循本指引,对指定的中文 `.md` 文档进行润色。 + +# 核心原则 + +1. **忠于原文**: **严禁改变原文的技术含义、操作步骤和核心信息。** 润色重点在于优化表达、格式和结构,而非内容创作或重新组织。 +2. **用户中心**: 以终端用户为中心,确保文档清晰易懂,能帮助他们快速解决问题。 +3. **专业严谨**: 保证技术术语的准确性和一致性,格式规范统一。 + +# 标准操作流程 (SOP) + +请严格按照以下步骤执行: + +1. **分析文档结构**: 根据本指引分析当前文档的整体结构(标题层级、章节顺序),识别需要优化的章节组织。判断是否符合“总-分-总”逻辑。**仅在结构严重混乱时才进行微调**,通常应保持原状。 +2. **优化内容结构与表达**: + - **优化段落结构**:调整段落内部的逻辑和信息层次,确保每个段落聚焦一个核心主题,使表达更清晰。 + - **优化语言表达**:逐句精炼语言,使其更专业、简洁、易读。遵循下文【语言风格】和【语法与表达规范】。 +3. **格式与术语标准化**: 严格按照【格式规范】和【术语使用】部分,对全文进行格式化,并统一所有技术术语。 +4. **质量自检**: 完成润色后,根据【质量检查清单】进行最后复核。 + +# 格式规范 + +文档应以 Markdown 格式呈现,严格遵循以下结构化格式。**除此外,不应出现其他格式。** + +| 格式类型 | 格式示例 | 核心用途与要求 | +| ----------------- | -------------------------------- | ---------------------------------------------------------------------------------------------------- | +| YAML Front Matter | `---` 包围的区域 | 定义文档元数据,如 `title`、`description`。必须保留。 | +| 二级标题 | `## 章节标题` | 构建文档主要框架。`##`后必须有 1 个空格。 | +| 三级标题 | `### 步骤标题` | 细分章节内容,通常用于操作步骤。`###`后必须有 1 个空格。 | +| 分隔线 | `---` | 在不同逻辑章节之间提供视觉分隔,增强层次感。 | +| 有序列表 | `1. 列表项` | 展示需要按顺序执行的操作步骤。注 | +| 无序列表 | `- 列表项` | 列举功能特性、配置选项等无序信息。 | +| 缩进 | ` - 嵌套列表项` | 用于创建层级结构(如嵌套列表)。每个缩进层级使用 2 个半角空格。 | +| **粗体文本** | `**文本内容**` | 突出显示 UI 元素(如按钮名、菜单项)、关键概念或警告信息。**文本两侧必须有空格**,除非紧跟标点符号。 | +| `行内代码` | `` `代码内容` `` | 标识技术术语、参数名、配置项、状态值(如 `AgentId`、`Secret`)。 | +| > 引用块 | `> 文本内容` | 突出显示重要提示、前置条件或警告信息。 | +| 图片 | `![图片描述](图片地址)` | 直观展示操作界面和预期结果。**禁止修改图片地址。** | +| 链接 | `[链接文本](链接地址)` | 引用相关文档或外部资源。**禁止修改链接地址。** | +| 表格 | `| Head | Text |` | 用于结构化地展示数据,如参数对比、配置说明等。表格第一行(标题行)应该加粗 | +| 页面内引用 | `[文本内容](#anchor_id)` | 引用页面内内容。当出现页面短文本内容引用页面内段落时,可以考虑添加页面内引用。 | +| HTML `` | `` | 用于页面内锚点定位,必须保留。 | +| HTML `
diff --git "a/flashduty/zh/1. On-call/1. \345\277\253\351\200\237\345\274\200\345\247\213/1.3 \345\270\270\350\247\201\351\227\256\351\242\230.md" "b/flashduty/zh/1. On-call/1. \345\277\253\351\200\237\345\274\200\345\247\213/1.3 \345\270\270\350\247\201\351\227\256\351\242\230.md" index de57f80f..4f23f3ca 100644 --- "a/flashduty/zh/1. On-call/1. \345\277\253\351\200\237\345\274\200\345\247\213/1.3 \345\270\270\350\247\201\351\227\256\351\242\230.md" +++ "b/flashduty/zh/1. On-call/1. \345\277\253\351\200\237\345\274\200\345\247\213/1.3 \345\270\270\350\247\201\351\227\256\351\242\230.md" @@ -71,8 +71,22 @@ url: "https://docs.flashcat.cloud/zh/flashduty/frequently-asked-questions" 取决于推送地区,您可下载 Flashduty On-call app 并授权自动同步联系方式: - 中国大陆:(010)21364727、(021)32017538、(010)21364713 和 (010)21364708 - - 美国、加拿大:**13152319335** - - 印度尼西亚、德国、马来西亚、澳大利亚、新加坡、泰国、俄罗斯、韩国、沙特阿拉伯、越南、日本、中国香港、中国台湾:**随机号码** + - 中国大陆以外: + | 国家/地区 | 显示号码 | + | --- | --- | + | 美国/加拿大 | 16465861127 | + | 英国 | 16465861127 | + | 法国 | 16465861127 | + | 德国 | 16465861127 | + | 中国香港 | 16465861127 | + | 中国台湾 | 16465861127 | + | 印度 | 16465861127 | + | 日本 | 16465861127 | + | 马来西亚 | 16465861127 | + | 新加坡 | 16465861127 | + | 菲律宾 | 16465861127 | + | 以色列 | 16465861127 | + | 澳大利亚 | 16465861127 | - 其他区域暂不支持推送语音,如果您有需求,请联系我们:[support@flashcat.cloud](mailto:support@flashcat.cloud)
From fbec458bebe6d6828d6d8eb5ccf532102f6548b7 Mon Sep 17 00:00:00 2001 From: alick-liming Date: Mon, 22 Sep 2025 18:47:27 +0800 Subject: [PATCH 67/86] optimize outside china region display number --- .../1. On-call/1. Getting Started/1.3 FAQ.md | 18 ++++++++++++++++-- ...270\350\247\201\351\227\256\351\242\230.md" | 18 ++++++++++++++++-- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/flashduty/en/1. On-call/1. Getting Started/1.3 FAQ.md b/flashduty/en/1. On-call/1. Getting Started/1.3 FAQ.md index 4c1f642a..b8b8d986 100644 --- a/flashduty/en/1. On-call/1. Getting Started/1.3 FAQ.md +++ b/flashduty/en/1. On-call/1. Getting Started/1.3 FAQ.md @@ -67,8 +67,22 @@ Flashduty On-call's pricing model is based on the number of licenses purchased, It depends on the region where notifications are sent. You can download the Flashduty On-call app and authorize automatic contact synchronization: - Mainland China: (010)21364727, (021)32017538, (010)21364713 and (010)21364708 - - United States, Canada: **13152319335** - - Indonesia, Germany, Malaysia, Australia, Singapore, Thailand, Russia, South Korea, Saudi Arabia, Vietnam, Japan, Hong Kong, Taiwan: **Random numbers** + - Outside Mainland China: + | Country/Region | Display Number | + | --- | --- | + | United States/Canada | 16465861127 | + | United Kingdom | 16465861127 | + | France | 16465861127 | + | Germany | 16465861127 | + | China Hong Kong | 16465861127 | + | China Taiwan | 16465861127 | + | India | 16465861127 | + | Japan | 16465861127 | + | Malaysia | 16465861127 | + | Singapore | 16465861127 | + | Philippines | 16465861127 | + | Israel | 16465861127 | + | Australia/Cocos/Christmas Island | 16465861127 | - Other regions are not currently supported for voice notifications. If you have requirements, please contact us: [support@flashcat.cloud](mailto:support@flashcat.cloud)
diff --git "a/flashduty/zh/1. On-call/1. \345\277\253\351\200\237\345\274\200\345\247\213/1.3 \345\270\270\350\247\201\351\227\256\351\242\230.md" "b/flashduty/zh/1. On-call/1. \345\277\253\351\200\237\345\274\200\345\247\213/1.3 \345\270\270\350\247\201\351\227\256\351\242\230.md" index de57f80f..4f23f3ca 100644 --- "a/flashduty/zh/1. On-call/1. \345\277\253\351\200\237\345\274\200\345\247\213/1.3 \345\270\270\350\247\201\351\227\256\351\242\230.md" +++ "b/flashduty/zh/1. On-call/1. \345\277\253\351\200\237\345\274\200\345\247\213/1.3 \345\270\270\350\247\201\351\227\256\351\242\230.md" @@ -71,8 +71,22 @@ url: "https://docs.flashcat.cloud/zh/flashduty/frequently-asked-questions" 取决于推送地区,您可下载 Flashduty On-call app 并授权自动同步联系方式: - 中国大陆:(010)21364727、(021)32017538、(010)21364713 和 (010)21364708 - - 美国、加拿大:**13152319335** - - 印度尼西亚、德国、马来西亚、澳大利亚、新加坡、泰国、俄罗斯、韩国、沙特阿拉伯、越南、日本、中国香港、中国台湾:**随机号码** + - 中国大陆以外: + | 国家/地区 | 显示号码 | + | --- | --- | + | 美国/加拿大 | 16465861127 | + | 英国 | 16465861127 | + | 法国 | 16465861127 | + | 德国 | 16465861127 | + | 中国香港 | 16465861127 | + | 中国台湾 | 16465861127 | + | 印度 | 16465861127 | + | 日本 | 16465861127 | + | 马来西亚 | 16465861127 | + | 新加坡 | 16465861127 | + | 菲律宾 | 16465861127 | + | 以色列 | 16465861127 | + | 澳大利亚 | 16465861127 | - 其他区域暂不支持推送语音,如果您有需求,请联系我们:[support@flashcat.cloud](mailto:support@flashcat.cloud)
From 100827706fb5817a57cdd049e468dde45d4da48a Mon Sep 17 00:00:00 2001 From: Fiona Date: Wed, 24 Sep 2025 19:34:31 +0800 Subject: [PATCH 68/86] feat: update docs --- .../2. RUM/5. Session Explorer/1. Overview.md | 55 +++++ .../5. Session Explorer/2. Data Query.md | 147 ++++++++++++ .../1. Overview.md | 0 .../2. SDK Configuration.md | 0 .../3. View Session Replay.md | 0 .../4. Privacy Protection.md | 0 .../1. Terminology.md | 0 .../2. Data Collection.md | 0 .../4. Data Security.md | 0 .../1. Distributed Tracing.md | 219 ++++++++++++++++++ .../1. \346\246\202\350\247\210.md" | 0 ...60\346\215\256\346\237\245\350\257\242.md" | 0 .../1. \346\246\202\350\247\210.md" | 0 .../2. SDK \351\205\215\347\275\256.md" | 0 ...32\350\257\235\346\237\245\347\234\213.md" | 0 ...35\346\212\244\350\257\264\346\230\216.md" | 0 ...03\345\274\217\350\277\275\350\270\252.md" | 17 +- 17 files changed, 435 insertions(+), 3 deletions(-) create mode 100644 flashduty/en/2. RUM/5. Session Explorer/1. Overview.md create mode 100644 flashduty/en/2. RUM/5. Session Explorer/2. Data Query.md rename flashduty/en/2. RUM/{5. Session Replay => 6. Session Replay}/1. Overview.md (100%) rename flashduty/en/2. RUM/{5. Session Replay => 6. Session Replay}/2. SDK Configuration.md (100%) rename flashduty/en/2. RUM/{5. Session Replay => 6. Session Replay}/3. View Session Replay.md (100%) rename flashduty/en/2. RUM/{5. Session Replay => 6. Session Replay}/4. Privacy Protection.md (100%) rename flashduty/en/2. RUM/{6. Others => 7. Others}/1. Terminology.md (100%) rename flashduty/en/2. RUM/{6. Others => 7. Others}/2. Data Collection.md (100%) rename flashduty/en/2. RUM/{6. Others => 7. Others}/4. Data Security.md (100%) create mode 100644 flashduty/en/2. RUM/8. Best Practice/1. Distributed Tracing.md rename "flashduty/zh/2. RUM/6. \346\237\245\347\234\213\345\231\250/1. \346\246\202\350\247\210.md" => "flashduty/zh/2. RUM/5. \346\237\245\347\234\213\345\231\250/1. \346\246\202\350\247\210.md" (100%) rename "flashduty/zh/2. RUM/6. \346\237\245\347\234\213\345\231\250/2. \346\225\260\346\215\256\346\237\245\350\257\242.md" => "flashduty/zh/2. RUM/5. \346\237\245\347\234\213\345\231\250/2. \346\225\260\346\215\256\346\237\245\350\257\242.md" (100%) rename "flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/1. \346\246\202\350\247\210.md" => "flashduty/zh/2. RUM/6.\344\274\232\350\257\235\351\207\215\346\224\276/1. \346\246\202\350\247\210.md" (100%) rename "flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" => "flashduty/zh/2. RUM/6.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" (100%) rename "flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/3. \344\274\232\350\257\235\346\237\245\347\234\213.md" => "flashduty/zh/2. RUM/6.\344\274\232\350\257\235\351\207\215\346\224\276/3. \344\274\232\350\257\235\346\237\245\347\234\213.md" (100%) rename "flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/4. \351\232\220\347\247\201\344\277\235\346\212\244\350\257\264\346\230\216.md" => "flashduty/zh/2. RUM/6.\344\274\232\350\257\235\351\207\215\346\224\276/4. \351\232\220\347\247\201\344\277\235\346\212\244\350\257\264\346\230\216.md" (100%) diff --git a/flashduty/en/2. RUM/5. Session Explorer/1. Overview.md b/flashduty/en/2. RUM/5. Session Explorer/1. Overview.md new file mode 100644 index 00000000..1a150d84 --- /dev/null +++ b/flashduty/en/2. RUM/5. Session Explorer/1. Overview.md @@ -0,0 +1,55 @@ +--- +title: "RUM Session Explorer Overview" +description: "Master the powerful features of Flashduty RUM Session Explorer to deeply analyze user data, performance metrics, and application behavior through an intuitive visual interface." +date: "2024-05-09T10:00:00+08:00" +url: "https://docs.flashcat.cloud/en/flashduty/rum/rum-explorer" +--- + +## Overview + +Flashduty RUM **Session Explorer** is a powerful data analysis tool designed to help developers deeply examine data collected from applications and obtain detailed information about RUM events. Through an intuitive visual interface, you can comprehensively understand user behavior, application performance, and system health. + +## Core Features + +1. **User Session Navigation**: Browse and analyze complete user session paths to understand user behavior patterns within your application. +2. **Performance Issue Investigation**: Deeply analyze performance issues affecting page views, resource loading, or user operations. +3. **Data Search and Filtering**: Precisely filter and screen RUM events through search bars and visualization type selection. + +## Value and Benefits + +1. **Data-Driven Decisions**: Make product optimization and performance improvement decisions based on real user data. +2. **Rapid Issue Identification**: Quickly identify performance bottlenecks and user experience issues through the visual interface. +3. **User Behavior Insights**: Gain deep understanding of how users interact with your application and discover improvement opportunities. +4. **Comprehensive Monitoring Coverage**: Full-link monitoring and analysis from page loading to user operations. + +## Use Cases + +1. **Performance Optimization**: Analyze page load times and resource loading efficiency to identify performance bottlenecks. +2. **User Experience Improvement**: Understand user operation paths and discover issues in interaction design. +3. **Error Troubleshooting**: Quickly locate the specific scenarios and context where application errors occur. +4. **Business Analysis**: Analyze user behavior patterns to provide data support for product feature optimization. + +## Key Feature Details + +### 1. View by Application + +Using the application selector in the top navigation bar, you can select a specific application and view all its RUM data. Through the application selector, you can quickly switch between data views of different applications, focusing on performance and user behavior analysis of specific applications. + +### 2. Search and Filter + +In the RUM Session Explorer, you can search and filter RUM events by entering query conditions in the search bar and selecting visualization types. +![2025-09-24-19-19-04](https://docs-cdn.flashcat.cloud/imges/png/fdec390c0523b3dce2f5efc90eeaa5c0.png) + +### 3. View Details + +Click on data items to view data details, which can display RUM events from various angles to help you discover key information. +For example, you can: + +- View data relationships, drill down into data, or view parent node details + ![2025-09-24-19-19-48](https://docs-cdn.flashcat.cloud/imges/png/e40b5dfe1f4cb0a6c52fd7ca470c9eab.png) +- Associate with existing monitoring systems by viewing resource traces + +## Next Steps + +- [Data Query Guide](https://docs.flashcat.cloud/en/flashduty/rum/session-explorer-data-query) +- [Distributed Tracing Best Practices](https://docs.flashcat.cloud/en/flashduty/rum/distributed-tracing) diff --git a/flashduty/en/2. RUM/5. Session Explorer/2. Data Query.md b/flashduty/en/2. RUM/5. Session Explorer/2. Data Query.md new file mode 100644 index 00000000..7dd7c417 --- /dev/null +++ b/flashduty/en/2. RUM/5. Session Explorer/2. Data Query.md @@ -0,0 +1,147 @@ +--- +title: "RUM Data Query Syntax Guide" +description: "Master the search syntax of Flashduty RUM Session Explorer to quickly locate and analyze user data through flexible query conditions." +date: "2024-05-09T10:00:00+08:00" +url: "https://docs.flashcat.cloud/en/flashduty/rum/session-explorer-data-query" +--- + +## Overview + +Flashduty RUM Session Explorer provides powerful search capabilities, allowing you to quickly locate and analyze RUM data through flexible query syntax. Queries consist of **terms** and **operators**, supporting complex search condition combinations to help you accurately find the information you need from massive data. + +The query supports two types of terms: + +1. **Single term**: A single word, such as `test` or `hello` +2. **Phrase**: A group of words surrounded by double quotes, such as `"hello flashduty"` + +You can use the following boolean operators to combine multiple terms to build complex queries: + +| Operator | Description | Example | +| -------- | ------------------------------------------------------------------- | -------------------- | +| `AND` | Intersection: both terms must be in the selected view (default) | `error AND timeout` | +| `OR` | Union: either term is contained in the selected view, must use `()` | `(error OR warning)` | +| `-` | Exclusion: the following term is not in the view | `error -timeout` | + +## Full-Text Search + +:::highlight orange 💡 +Full-text search is only supported for some fields. If no results are found, please switch to field queries. +::: + +You can quickly query data through full-text search: + +| Query Statement | Description | +| --------------- | ------------------------------------------------- | +| hello | Exact match for fields containing `hello` | +| hello\* | Match fields starting with `hello` | +| \*hello | Match fields ending with `hello` | +| \*hello\* | Match fields containing `hello` | +| "hello world" | Exact match for fields containing `"hello world"` | + +## Escaping Special Characters and Spaces + +When searching for field values containing special characters, you need to use backslash `\` escaping or double quotes. The following characters are considered special: `:`, `"`, `*`, `-`, `>`, `<`, `,`, `(`, `)`, `[`, `]`, `\` and space. + +## Attribute Search + +You can use `attribute:term` to search for specific attributes: + +| Query Statement | Description | +| :---------------------- | --------------------------------------------- | +| browser_name:Chrome | Search for browsers with value `Chrome` | +| view_name:\*/detail | Search for view names ending with `/detail` | +| -resource_status_code:0 | Search for resources with status code not `0` | +| os_name:"Mac OS X" | Search for OS name with value `"Mac OS X"` | + +## Numeric Search + +For numeric type attributes, we can use comparison operators `>` `>=` `<` `<=` for searching: + +| Query Statement | Description | +| :-------------------------- | ------------------------------------------------------- | +| session_error_count:>5 | Search for sessions with error count greater than `5` | +| view_time_spent:>=1.00min | Search for views with time spent greater than `1min` | +| session_view_count:[2 TO 8] | Search for sessions with view count between `2` and `8` | + +## Complex Search + +For complex situations, we can combine any conditions for searching. + +### Error Analysis Search + +``` +error_message:Warning\:* view_url_path:/wallet/* +``` + +Search for Warning type errors occurring on wallet pages. + +### Performance Analysis Search + +``` +view_loading_time:>=5s view_url_path:/incident/detail/* +``` + +Search for views with loading time exceeding 5 seconds and starting with `/incident/detail/`. + +### Failed Request Analysis + +``` +-resource_status_code:200 resource_type:(fetch OR xhr) +``` + +Search for resources with request type `fetch` or `xhr` and status code not `200`. + +### Page Behavior Analysis + +``` +view_url_path:/incident (view_action_count:>=2 OR view_error_count:>=3) +``` + +Search for views with URL `/incident` and action count greater than `2` or error count greater than `3`. + +## Advanced Search Tips + +### 1. Time Range Search + +Combine time ranges for precise searching: + +``` +view_loading_time:>2s client_time:>1758253826081 +``` + +### 2. User Behavior Search + +``` +action_type:click view_url_path:/checkout/* +``` + +Search for user click behaviors on checkout pages. + +### 3. Device Type Search + +``` +device_type:mobile view_loading_time:>3s +``` + +Search for views on mobile devices with loading time exceeding 3 seconds. + +### 4. Geographic Location Search + +``` +geo_country:China session_error_count:>0 +``` + +Search for sessions with errors in China. + +## Best Practices + +1. **Use quotes for phrases**: Ensure exact matching of multi-word phrases +2. **Use wildcards reasonably**: Avoid overly broad search conditions +3. **Combine multiple conditions**: Build precise queries through AND/OR operators +4. **Save common searches**: Improve efficiency of repeated queries +5. **Utilize auto-completion**: Reduce input errors and improve search accuracy + +## Next Steps + +- [RUM Session Explorer Overview](https://docs.flashcat.cloud/en/flashduty/rum/rum-explorer) +- [Distributed Tracing Best Practices](https://docs.flashcat.cloud/en/flashduty/rum/distributed-tracing) diff --git a/flashduty/en/2. RUM/5. Session Replay/1. Overview.md b/flashduty/en/2. RUM/6. Session Replay/1. Overview.md similarity index 100% rename from flashduty/en/2. RUM/5. Session Replay/1. Overview.md rename to flashduty/en/2. RUM/6. Session Replay/1. Overview.md diff --git a/flashduty/en/2. RUM/5. Session Replay/2. SDK Configuration.md b/flashduty/en/2. RUM/6. Session Replay/2. SDK Configuration.md similarity index 100% rename from flashduty/en/2. RUM/5. Session Replay/2. SDK Configuration.md rename to flashduty/en/2. RUM/6. Session Replay/2. SDK Configuration.md diff --git a/flashduty/en/2. RUM/5. Session Replay/3. View Session Replay.md b/flashduty/en/2. RUM/6. Session Replay/3. View Session Replay.md similarity index 100% rename from flashduty/en/2. RUM/5. Session Replay/3. View Session Replay.md rename to flashduty/en/2. RUM/6. Session Replay/3. View Session Replay.md diff --git a/flashduty/en/2. RUM/5. Session Replay/4. Privacy Protection.md b/flashduty/en/2. RUM/6. Session Replay/4. Privacy Protection.md similarity index 100% rename from flashduty/en/2. RUM/5. Session Replay/4. Privacy Protection.md rename to flashduty/en/2. RUM/6. Session Replay/4. Privacy Protection.md diff --git a/flashduty/en/2. RUM/6. Others/1. Terminology.md b/flashduty/en/2. RUM/7. Others/1. Terminology.md similarity index 100% rename from flashduty/en/2. RUM/6. Others/1. Terminology.md rename to flashduty/en/2. RUM/7. Others/1. Terminology.md diff --git a/flashduty/en/2. RUM/6. Others/2. Data Collection.md b/flashduty/en/2. RUM/7. Others/2. Data Collection.md similarity index 100% rename from flashduty/en/2. RUM/6. Others/2. Data Collection.md rename to flashduty/en/2. RUM/7. Others/2. Data Collection.md diff --git a/flashduty/en/2. RUM/6. Others/4. Data Security.md b/flashduty/en/2. RUM/7. Others/4. Data Security.md similarity index 100% rename from flashduty/en/2. RUM/6. Others/4. Data Security.md rename to flashduty/en/2. RUM/7. Others/4. Data Security.md diff --git a/flashduty/en/2. RUM/8. Best Practice/1. Distributed Tracing.md b/flashduty/en/2. RUM/8. Best Practice/1. Distributed Tracing.md new file mode 100644 index 00000000..4df42003 --- /dev/null +++ b/flashduty/en/2. RUM/8. Best Practice/1. Distributed Tracing.md @@ -0,0 +1,219 @@ +--- +title: "Distributed Tracing" +description: "Learn how to configure and use distributed tracing features in FlashDuty RUM to achieve complete monitoring of front-end and back-end request chains." +date: "2024-09-09T10:00:00+08:00" +url: "https://docs.flashcat.cloud/en/flashduty/rum/distributed-tracing" +--- + +## Overview + +FlashDuty RUM's **Trace Tracking** feature deeply integrates front-end user monitoring with distributed tracing systems, allowing you to correlate web application requests with their corresponding backend traces. This combination enables you to view complete front-end and backend data at a glance, achieving end-to-end performance monitoring and issue troubleshooting. + +Through Trace Tracking, you can: + +- **Correlate front-end and back-end requests**: Link front-end user operations with backend API calls +- **End-to-end issue troubleshooting**: Quickly locate issues in the complete request chain from front-end to back-end +- **Performance bottleneck analysis**: Identify performance bottlenecks throughout the entire request chain +- **User experience optimization**: Optimize user experience based on complete request chain data + +## How It Works + +Trace tracking is implemented based on the [W3C Trace Context](https://www.w3.org/TR/trace-context/) standard, correlating front-end and back-end requests by injecting trace information into HTTP request headers: + +1. **Front-end initiates request**: The RUM SDK automatically adds trace header information to configured API requests +2. **Back-end receives and processes**: Backend services receive and process requests with trace information +3. **Chain correlation**: Front-end and back-end data are correlated through the same trace_id +4. **Visual display**: View complete request chain information through trace correlation based on trace_id + +## Configuration Steps + +### 1. SDK Configuration + +First, you need to configure the distributed tracing feature in the RUM SDK. Based on the [RUM Advanced Configuration Documentation](https://docs.flashcat.cloud/en/flashduty/rum/advanced-configuration#integrating-rum-with-distributed-tracing), add the following parameters when initializing the RUM SDK: + +```javascript +import { flashcatRum } from "@flashcatcloud/browser-rum"; + +flashcatRum.init({ + applicationId: "", // Get from application management page + clientToken: "", // Get from application management page + service: "", // Service name to distinguish different services + env: "", // Environment identifier + version: "1.0.0", // Application version + sessionSampleRate: 100, // Sampling rate + allowedTracingUrls: [ + "https://api.example.com/", + /https:\/\/.*\.my-api-domain\.com/, + (url) => url.startsWith("https://api.example.com/"), + ], // List of URLs to track + traceSampleRate: 20, // Optional parameter, percentage of requests to trace: 100 for all, 0 for none. Default: 100 +}); +``` + +#### Key Configuration Parameters + +- **`allowedTracingUrls`**: Specifies API endpoints that need trace information added + + - **String**: Matches URLs starting with this value, e.g., `https://api.example.com` + - **Regular Expression**: Uses regex to match URLs + - **Function**: Custom matching logic, returns `true` for successful matches + +- **`traceSampleRate`**: Trace sampling rate, controls what percentage of requests are traced + - Range: 0-100 + - Default: 100 (trace all requests) + - Recommendation: Set to 10-20 in production to balance monitoring coverage and performance + +### 2. Application Management Configuration + +After SDK configuration, you can configure trace jump settings in the application management page: + +1. Go to **Application Management** page +2. Select the corresponding RUM application +3. Configure the trace system jump address (if distributed tracing system is integrated) +4. Enable **Trace Tracking** feature in **Advanced Configuration** + ::: tip + In the configured jump link, the system will automatically replace ${trace_id} with the actual trace_id. + ::: + +![2025-09-09-15-40-22](https://docs-cdn.flashcat.cloud/imges/png/138f9f58afbdf3a532f4e7d1ed8748ff.png) + +### 3. Backend Service Configuration + +For complete distributed tracing support, backend services need to: + +1. **Receive trace header information**: Process `traceparent` and `tracestate` request headers +2. **Pass trace information**: Continue passing trace headers when calling other services +3. **Generate trace data**: Record request processing into the tracing system + +## Trace Header Information + +The RUM SDK automatically adds the following HTTP header information to configured requests: + +### traceparent Header + +``` +traceparent: 00-00000000000000008448eb211c80319c-b7ad6b7169203331-01 +``` + +Format: `[version]-[trace-id]-[parent-id]-[trace-flags]` + +- **version**: Currently `00` +- **trace-id**: 128-bit trace ID, 32 characters after hexadecimal processing +- **parent-id**: 64-bit span ID, 16 characters after hexadecimal processing +- **trace-flags**: Sampling flag, `01` indicates sampled, `00` indicates not sampled + +### tracestate Header + +``` +tracestate: dd=s:1;o:rum +``` + +Format: `dd=s:[sampling-priority];o:[origin]` + +- **sampling-priority**: `1` indicates the trace is sampled +- **origin**: Always `rum`, indicating collection through RUM SDK + +## Use Cases + +### 1. Viewing Traces in RUM Session Explorer + +After configuration, you can view corresponding trace information in the **View** section of the RUM Session Explorer: + +1. Go to **RUM Session Explorer** +2. Select a page view containing API calls +3. View **Trace Information** in the view details +4. Click the trace link to jump to the trace system to view detailed request chains + ![2025-09-19-14-54-17](https://docs-cdn.flashcat.cloud/imges/png/6a34dfabea8e5ed490bd1ea2024581e6.png) + +### 2. Finding Resources by trace_id + +You can also search for resources in the explorer using trace_id: + +1. Enter trace_id in the explorer search bar +2. View corresponding resources and view loading conditions +3. Analyze the correlation between resource loading performance and backend API calls + ![2025-09-09-16-03-45](https://docs-cdn.flashcat.cloud/imges/png/0c283dc836389e1a7a94103ed586aaa8.png) + + ::: tip + You can also query corresponding resources directly by appending parameters to the URL. Example URL: + https://console.flashcat.cloud/rum/explorer?appid=${YOUR_APP_ID}&end=${END_TIME}&eventType=resource&queryStr=trace_id%3A${TRACE_ID}&start=${START_TIME} + + Where start, end, and appid are optional parameters. If not provided, the current RUM default query application and time range will be reused. You can construct the URL according to your actual situation. + ::: + +### 3. End-to-End Issue Troubleshooting + +When users report performance issues: + +1. Find the problematic user's session in the RUM Session Explorer +2. View trace information for the problem page +3. Jump to the trace system to view the complete request chain +4. Determine whether it's a front-end, back-end, or network issue + +## Best Practices + +### 1. Reasonable Sampling Rate Configuration + +- **Development Environment**: Recommend setting to 100% to ensure all requests are traced +- **Testing Environment**: Recommend setting to 50-80% to balance monitoring coverage and performance +- **Production Environment**: Recommend setting to 10-20% to avoid performance impact + +### 2. Precise Tracing URL Configuration + +```javascript +// Recommended: Precise API endpoint matching +allowedTracingUrls: [ + "https://api.example.com/v1/", + "https://api.example.com/v2/", +]; + +// Avoid: Overly broad matching +allowedTracingUrls: [ + "https://api.example.com/", // May include static resources that don't need tracing +]; +``` + +### 3. Cross-Origin Request Handling + +If your HTTP requests involve cross-origin issues, ensure: + +- Server is configured with correct CORS headers +- Preflight requests are supported +- `traceparent` and `tracestate` headers are allowed + +### 4. Performance Monitoring + +- Regularly check the impact of trace sampling rate on application performance +- Monitor storage and query performance of trace data +- Adjust tracing strategy based on business requirements + +## Common Issues + +### Q: Why don't some requests have trace information? + +A: Possible reasons include: + +- Request URL is not within the `allowedTracingUrls` configuration range +- Request was filtered by `traceSampleRate` sampling rate +- Request was initiated before SDK initialization +- Cross-origin requests lack necessary CORS configuration + +### Q: How to verify if trace configuration is correct? + +A: You can verify through the following methods: + +1. Check network request headers in browser developer tools +2. Confirm requests contain `traceparent` and `tracestate` headers +3. Check if trace information is displayed in the RUM Session Explorer + +## Notes + +1. **Privacy Compliance**: Ensure trace data collection complies with relevant privacy regulations +2. **Performance Impact**: Set reasonable sampling rates to avoid significant impact on application performance +3. **Data Security**: Avoid including sensitive information in trace data +4. **Cross-Origin Configuration**: Ensure backend services are properly configured with CORS to support trace headers + +## Related Documentation + +- [RUM Advanced Configuration](https://docs.flashcat.cloud/en/flashduty/rum/advanced-configuration) - Learn about complete RUM SDK configuration options +- [RUM Session Explorer Overview](https://docs.flashcat.cloud/en/flashduty/rum/rum-explorer) - Master the use of RUM Session Explorer diff --git "a/flashduty/zh/2. RUM/6. \346\237\245\347\234\213\345\231\250/1. \346\246\202\350\247\210.md" "b/flashduty/zh/2. RUM/5. \346\237\245\347\234\213\345\231\250/1. \346\246\202\350\247\210.md" similarity index 100% rename from "flashduty/zh/2. RUM/6. \346\237\245\347\234\213\345\231\250/1. \346\246\202\350\247\210.md" rename to "flashduty/zh/2. RUM/5. \346\237\245\347\234\213\345\231\250/1. \346\246\202\350\247\210.md" diff --git "a/flashduty/zh/2. RUM/6. \346\237\245\347\234\213\345\231\250/2. \346\225\260\346\215\256\346\237\245\350\257\242.md" "b/flashduty/zh/2. RUM/5. \346\237\245\347\234\213\345\231\250/2. \346\225\260\346\215\256\346\237\245\350\257\242.md" similarity index 100% rename from "flashduty/zh/2. RUM/6. \346\237\245\347\234\213\345\231\250/2. \346\225\260\346\215\256\346\237\245\350\257\242.md" rename to "flashduty/zh/2. RUM/5. \346\237\245\347\234\213\345\231\250/2. \346\225\260\346\215\256\346\237\245\350\257\242.md" diff --git "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/1. \346\246\202\350\247\210.md" "b/flashduty/zh/2. RUM/6.\344\274\232\350\257\235\351\207\215\346\224\276/1. \346\246\202\350\247\210.md" similarity index 100% rename from "flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/1. \346\246\202\350\247\210.md" rename to "flashduty/zh/2. RUM/6.\344\274\232\350\257\235\351\207\215\346\224\276/1. \346\246\202\350\247\210.md" diff --git "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" "b/flashduty/zh/2. RUM/6.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" similarity index 100% rename from "flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" rename to "flashduty/zh/2. RUM/6.\344\274\232\350\257\235\351\207\215\346\224\276/2. SDK \351\205\215\347\275\256.md" diff --git "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/3. \344\274\232\350\257\235\346\237\245\347\234\213.md" "b/flashduty/zh/2. RUM/6.\344\274\232\350\257\235\351\207\215\346\224\276/3. \344\274\232\350\257\235\346\237\245\347\234\213.md" similarity index 100% rename from "flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/3. \344\274\232\350\257\235\346\237\245\347\234\213.md" rename to "flashduty/zh/2. RUM/6.\344\274\232\350\257\235\351\207\215\346\224\276/3. \344\274\232\350\257\235\346\237\245\347\234\213.md" diff --git "a/flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/4. \351\232\220\347\247\201\344\277\235\346\212\244\350\257\264\346\230\216.md" "b/flashduty/zh/2. RUM/6.\344\274\232\350\257\235\351\207\215\346\224\276/4. \351\232\220\347\247\201\344\277\235\346\212\244\350\257\264\346\230\216.md" similarity index 100% rename from "flashduty/zh/2. RUM/5.\344\274\232\350\257\235\351\207\215\346\224\276/4. \351\232\220\347\247\201\344\277\235\346\212\244\350\257\264\346\230\216.md" rename to "flashduty/zh/2. RUM/6.\344\274\232\350\257\235\351\207\215\346\224\276/4. \351\232\220\347\247\201\344\277\235\346\212\244\350\257\264\346\230\216.md" diff --git "a/flashduty/zh/2. RUM/7. \346\234\200\344\275\263\345\256\236\350\267\265/1. \345\210\206\345\270\203\345\274\217\350\277\275\350\270\252.md" "b/flashduty/zh/2. RUM/7. \346\234\200\344\275\263\345\256\236\350\267\265/1. \345\210\206\345\270\203\345\274\217\350\277\275\350\270\252.md" index 8f76a86c..b5f5960a 100644 --- "a/flashduty/zh/2. RUM/7. \346\234\200\344\275\263\345\256\236\350\267\265/1. \345\210\206\345\270\203\345\274\217\350\277\275\350\270\252.md" +++ "b/flashduty/zh/2. RUM/7. \346\234\200\344\275\263\345\256\236\350\267\265/1. \345\210\206\345\270\203\345\274\217\350\277\275\350\270\252.md" @@ -71,7 +71,11 @@ SDK 配置完成后,可在应用管理页面进行 trace 跳转相关配置: 2. 选择对应的 RUM 应用 3. 配置 trace 系统的跳转地址(如已集成分布式追踪系统) 4. 在 **高级配置** 中启用 **Trace 追踪** 功能 - ![2025-09-09-15-40-22](https://docs-cdn.flashcat.cloud/imges/png/138f9f58afbdf3a532f4e7d1ed8748ff.png) + ::: tip + 在配置的跳转链接中,系统会自动将 ${trace_id} 替换为实际的 trace_id。 + ::: + +![2025-09-09-15-40-22](https://docs-cdn.flashcat.cloud/imges/png/138f9f58afbdf3a532f4e7d1ed8748ff.png) ### 3. 后端服务配置 @@ -119,6 +123,7 @@ tracestate: dd=s:1;o:rum 2. 选择包含 API 调用的页面视图 3. 在视图详情中查看 **Trace 信息** 4. 点击 trace 链接可跳转至 trace 系统查看详细的请求链路 + ![2025-09-19-14-54-17](https://docs-cdn.flashcat.cloud/imges/png/6a34dfabea8e5ed490bd1ea2024581e6.png) ### 2. 通过 trace_id 查找资源 @@ -129,14 +134,20 @@ tracestate: dd=s:1;o:rum 3. 分析资源加载性能与后端 API 调用的关联关系 ![2025-09-09-16-03-45](https://docs-cdn.flashcat.cloud/imges/png/0c283dc836389e1a7a94103ed586aaa8.png) + ::: tip + 也可以通过在 url 上拼接对应的参数直接查询相应的 resource. url 示例: + https://console.flashcat.cloud/rum/explorer?appid=${YOUR_APP_ID}&end=${END_TIME}&eventType=resource&queryStr=trace_id%3A${TRACE_ID}&start=${START_TIME} + 其中 start、end、appid 均为选填参数,若不传则会复用当前 rum 默认查询的应用和时间范围。您可按照实际情况进行 url 拼接。 + ::: + ### 3. 端到端问题排查 -当用户报告性能问题时: +当用户报告性能问题或者异常时: 1. 在 RUM 查看器中找到问题用户的会话 2. 查看问题页面的 trace 信息 3. 跳转到 trace 系统查看完整的请求链路 -4. 定位是前端问题还是后端问题,或是网络问题 +4. 定位是前端问题还是服务问题,或是网络问题 ## 最佳实践 From 0ff1d5725937d36e71a4c455bfad37565ac35a03 Mon Sep 17 00:00:00 2001 From: pijiang <419471640@qq.com> Date: Thu, 25 Sep 2025 15:18:23 +0800 Subject: [PATCH 69/86] update servicenow docs --- .../8.5 Webhooks/8.5.5 ServiceNow sync.md | 71 ++++++++++---- ....5 ServiceNow \345\220\214\346\255\245.md" | 94 +++++++++++++------ 2 files changed, 115 insertions(+), 50 deletions(-) diff --git a/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.5 ServiceNow sync.md b/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.5 ServiceNow sync.md index e49004f6..2ced2717 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.5 ServiceNow sync.md +++ b/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.5 ServiceNow sync.md @@ -10,6 +10,7 @@ Through ServiceNow sync webhook, Flashduty incidents are associated and synchron ## In ServiceNow ### Create User +Create a user to connect to the ServiceNow instance for Incident sync and updates. Skip this step if you already have an available user. 1. Log in to the ServiceNow instance console, select `ALL`, enter `USERS` and select `Organization`-`Users`. 2. Click `New` to create a new user. @@ -21,14 +22,20 @@ Through ServiceNow sync webhook, Flashduty incidents are associated and synchron ### Configure User -The user used to access ServiceNow needs to have administrator roles. + > **User Role Description** + > **itil:** The main usage scope of this role in Flashduty is limited to field retrieval in ServiceNow Incident Table and does not involve any other operations. + > + > **personalize_dictionary:** This role in Flashduty is primarily used only for field retrieval from ServiceNow Incident Tables, and does not involve any other operations. + > + > For more information about the permission scope of these two roles, please refer to the ServiceNow [official documentation](https://www.servicenow.com/docs/bundle/washingtondc-platform-administration/page/administer/roles/reference/r_BaseSystemRoles.html#d130465e3182) 1. On the user list page, find the newly created `flashduty` user and go to the configuration page. 2. In the edit page, click `Set Password` to set a password. 3. Click `Roles` to add **personalize_dictionary and itil** roles (If custom field mapping configuration is not required, the personalize_dictionary permission does not need to be retained). 4. Click `Update` to update the configuration. -drawing +![2025-09-24-16-29-05](https://docs-cdn.flashcat.cloud/images/png/a4416dff926e89b505224e03a4f774c6.png) +![2025-09-24-16-29-58](https://docs-cdn.flashcat.cloud/images/png/19371c16f4c516c095752f2a8e0d45bf.png) ## In Flashduty @@ -40,14 +47,27 @@ Enter the username/password and instance name configured above into the integrat - **Management Team:** When a management team is selected, only team members and tenant administrators can edit this integration. - **Channel:** Select the channel where this integration takes effect. - **Sync Direction:** + - To_ServiceNow: Sync Flashduty incidents to ServiceNow. - From_ServiceNow: Sync ServiceNow Incidents to Flashduty. - Two-way: Bidirectional sync between Flashduty and ServiceNow. -- **Trigger Mode**: + +- **Trigger Mode:** + - Auto Trigger: Requires configuration of corresponding conditions, Flashduty will automatically sync incidents that meet the conditions to ServiceNow. - Manual Trigger: Requires manual triggering of ServiceNow sync in the More Actions section of the incident details page (the integration configuration name is the trigger name). -- **Severity Mapping:** ServiceNow's Priority is determined by the combined values of Impact and Urgency, so you can refer to ServiceNow's `Priority Lookup Rules` for configuration. Additionally, note that only when ServiceNow Incident's Urgency changes will it trigger updates to Flashduty incident severity. -- **Custom Field Mapping:** You can choose to sync certain labels or all labels of incidents as well as custom field content to ServiceNow fields (only text-type fields are supported). + +- **Severity Mapping:** + - ServiceNow's Priority is determined by the combined values of Impact and Urgency, so you can refer to ServiceNow's `Priority Lookup Rules` for configuration. + - Only when the Urgency of a ServiceNow Incident changes will it trigger an update to the Flashduty incident severity. + - Since Flashduty cannot obtain ServiceNow's Impact and Urgency lists while following the principle of least privilege, only default values are provided. If you need to customize the mapping relationship, please contact technical support. + +- **Custom Field Mapping:** You can map tags or custom fields from incidents to corresponding text fields in ServiceNow tickets, enabling automatic information filling. This feature supports synchronizing common contextual information (such as service name, instance address, metric name, etc.) to ServiceNow for easier subsequent troubleshooting and tracking. + + - Only supports target fields of single-line text or multi-line text types. + - Supports extracting values from incident tags (such as service, instance) or custom attributes. + - If the source field is empty, the target field will also remain empty and will not overwrite existing content. + - Mapping configurations are managed centrally in integration settings, eliminating the need for manual entry each time. ## In ServiceNow @@ -255,23 +275,23 @@ Note: The body configures default receiving fields. If you have custom fields th | ServiceNow | Flashduty | Notes | | ------------------- | ------------- | ----- | -| Short_description | Title | | -| Description | Description | | -| Additional comments | Comments | | -| State | Progress | | -| Urgency | Severity | | -| Others | Custom Fields | | +| Short_description | Title | Title | +| Description | Description | Description | +| Additional comments | Comments | Comments | +| State | Progress | Progress | +| Urgency | Severity | Severity | +| Others | Custom Fields | Custom Fields | ### Status Mapping | ServiceNow | Flashduty | Notes | | ----------- | ---------- | ---------------------- | -| New | Trigger | | -| In Progress | Processing | | +| New | Trigger | Trigger | +| In Progress | Processing | Processing | | On Hold | Snoozed | Default snooze 2 hours | -| Resolved | CLosed | | -| Closed | CLosed | | -| Canceled | CLosed | | +| Resolved | CLosed | CLosed | +| Closed | CLosed | CLosed | +| Canceled | CLosed | CLosed | ### Priority Mapping @@ -279,6 +299,19 @@ Only when ServiceNow's Urgency value changes will it affect Flashduty's Severity | ServiceNow | Flashduty | Notes | | ---------- | --------- | ----- | -| Low | Info | | -| Medium | Warning | | -| High | Critical | | +| Low | Info | Info | +| Medium | Warning | Warning | +| High | Critical | Critical | + + +## QA + +
+ Can the UserID be customized when creating a new ServiceNow user? + Yes, it can be customized. The documentation uses "flashduty" as the UserID to better identify that this user is used for Incident synchronization. +
+ +
+ Getting 401 error when configuring integration + A 401 error is generally caused by an incorrect password. Please check if the password is correct, or reset a new password (when setting the password, do not check the "Password needs reset" option). +
\ No newline at end of file diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.5 ServiceNow \345\220\214\346\255\245.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.5 ServiceNow \345\220\214\346\255\245.md" index 66df08ca..d20829b4 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.5 ServiceNow \345\220\214\346\255\245.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.5 ServiceNow \345\220\214\346\255\245.md" @@ -10,6 +10,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/service-now-sync" ## 在 ServiceNow ### 创建用户 +需创建一个用户以连接 ServiceNow 实例,用于 Incident 的同步与更新。如果已有可用用户,请直接跳过本步骤。 1. 登录 ServiceNow 实例控制台,通过选择 `ALL` ,输入 `USERS` 选择`Organization`-`Users` 。 2. 点击 `New` 新建用户。 @@ -17,18 +18,24 @@ url: "https://docs.flashcat.cloud/zh/flashduty/service-now-sync" 4. `Password needs reset` 和 `Web service access only` 以及 `Internal Integration User` 保持取消勾选状态。 5. 提交保存。 -drawing +![2025-09-24-16-19-47](https://docs-cdn.flashcat.cloud/images/png/3db86d07758819d61f4e7d2fc714347b.png) ### 配置用户 -用于访问 ServiceNow 的用户需要是管理员角色。 + > **用户角色说明** + > **itil:** 该角色在 Flashduty 中的主要使用范围仅限于在同步 ServiceNow Incident 时,进行获取、创建、更新 ServiceNow Incident,不涉及其他任何操作。 + > + > **personalize_dictionary:** 该角色在 Flashduty 中的主要使用范围仅限于 ServiceNow Incident Table 的字段获取,不涉及其他任何操作。 + > + > 关于以上两个角色更多权限范围,可以参考 ServiceNow [官方文档](https://www.servicenow.com/docs/bundle/washingtondc-platform-administration/page/administer/roles/reference/r_BaseSystemRoles.html#d130465e3182) 1. 在用户列表页面,找到新创建的 `flashduty` 用户并进到配置页面。 2. 在编辑页面中,点击 `Set Password` 设置一个密码。 3. 点击 `Roles` 添加 **personalize_dictionary 和 itil** 角色(如果不需要配置自定义字段映射关系,可以不授予 personalize_dictionary 权限)。 4. 点击 `Update` 更新配置。 -drawing +![2025-09-24-16-29-05](https://docs-cdn.flashcat.cloud/images/png/a4416dff926e89b505224e03a4f774c6.png) +![2025-09-24-16-29-58](https://docs-cdn.flashcat.cloud/images/png/19371c16f4c516c095752f2a8e0d45bf.png) ## 在 Flashduty @@ -36,18 +43,31 @@ url: "https://docs.flashcat.cloud/zh/flashduty/service-now-sync" 将以上配置的用户名/密码以及实例名称输入到左侧集成信息中并点击下一步进行配置。 -- **集成名称:** 为当前集成定义一个名称。 -- **管理团队:** 当选择管理团队后,只有该团队成员以及租户管理员可以编辑此集成。 -- **协作空间**:选择该集成生效的协作空间,。 -- **同步方向:** - - To_ServiceNow:将 Flashduty 的故障同步至 ServiceNow。 - - From_ServiceNow:将 ServiceNow 的 Incident 同步至 Flashduty。 - - Two-way:Flashduty 和 ServiceNow 互相同步。 -- **触发模式**: - - 自动触发:需要配置相应的条件,Flashduty 会自动将符合条件的故障同步到 ServiceNow 中。 - - 手动触发:需要在故障详情页的更多操作中手动触发 ServiceNow 同步(该集成配置的名称为触发器名称)。 -- **严重程度映射**:ServiceNow 的 Priority 是由 Impact 和 Urgency 的值共同决定的,所以可以参考 ServiceNow 的 `Priority Lookup Rules` 进行配置。另外需要注意的是,只有当 ServiceNow Incident 的 Urgency 发生变化时,才会触发 Flashduty 故障严重程度的更新。 -- **自定义字段映射**:可以选择将故障的某些标签或所有标签以及自定义字段内容同步至 ServiceNow 的字段中(仅支持文本类型的字段)。 +1. **集成名称:** 为当前集成定义一个名称。 +2. **管理团队:** 当选择管理团队后,只有该团队成员以及租户管理员可以编辑此集成。 +3. **协作空间**:选择该集成生效的协作空间,。 +4. **同步方向:** + + - To_ServiceNow:将 Flashduty 的故障同步至 ServiceNow。 + - From_ServiceNow:将 ServiceNow 的 Incident 同步至 Flashduty。 + - Two-way:Flashduty 和 ServiceNow 互相同步。 + +5. **触发模式**: + - 自动触发:需要配置相应的条件,Flashduty 会自动将符合条件的故障同步到 ServiceNow 中。 + - 手动触发:需要在故障详情页的更多操作中手动触发 ServiceNow 同步(该集成配置的名称为触发器名称)。 + +6. **严重程度映射**: + + - ServiceNow 的 Priority 是由 Impact 和 Urgency 的值共同决定的,所以可以参考 ServiceNow 的 `Priority Lookup Rules` 进行配置。 + - 当 ServiceNow Incident 的 Urgency 发生变化时,才会触发 Flashduty 故障严重程度的更新。 + - 由于 Flashduty 在遵循最小权限的情况下,无法获取 ServiceNow 的 Impact 和 Urgency 列表,所以只提供了默认值,如果您需要自定义映射关系时,可以联系技术支持。 + +7. **自定义字段映射**:可以将故障中的标签或自定义字段,映射到 ServiceNow 工单中的对应文本字段,实现信息自动填充。该功能支持将常见上下文信息(如服务名、实例地址、指标名称等)同步至 ServiceNow,便于后续排查与跟踪。 + + - 仅支持目标为单行文本或多行文本类型的字段。 + - 支持从故障标签(如 service、instance)或自定义属性中提取值。 + - 若源字段为空,目标字段也将保持为空,不会覆盖原有内容。 + - 映射配置在集成设置中统一管理,无需每次手动填写。 ## 在 ServiceNow @@ -88,7 +108,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/service-now-sync" 2. 点击 `New` 新建 Script Include。 3. `Name` 输入:**IncidentWebhookHelper** , `Accessible from` 选择 **All application scopes**。 4. `Client callable` 和 `Active` 保持勾选状态。 -5. `Script` 输入以下内容,其中 **request.setEndpoint** 中需要补充集成的推送地址: +5. `Script` 输入以下内容,其中 **request.setEndpoint** 中需要补充集成的推送地址
@@ -182,7 +202,7 @@ IncidentWebhookHelper.prototype = { 3. `Name` 输入:**Send To Flashduty** , `Table` 选择 **Incident**。 4. `Advanced` 和 `Active` 保持勾选状态。 5. 在 `When to run` 区域中,`When` 选择 **async**,`Insert` 和 `Upsert` 保持勾选状态,其他按需配置。 -6. 在 `Advanced` 区域中,`Script` 填写以下内容,其中 **endpoint** 中需要补充集成的推送地址: +6. 在 `Advanced` 区域中,`Script` 填写以下内容,其中 **endpoint** 中需要补充集成的推送地址
@@ -253,23 +273,23 @@ IncidentWebhookHelper.prototype = { | ServiceNow | Flashduty | 备注 | | ------------------- | ------------- | ---- | -| Short_description | Title | | -| Description | Description | | -| Additional comments | Comments | | -| State | Progress | | -| Urgency | Severity | | -| Others | Custom Fields | | +| Short_description | Title | 标题 | +| Description | Description | 描述信息 | +| Additional comments | Comments | 评论 | +| State | Progress | 状态 | +| Urgency | Severity | 严重程度 | +| Others | Custom Fields | 自定义字段 | ### 状态映射 | ServiceNow | Flashduty | 备注 | | ----------- | ---------- | --------------- | -| New | Trigger | | -| In Progress | Processing | | +| New | Trigger | 触发 | +| In Progress | Processing | 待处理 | | On Hold | Snoozed | 默认暂缓 2 小时 | -| Resolved | CLosed | | -| Closed | CLosed | | -| Canceled | CLosed | | +| Resolved | CLosed | 关闭 | +| Closed | CLosed | 关闭 | +| Canceled | CLosed | 关闭 | ### 优先级映射 @@ -277,6 +297,18 @@ IncidentWebhookHelper.prototype = { | ServiceNow | Flashduty | 备注 | | ---------- | --------- | ---- | -| Low | Info | | -| Medium | Warning | | -| High | Critical | | +| Low | Info | 提示 | +| Medium | Warning | 警告 | +| High | Critical | 灾难 | + +## 常见问题 + +
+ 新建 ServiceNow 用户时,UserID 是否可以自定义? + 可以自定义,文档指引中使用 flashduty 作为 UserID,是为了更好的标识该用户用于 Incident 同步 +
+ +
+ 配置集成时提示 401 错误 + 提示 401 一般是密码错误导致的,请检查密码是否正确,或者重新设置新的密码(在配置密码时,请勿勾选 Password needs reset 选项) +
\ No newline at end of file From ff32764edbd1288063cde09d3799d86d6f27c857 Mon Sep 17 00:00:00 2001 From: pijiang <419471640@qq.com> Date: Thu, 25 Sep 2025 16:30:30 +0800 Subject: [PATCH 70/86] add servicedesk plus docs --- .../8.5.6 ServiceDesk Plus sync.md | 189 ++++++++++++++++++ ...viceDesk Plus \345\220\214\346\255\245.md" | 189 ++++++++++++++++++ src/en.ts | 4 +- src/zh.ts | 4 +- 4 files changed, 384 insertions(+), 2 deletions(-) create mode 100644 flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.6 ServiceDesk Plus sync.md create mode 100644 "flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.6 ServiceDesk Plus \345\220\214\346\255\245.md" diff --git a/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.6 ServiceDesk Plus sync.md b/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.6 ServiceDesk Plus sync.md new file mode 100644 index 00000000..1924fedb --- /dev/null +++ b/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.6 ServiceDesk Plus sync.md @@ -0,0 +1,189 @@ +--- +title: "ServiceDesk Plus Sync" +description: "Sync incidents with ServiceDesk Plus requests through ServiceDesk Plus sync webhook." +date: "2025-05-19T10:00:00+08:00" +url: "https://docs.flashcat.cloud/en/flashduty/servicedesk-plus-sync" +--- + +Through ServiceDesk Plus sync webhook, Flashduty incidents are associated and synchronized with ServiceDesk Plus requests to achieve integration between Flashduty and ServiceDesk Plus. + +This integration is based on the official v3 API protocol provided by ServiceDesk Plus and is compatible with its interface specifications. If you are using an on-premises deployment version, please confirm whether its API supports the v3 version. Additionally, there are differences in authorization configuration between the cloud and on-premises of ServiceDesk Plus. Please refer to the relevant documentation for specific configurations. + + - [Cloud](#cloud-version) + - [On-premises](#on-premises) + +When configuring this integration, if you choose the sync direction as From_ServiceDesk_Plus, you can skip the authorization-related configuration and directly refer to [Configure Sync](#configure-sync). + +## Cloud + +### In ServiceDesk Plus +#### Step 1 Create Authorization Application +Please select the corresponding Developer Console address according to your ServiceDesk Plus service region: [Data Centres](https://www.manageengine.com/products/service-desk/sdpod-v3-api/getting-started/data-centers.html) + +1. Log in to the Developer Console, select `Self Client` type Client and create it. +2. Click `Generate Code`, fill in the `Scope`: **SDPOnDemand.requests.ALL,SDPOnDemand.setup.READ,SDPOnDemand.custommodule.READ**. Refer to [official documentation](https://www.manageengine.com/products/service-desk/sdpod-v3-api/getting-started/oauth-2.0.html#scopes) for permission scope. + +3. Select the maximum **10 minutes** for `Time Duration`, fill in the `Scope Description` as customizable, for example: For Flashduty sync use, and create. +4. Copy the generated **Code**, **Client ID** and **Client Secret** for backup. + +![2025-09-24-14-59-28](https://docs-cdn.flashcat.cloud/images/png/793fa15bd6e919e81fd3baaaab591275.png) +![2025-09-24-15-00-56](https://docs-cdn.flashcat.cloud/images/png/3b1b9d7a9c4bcc93ddf4cd73e47713f5.png) + +###### Note: The Code is only valid for 10 minutes and can only be used once, so after obtaining the Code, please complete the [Integration Authorization](#integration-authorization) as soon as possible within the validity period. + +### In Flashduty +#### Step 2 Integration Authorization +Please select the corresponding API Endpoint and Accounts Server URL according to your ServiceDesk Plus service region: [Data Centres](https://www.manageengine.com/products/service-desk/sdpod-v3-api/getting-started/data-centers.html) + +1. Select **Cloud** for `Platform Type`, fill in `API Endpoint` and `Accounts Server URL`. +2. Fill in the `Code`, `Client ID` and `Client Secret` generated in the **Create Authorization Application** step into the corresponding edit boxes and click Next to complete [Integration Configuration](#integration-configuration) (if an error occurs, please re-obtain the Code or contact technical support to troubleshoot the problem). + +## On-premises +### In ServiceDesk Plus +#### Step 1 Generate API Key +1. Log in to the ServiceDesk Plus console, click `Generate API Key` in the personal center. +2. Select **Never Expires** for `Token Expiration Time`, copy the generated **Token** for backup, and complete [Integration Authorization](#on-premises-integration-authorization). + +###### Note: The user who generates the API key needs to have relevant permissions, such as create/update requests, obtain template/priority/custom field lists and other permissions. If the permissions are insufficient, it will cause the integration configuration to fail. It is recommended to use an administrator role to generate. + +### In Flashduty +#### Step 2 Integration Authorization +1. Select **On-premises** for `Platform Type`, fill in `API Endpoint`. +2. Fill in the generated **Token** into the corresponding edit box and click Next to complete [Integration Configuration](#integration-configuration). + + +## General Configuration + +### In Flashduty +#### Step 1 Integration Configuration + +1. **Integration Name:** Define a name for the current integration. +2. **Management Team:** When a management team is selected, only team members and tenant administrators can edit this integration. +3. **Sync Direction:** + + - To_ServiceDesk_Plus: Sync Flashduty incidents to ServiceDesk Plus. + - From_ServiceDesk_Plus: Sync ServiceDesk Plus requests to Flashduty. + - Two-way: Bidirectional sync between Flashduty and ServiceDesk Plus. + +4. **Trigger Mode**: + - Auto Trigger: Requires configuration of corresponding conditions, Flashduty will automatically sync incidents that meet the conditions to ServiceDesk Plus. + - Manual Trigger: Requires manual triggering of ServiceDesk Plus sync in the More Actions section of the incident details page (the integration configuration name is the trigger name). + +5. **Channel:** Select the channel where this integration takes effect. +6. **Request Template:** Select the template to use when creating requests. +7. **Severity Mapping:** The mapping relationship between Flashduty severity and ServiceDesk Plus priority. For default mapping relationship, please refer to [Priority Mapping](#priority-mapping). +8. **Custom Field Mapping:** You can map labels or custom fields in incidents to corresponding text fields in ServiceDesk Plus tickets to achieve automatic information filling. This feature supports syncing common context information (such as service name, instance address, metric name, etc.) to ServiceDesk Plus for subsequent troubleshooting and tracking. + - Only supports target fields of single-line text or multi-line text type. + - Supports extracting values from incident labels (such as service, instance) or custom attributes. + - If the source field is empty, the target field will also remain empty and will not overwrite existing content. + - Mapping configuration is managed uniformly in integration settings without manual filling each time. + +9. **Assignee Mapping:** When Flashduty incidents are synced to ServiceDesk Plus and need to be automatically assigned to Technician or Group, you can get the value of Flashduty incident labels as the assignee (if the corresponding assignee does not exist, it will cause sync failure, please choose carefully). + +10. Click `Save` to complete the configuration. + +### In ServiceDesk Plus +#### Step 2 Create Requester +When Flashduty incidents are synced to ServiceDesk Plus, the Requester automatically set by the system + +1. Log in to the ServiceDesk Plus console and find the `Setup` configuration page. +2. Select `Users & Permissions`, then enter the `Users` creation page and select `New Requester`. +3. Fill in **flashduty** for `Name (Display Name)` and `First Name`, fill in **flashduty-sync@flashcat.cloud** for `Email`. +4. Other settings can be configured as needed, click `Save` to save the configuration. + +![2025-09-24-15-03-31](https://docs-cdn.flashcat.cloud/images/png/9ee174f85ac918476888efd759511d31.png) + +#### Step 3 Configure Sync +To achieve synchronization of ServiceDesk Plus requests to Flashduty, please refer to this configuration item. **Note:** Different versions may have slightly different paths, but the configuration method is the same. +##### Create Webhook +1. Log in to the ServiceDesk Plus console and find the `Setup` configuration page. +2. Select `Automation`, then enter the `Custom Actions` page and select `Webhooks`. +3. Click `New Webhook`, fill in **to_Flashduty** for `Webhook Name` in the edit page. +4. Fill in the integration's push URL for `URL`. +5. Select **Requests** for `Applies to`, select **POST** for `Method`, fill in **Content-Type application/json** in `Headers`. +6. Select **JSON** for `Message Body` Type and fill in the following content: + + ``` + # Cloud + { + "subject":"${subject}", + "request_id":"${id}", + "description":"${udf_fields.txt_destination}", + "priority":"${priority.name}", + "status":"${status.name}", + "txt_test_field":"${udf_fields.txt_test_field}" + + } + ``` + + ``` + # On-premises + { + "suject":"${{request.subject}}", + "request_id":"${{request.id}}", + "description":"${{request.description}}", + "status":"${{request.status.name}}", + "priority":"${{request.priority.name}}", + "udf_sline_301":"${{request.udf_fields.udf_sline_301}}" + } + + ``` +7. Click `Save` to complete the configuration. + +![2025-09-23-13-32-32](https://docs-cdn.flashcat.cloud/images/png/94ca1d094ed38ebcaf299364eddfd0ac.png) + +##### Create Trigger +1. Log in to the ServiceDesk Plus console and find the `Setup` configuration page. +2. Select `Automation`, then enter the `Triggers` page and select `Request`. +3. Click `New Trigger`, fill in **to_Flashduty** for `Name` in the edit page. +4. Select **Request** for `Trigger applies to`, check **Create and Edited** for `Execute when a request is`. +5. Select **Any time** for `Execute during` and check **Enable Trigger**. +6. Select `Without condition` for `Conditions` or configure according to actual needs. +7. Select **Webhook** in `Actions` and check **to_Flashduty** channel. +8. Click `Save` to complete the configuration. + +![2025-09-23-13-42-20](https://docs-cdn.flashcat.cloud/images/png/9573d79763af656e0e08c5bdc3649a14.png) + + +## Sync Information + +### Form Fields + +| ServiceDesk Plus | Flashduty | Notes | +| ------------------- | ------------- | ----- | +| Subject | Title | | +| Description | Description | | +| Status | Progress | | +| Priority | Severity | | +| Others | Custom Fields | | + +### Status Mapping + +| ServiceDesk Plus | Flashduty | Notes | +| ----------- | ---------- | ---------------------- | +| Open | Trigger | | +| In Progress | Processing | | +| Assigned | Processing | | +| Pending Verification | Processing | | +| Staging | Processing | | +| On Hold | Snoozed | Default snooze 2 hours | +| Resolved | CLosed | | +| Closed | CLosed | | +| Canceled | CLosed | | +| Rejected | CLosed | | + +### Priority Mapping + +| ServiceDesk Plus | Flashduty | Notes | +| ---------- | --------- | ----- | +| Low | Info | | +| Medium | Warning | | +| High | Critical | | + + +## FAQ + +
+ Can the Scope be changed + No, the Scope currently used is already the smallest unit. Flashduty needs to perform get/create/update operations when syncing requests with ServiceDesk Plus, and needs to obtain priority/custom field lists when configuring integration, so corresponding permission support is required. +
diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.6 ServiceDesk Plus \345\220\214\346\255\245.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.6 ServiceDesk Plus \345\220\214\346\255\245.md" new file mode 100644 index 00000000..44e74dbf --- /dev/null +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.6 ServiceDesk Plus \345\220\214\346\255\245.md" @@ -0,0 +1,189 @@ +--- +title: "ServiceDesk Plus 同步" +description: "通过 ServiceDesk Plus 同步 Webhook,实现故障与 ServiceDesk Plus request 的关联。" +date: "2025-05-19T10:00:00+08:00" +url: "https://docs.flashcat.cloud/zh/flashduty/servicedesk-plus-sync" +--- + +通过 ServiceDesk Plus 同步 Webhook,将 Flashduty 的故障与 ServiceDesk Plus request 进行关联同步,实现 Flashduty 与 ServiceDesk Plus 的联动。 + +本集成基于 ServiceDesk Plus 官方提供的 v3 API 协议,兼容其接口规范。若您使用私有化部署版本,请确认其 API 是否支持 v3 版本。此外,ServiceDesk Plus 的云版本与私有化版本在授权配置方式上存在差异,具体配置请参考相关文档说明。 + + - [云版本](#云版本) + - [私有化](#私有化) + +在配置此集成时,如果您选择的同步方向是 From_ServiceDesk_Plus,您可以直接跳过授权相关配置,直接参考[配置同步](#配置同步)即可。 + +## 云版本 + +### 在 ServiceDesk Plus +#### 步骤1 创建授权应用 +请根据您的 ServiceDesk Plus 服务区域选择对应的 Developer Console 地址:[Data Centres](https://www.manageengine.com/products/service-desk/sdpod-v3-api/getting-started/data-centers.html) + +1. 登录 Developer Console,选择 `Self Client` 类型的 Client 并创建。 +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)。 + +3. `Time Duration` 选择最大的 **10 minutes**,`Scope Description` 填写内容可自定义,比如: Flashduty 同步使用,并创建。 +4. 将生成的 **Code** 和 **Client ID** 以及 **Client Secret** 复制备用。 + +![2025-09-24-14-59-28](https://docs-cdn.flashcat.cloud/images/png/793fa15bd6e919e81fd3baaaab591275.png) +![2025-09-24-15-00-56](https://docs-cdn.flashcat.cloud/images/png/3b1b9d7a9c4bcc93ddf4cd73e47713f5.png) + +###### 注意:Code 的有效期只有 10 分钟且只能使用一次,所以在获取到 Code 后,请在有效期内尽快完成[集成授权](#集成授权) + +### 在 Flashduty +#### 步骤2 集成授权 +请根据您的 ServiceDesk Plus 服务区域选择对应的 API Endpoint 和 Accounts Server URL:[Data Centres](https://www.manageengine.com/products/service-desk/sdpod-v3-api/getting-started/data-centers.html) + +1. `平台类型` 选择**云版本**,填写`API Endpoint` 和 `Accounts Server URL`。 +2. 将**创建授权应用**步骤中生成的 `Code` 和 `Client ID` 以及 `Client Secret` 填写到对应的编辑框并点击下一步完成[集成配置](#集成配置)(如果报错请重新获取 Code,或联系技术支持排查问题)。 + +## 私有化版本 +### 在 ServiceDesk Plus +#### 步骤1 生成 API 密钥 +1. 登录 ServiceDesk Plus 控制台,在个人中心点击 `生成 API 密钥`。 +2. `令牌过期时间` 选择 **永不过期**,将生成的 **Token** 复制备用,并完成[集成授权](#私有化版本集成授权)。 + +###### 注意:生成 API 密钥的用户需要具备相关权限,比如创建/更新请求、获取模版/优先级/自定义字段列表等权限,如果权限不足,会导致无法完成集成配置,建议使用管理员角色生成。 + +### 在 Flashduty +#### 步骤2 集成授权 +1. `平台类型` 选择**私有化版本**,填写`API Endpoint`。 +2. 将生成的 **Token** 填写到对应的编辑框并点击下一步完成[集成配置](#集成配置)。 + + +## 通用配置 + +### 在 Flashduty +#### 步骤1 集成配置 + +1. **集成名称:** 为当前集成定义一个名称。 +2. **管理团队:** 当选择管理团队后,只有该团队成员以及租户管理员可以编辑此集成。 +3. **同步方向:** + + - To_ServiceDesk_Plus:将 Flashduty 的故障同步至 ServiceDesk Plus。 + - From_ServiceDesk_Plus:将 ServiceNow 的 Incident 同步至 ServiceDesk Plus。 + - Two-way:Flashduty 和 ServiceDesk Plus 互相同步。 + +4. **触发模式**: + - 自动触发:需要配置相应的条件,Flashduty 会自动将符合条件的故障同步到 ServiceDesk Plus 中。 + - 手动触发:需要在故障详情页的更多操作中手动触发 ServiceDesk Plus 同步(该集成配置的名称为触发器名称)。 + +5. **协作空间**:选择该集成生效的协作空间。 +6. **请求模版**:选择创建 request 时使用的模版。 +7. **严重程度映射**:Flashduty 的严重程度与 ServiceDesk Plus 优先级的映射关系,默认映射关系,请参考[优先级映射](#优先级映射)。 +8. **自定义字段映射**:可以将故障中的标签或自定义字段,映射到 ServiceDesk Plus 工单中的对应文本字段,实现信息自动填充。该功能支持将常见上下文信息(如服务名、实例地址、指标名称等)同步至 ServiceNow,便于后续排查与跟踪。 + - 仅支持目标为单行文本或多行文本类型的字段。 + - 支持从故障标签(如 service、instance)或自定义属性中提取值。 + - 若源字段为空,目标字段也将保持为空,不会覆盖原有内容。 + - 映射配置在集成设置中统一管理,无需每次手动填写。 + +9. **指派对象映射**:当 Flashduty 的故障同步至 ServiceDesk Plus 并需要自动指派到 Technician 或 Group 时,可以获取 Flashduty 故障标签的值作为指派对象(如果对应的指派对象不存在,会导致同步失败,请谨慎选择)。 + +10. 点击`保存`完成配置。 + +### 在 ServiceDesk Plus +#### 步骤2 创建 Requester +当 Flashduty 的故障同步到 ServiceDesk Plus 时,系统自动设置的 Requester + +1. 登录 ServiceDesk Plus 控制台,找到 `Setup` 配置页面。 +2. 选择 `Users & Permissions` 之后,进入到 `Users` 创建页面,选择 `New Requester`。 +3. `Name (Display Name)` 和 `First Name` 填写 **flashduty**,`Email` 填写 **flashduty-sync@flashcat.cloud** 。 +4. 其他可按需设置,点击 `Save` 保存配置。 + +![2025-09-24-15-03-31](https://docs-cdn.flashcat.cloud/images/png/9ee174f85ac918476888efd759511d31.png) + +#### 步骤3 配置同步 +要实现 ServiceDesk Plus 的 Request 向 Flashduty 的同步,请参考此配置项。**注意:** 不同版本的路径可能略有不同,但配置方法相同。 +##### 创建 Webhook +1. 登录 ServiceDesk Plus 控制台,找到 `Setup` 配置页面。 +2. 选择 `Automation` 之后,进入到 `Custom Actions` 页面,并选择 `Webhooks`。 +3. 点击 `New Webhook`,在编辑页面中 `Webhook Name` 填写 **to_Flashduty**。 +4. `URL` 填写集成的推送地址。 +5. `Applies to` 选择 **Requsts**,`Method` 选择 **POST**,`Headers` 中填写 **Content-Type application/json**。 +6. `Message Body` 的 Type 选择 **JSON**,并填写以下内容: + + ``` + # 云版本 + { + "subject":"${subject}", + "request_id":"${id}", + "description":"${udf_fields.txt_destination}", + "priority":"${priority.name}", + "status":"${status.name}", + "txt_test_field":"${udf_fields.txt_test_field}" + + } + ``` + + ``` + # 私有化版本 + { + "suject":"${{request.subject}}", + "request_id":"${{request.id}}", + "description":"${{request.description}}", + "status":"${{request.status.name}}", + "priority":"${{request.priority.name}}", + "udf_sline_301":"${{request.udf_fields.udf_sline_301}}" + } + + ``` +7. 点击 `Save` 完成配置。 + +![2025-09-23-13-32-32](https://docs-cdn.flashcat.cloud/images/png/94ca1d094ed38ebcaf299364eddfd0ac.png) + +##### 创建触发器 +1. 登录 ServiceDesk Plus 控制台,找到 `Setup` 配置页面。 +2. 选择 `Automation` 之后,进入到 `Triggers` 页面,并选择 `Request`。 +3. 点击 `New Trigger`,在编辑页面中 `Name` 填写 **to_Flashduty**。 +4. `Trigger applies to` 选择 **Request**,`Execute when a request is` 勾选 **Create 和 Edited**。 +5. `Execute during` 选择 **Any time**,并勾选 **Enable Trigger**。 +6. `Conditions` 选择 `Without condition` 或按实际需求配置。 +7. 在 `Actions` 中选择 **Webhook** 并勾选 **to_Flashduty** 通道。 +8. 点击 `Save` 完成配置。 + +![2025-09-23-13-42-20](https://docs-cdn.flashcat.cloud/images/png/9573d79763af656e0e08c5bdc3649a14.png) + + +## 同步信息映射关系 + +### 表单字段 + +| ServiceDesk Plus | Flashduty | 备注 | +| ------------------- | ------------- | ---- | +| Subjeck | Title | | 标题 +| Description | Description | 描述信息 | +| Status | Progress | 状态 | +| Priority | Severity | 严重程度 | +| Others | Custom Fields | 自定义字段 | + +### 状态映射 + +| ServiceDesk Plus | Flashduty | 备注 | +| ----------- | ---------- | --------------- | +| Open | Trigger | 触发 | +| In Progress | Processing | 待处理 | +| Assigned | Processing | 待处理 | +| Pending Verification | Processing | 待处理 | +| Staging | Processing | 待处理 | +| On Hold | Snoozed | 默认暂缓 2 小时 | +| Resolved | CLosed | 关闭 | +| Closed | CLosed | 关闭 | +| Canceled | CLosed | 关闭 | +| Rejected | CLosed | 关闭 | + +### 优先级映射 + +| ServiceDesk Plus | Flashduty | 备注 | +| ---------- | --------- | ---- | +| Low | Info | 提示 | +| Medium | Warning | 警告 | +| High | Critical | 灾难 | + + +## 常见问题 + +
+ Scope 是否可以更改 + 不可以,目前所使用的 Scope 已经是最小单元了,Flashduty 在与 ServiceDesc Plus 进行同步 request 时,需要做获取/创建/更新操作,以及在配置集成时,需要获取优先级/自定义字段列表,所以需要相应的权限支持。 +
diff --git a/src/en.ts b/src/en.ts index 2bf8dccd..0d1fe026 100644 --- a/src/en.ts +++ b/src/en.ts @@ -74,6 +74,7 @@ import IncidentWebhook from "../flashduty/en/1. On-call/8. Integrations/8.5 Webh import CustomAction from "../flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.3 Custom action.md?raw"; import JiraSync from "../flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.4 Jira sync.md?raw"; import ServiceNowSync from "../flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.5 ServiceNow sync.md?raw"; +import ServiceDeskPlusSync from "../flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.6 ServiceDesk Plus sync.md?raw"; /** ⬆️⬆️⬆️⬆️ Webhooks ⬆️⬆️⬆️⬆️ */ @@ -152,6 +153,7 @@ const docs = { Monit, Rum, Cloudflare, - WecomAlert + WecomAlert, + ServiceDeskPlusSync }; export default docs; diff --git a/src/zh.ts b/src/zh.ts index 233f7250..f6d12432 100644 --- a/src/zh.ts +++ b/src/zh.ts @@ -73,6 +73,7 @@ import IncidentWebhook from "../flashduty/zh/1. On-call/5. 集成引导/8.5 Webh import CustomAction from "../flashduty/zh/1. On-call/5. 集成引导/8.5 Webhooks/8.5.3 自定义操作.md?raw"; import JiraSync from "../flashduty/zh/1. On-call/5. 集成引导/8.5 Webhooks/8.5.4 Jira 同步.md?raw"; import ServiceNowSync from "../flashduty/zh/1. On-call/5. 集成引导/8.5 Webhooks/8.5.5 ServiceNow 同步.md?raw"; +import ServiceDeskPlusSync from "../flashduty/zh/1. On-call/5. 集成引导/8.5 Webhooks/8.5.6 ServiceDesk Plus 同步.md?raw"; /** ⬆️⬆️⬆️⬆️ Webhooks ⬆️⬆️⬆️⬆️ */ /** 模版 */ @@ -149,6 +150,7 @@ const docs = { Monit, Rum, Cloudflare, - WecomAlert + WecomAlert, + ServiceDeskPlusSync }; export default docs; From fc2de6fd1e7f53e62b171682b39cfd900044b7b7 Mon Sep 17 00:00:00 2001 From: ysyneu Date: Fri, 26 Sep 2025 10:35:11 +0800 Subject: [PATCH 71/86] update faq --- .../1. On-call/1. Getting Started/1.3 FAQ.md | 243 +++++++++++++++-- ...70\350\247\201\351\227\256\351\242\230.md" | 245 ++++++++++++++++-- 2 files changed, 449 insertions(+), 39 deletions(-) diff --git a/flashduty/en/1. On-call/1. Getting Started/1.3 FAQ.md b/flashduty/en/1. On-call/1. Getting Started/1.3 FAQ.md index b8b8d986..2f6ae528 100644 --- a/flashduty/en/1. On-call/1. Getting Started/1.3 FAQ.md +++ b/flashduty/en/1. On-call/1. Getting Started/1.3 FAQ.md @@ -65,24 +65,231 @@ Flashduty On-call's pricing model is based on the number of licenses purchased,
Does Flashduty On-call use fixed numbers for voice notifications? - It depends on the region where notifications are sent. You can download the Flashduty On-call app and authorize automatic contact synchronization: - - Mainland China: (010)21364727, (021)32017538, (010)21364713 and (010)21364708 - - Outside Mainland China: - | Country/Region | Display Number | - | --- | --- | - | United States/Canada | 16465861127 | - | United Kingdom | 16465861127 | - | France | 16465861127 | - | Germany | 16465861127 | - | China Hong Kong | 16465861127 | - | China Taiwan | 16465861127 | - | India | 16465861127 | - | Japan | 16465861127 | - | Malaysia | 16465861127 | - | Singapore | 16465861127 | - | Philippines | 16465861127 | - | Israel | 16465861127 | - | Australia/Cocos/Christmas Island | 16465861127 | + It depends on the region where notifications are sent. You can download the [Flashduty On-call app](https://m.malink.cn/s/Vj26r2) and authorize automatic contact synchronization: +| Region/Country | Code | Display Number | +| --- | --- | --- | +| Mainland, China | +86 | 01021364727
01021364713
01021364708
057123675454
057123675496 | +| Hong Kong, China | +852 | 16465861127 | +| Taiwan, China | +886 | 16465861127 | +| Singapore | +65 | 16465861127 | +| United States | +1 | 16465861127 | +| Canada | +1 | 16465861127 | +| Japan | +81 | 16465861127 | +| India | +91 | 16465861127 | +| Indonesia | +62 | 16465861127 | +| United Kingdom | +44 | 16465861127 | +| Germany | +49 | 16465861127 | +| Anguilla | +1-264 | 16465861127 | +| Antigua and Barbuda | +1-268 | 16465861127 | +| Aruba | +297 | 16465861127 | +| Bahamas | +1-242 | 16465861127 | +| Barbados | +1-246 | 16465861127 | +| Belize | +501 | 16465861127 | +| Bermuda | +1-441 | 16465861127 | +| Cayman Islands | +1-345 | 16465861127 | +| Costa Rica | +506 | 16465861127 | +| Dominica | +1-767 | 16465861127 | +| Dominican Republic | +1-829,1809,1849 | 16465861127 | +| El Salvador | +503 | 16465861127 | +| Greenland | +299 | 16465861127 | +| Grenada | +1-473 | 16465861127 | +| Guadeloupe | +590 | 16465861127 | +| Guatemala | +502 | 16465861127 | +| Haiti | +509 | 16465861127 | +| Honduras | +504 | 16465861127 | +| Jamaica | +1-876 | 16465861127 | +| Martinique | +596 | 16465861127 | +| Mexico | +52 | 16465861127 | +| Montserrat | +1-664 | 16465861127 | +| Netherlands Antilles | +599 | 16465861127 | +| Nicaragua | +505 | 16465861127 | +| Panama | +507 | 16465861127 | +| Puerto Rico | +1-787,1939 | 16465861127 | +| St Kitts and Nevis | +1-869 | 16465861127 | +| St Lucia | +1-758 | 16465861127 | +| St Pierre and Miquelon | +508 | 16465861127 | +| St Vincent Grenadines | +1-784 | 16465861127 | +| Trinidad and Tobago | +1-868 | 16465861127 | +| Turks and Caicos Islands | +1-649 | 16465861127 | +| Virgin Islands, British | +1-284 | 16465861127 | +| Virgin Islands, U.S. | +1-340 | 16465861127 | +| Argentina | +54 | 16465861127 | +| Bolivia | +591 | 16465861127 | +| Brazil | +55 | 16465861127 | +| Chile | +56 | 16465861127 | +| Colombia | +57 | 16465861127 | +| Ecuador | +593 | 16465861127 | +| Falkland Islands | +500 | 16465861127 | +| French Guiana | +594 | 16465861127 | +| Guyana | +592 | 16465861127 | +| Paraguay | +595 | 16465861127 | +| Peru | +51 | 16465861127 | +| Suriname | +597 | 16465861127 | +| Uruguay | +598 | 16465861127 | +| Venezuela | +58 | 16465861127 | +| Albania | +355 | 16465861127 | +| Andorra | +376 | 16465861127 | +| Austria | +43 | 16465861127 | +| Belarus | +375 | 16465861127 | +| Belgium | +32 | 16465861127 | +| Bosnia and Herzegovina | +387 | 16465861127 | +| Bulgaria | +359 | 16465861127 | +| Croatia | +385 | 16465861127 | +| Cyprus | +357 | 16465861127 | +| Czech Republic | +420 | 16465861127 | +| Denmark | +45 | 16465861127 | +| Estonia | +372 | 16465861127 | +| Faroe Islands | +298 | 16465861127 | +| Finland/Aland Islands | +358 | 16465861127 | +| France | +33 | 16465861127 | +| Gibraltar | +350 | 16465861127 | +| Greece | +30 | 16465861127 | +| Hungary | +36 | 16465861127 | +| Iceland | +354 | 16465861127 | +| Ireland | +353 | 16465861127 | +| Italy | +39 | 16465861127 | +| Kosovo | +383 | 16465861127 | +| Latvia | +371 | 16465861127 | +| Liechtenstein | +423 | 16465861127 | +| Lithuania | +370 | 16465861127 | +| Luxembourg | +352 | 16465861127 | +| Macedonia | +389 | 16465861127 | +| Malta | +356 | 16465861127 | +| Moldova | +373 | 16465861127 | +| Monaco | +377 | 16465861127 | +| Montenegro | +382 | 16465861127 | +| Netherlands | +31 | 16465861127 | +| Norway | +47 | 16465861127 | +| Poland | +48 | 16465861127 | +| Portugal | +351 | 16465861127 | +| Romania | +40 | 16465861127 | +| San Marino | +378 | 16465861127 | +| Serbia | +381 | 16465861127 | +| Slovakia | +421 | 16465861127 | +| Slovenia | +386 | 16465861127 | +| Spain | +34 | 16465861127 | +| Sweden | +46 | 16465861127 | +| Switzerland | +41 | 16465861127 | +| Turkish Republic of Northern Cyprus | +9-0392 | 16465861127 | +| Ukraine | +380 | 16465861127 | +| Vatican City | +379 | 16465861127 | +| Afghanistan | +93 | 16465861127 | +| Armenia | +374 | 16465861127 | +| Azerbaijan | +994 | 16465861127 | +| Bahrain | +973 | 16465861127 | +| Bangladesh | +880 | 16465861127 | +| Bhutan | +975 | 16465861127 | +| British Indian Ocean Territory | +246 | 16465861127 | +| Brunei | +673 | 16465861127 | +| Cambodia | +855 | 16465861127 | +| East Timor | +670 | 16465861127 | +| Georgia | +995 | 16465861127 | +| Iraq | +964 | 16465861127 | +| Israel | +972 | 16465861127 | +| Jordan | +962 | 16465861127 | +| Korea, Dem People's Rep | +850 | 16465861127 | +| Korea, Republic of | +82 | 16465861127 | +| Kuwait | +965 | 16465861127 | +| Kyrgyzstan | +996 | 16465861127 | +| Laos PDR | +856 | 16465861127 | +| Lebanon | +961 | 16465861127 | +| Macau | +853 | 16465861127 | +| Malaysia | +60 | 16465861127 | +| Maldives | +960 | 16465861127 | +| Mongolia | +976 | 16465861127 | +| Myanmar | +95 | 16465861127 | +| Nepal | +977 | 16465861127 | +| Oman | +968 | 16465861127 | +| Pakistan | +92 | 16465861127 | +| Palestinian Territory | +970 | 16465861127 | +| Philippines | +63 | 16465861127 | +| Qatar | +974 | 16465861127 | +| Russia/Kazakhstan | +7 | 16465861127 | +| Saudi Arabia | +966 | 16465861127 | +| Singapore | +65 | 16465861127 | +| Sri Lanka | +94 | 16465861127 | +| Tajikistan | +992 | 16465861127 | +| Thailand | +66 | 16465861127 | +| Turkey | +90 | 16465861127 | +| Turkmenistan | +993 | 16465861127 | +| United Arab Emirates | +971 | 16465861127 | +| Uzbekistan | +998 | 16465861127 | +| Vietnam | +84 | 16465861127 | +| Yemen | +967 | 16465861127 | +| Algeria | +213 | 16465861127 | +| Angola | +244 | 16465861127 | +| Benin | +229 | 16465861127 | +| Botswana | +267 | 16465861127 | +| Burkina Faso | +226 | 16465861127 | +| Burundi | +257 | 16465861127 | +| Cameroon | +237 | 16465861127 | +| Cape Verde | +238 | 16465861127 | +| Central Africa | +236 | 16465861127 | +| Chad | +235 | 16465861127 | +| Comoros | +269 | 16465861127 | +| Congo | +242 | 16465861127 | +| Congo, Dem Rep | +243 | 16465861127 | +| Djibouti | +253 | 16465861127 | +| Egypt | +20 | 16465861127 | +| Equatorial Guinea | +240 | 16465861127 | +| Eritrea | +291 | 16465861127 | +| Ethiopia | +251 | 16465861127 | +| Gabon | +241 | 16465861127 | +| Gambia | +220 | 16465861127 | +| Ghana | +233 | 16465861127 | +| Guinea | +224 | 16465861127 | +| Guinea-Bissau | +245 | 16465861127 | +| Ivory Coast | +225 | 16465861127 | +| Kenya | +254 | 16465861127 | +| Lesotho | +266 | 16465861127 | +| Liberia | +231 | 16465861127 | +| Libya | +218 | 16465861127 | +| Madagascar | +261 | 16465861127 | +| Malawi | +265 | 16465861127 | +| Mali | +223 | 16465861127 | +| Mauritania | +222 | 16465861127 | +| Mauritius | +230 | 16465861127 | +| Morocco/Western Sahara | +212 | 16465861127 | +| Mozambique | +258 | 16465861127 | +| Namibia | +264 | 16465861127 | +| Niger | +227 | 16465861127 | +| Nigeria | +234 | 16465861127 | +| Reunion/Mayotte | +262 | 16465861127 | +| Rwanda | +250 | 16465861127 | +| Senegal | +221 | 16465861127 | +| Seychelles | +248 | 16465861127 | +| Sierra Leone | +232 | 16465861127 | +| Somalia | +252 | 16465861127 | +| South Africa | +27 | 16465861127 | +| South Sudan | +211 | 16465861127 | +| Sudan | +249 | 16465861127 | +| Swaziland | +268 | 16465861127 | +| Tanzania | +255 | 16465861127 | +| Togo | +228 | 16465861127 | +| Tunisia | +216 | 16465861127 | +| Uganda | +256 | 16465861127 | +| Zambia | +260 | 16465861127 | +| Zimbabwe | +263 | 16465861127 | +| American Samoa | +1-684 | 16465861127 | +| Australia/Cocos/Christmas Island | +61 | 16465861127 | +| Australian External Territories | +672 | 16465861127 | +| Cook Islands | +682 | 16465861127 | +| Fiji | +679 | 16465861127 | +| French Polynesia | +689 | 16465861127 | +| Guam | +1-671 | 16465861127 | +| Kiribati | +686 | 16465861127 | +| Marshall Islands | +692 | 16465861127 | +| Micronesia | +691 | 16465861127 | +| New Caledonia | +687 | 16465861127 | +| New Zealand | +64 | 16465861127 | +| Northern Mariana Islands | +1-670 | 16465861127 | +| Palau | +680 | 16465861127 | +| Papua New Guinea | +675 | 16465861127 | +| Samoa | +685 | 16465861127 | +| Solomon Islands | +677 | 16465861127 | +| Tonga | +676 | 16465861127 | +| Vanuatu | +678 | 16465861127 | + - Other regions are not currently supported for voice notifications. If you have requirements, please contact us: [support@flashcat.cloud](mailto:support@flashcat.cloud)
diff --git "a/flashduty/zh/1. On-call/1. \345\277\253\351\200\237\345\274\200\345\247\213/1.3 \345\270\270\350\247\201\351\227\256\351\242\230.md" "b/flashduty/zh/1. On-call/1. \345\277\253\351\200\237\345\274\200\345\247\213/1.3 \345\270\270\350\247\201\351\227\256\351\242\230.md" index 4f23f3ca..e4bea9ea 100644 --- "a/flashduty/zh/1. On-call/1. \345\277\253\351\200\237\345\274\200\345\247\213/1.3 \345\270\270\350\247\201\351\227\256\351\242\230.md" +++ "b/flashduty/zh/1. On-call/1. \345\277\253\351\200\237\345\274\200\345\247\213/1.3 \345\270\270\350\247\201\351\227\256\351\242\230.md" @@ -21,8 +21,6 @@ url: "https://docs.flashcat.cloud/zh/flashduty/frequently-asked-questions"
Flashduty On-call 的收费模式 - Flashduty On-call 的收费模式 - Flashduty On-call 的收费模式是基于购买的 License 数量,每个 License 可以对应一个账户成员。例如,您只购买了一个 License,则仅有一个成员可以使用 Flashduty On-call 的全部功能。不过您仍然可以邀请更多成员加入,但只有拥有 License 的成员才能成对平台进行操作配置,其他成员则**无法使用平台任何功能**(仅限于接收故障通知)。具体区别如下: @@ -41,7 +39,6 @@ url: "https://docs.flashcat.cloud/zh/flashduty/frequently-asked-questions" - 没有 License 的成员共享租户的的邮件、短信、电话套餐额度。 - 没有 License 的成员在登录控制台进行查看/处理等操作的时候,会提示没有权限。 -
@@ -69,24 +66,230 @@ url: "https://docs.flashcat.cloud/zh/flashduty/frequently-asked-questions"
Flashduty On-call 是否使用固定号码进行语音通知? - 取决于推送地区,您可下载 Flashduty On-call app 并授权自动同步联系方式: - - 中国大陆:(010)21364727、(021)32017538、(010)21364713 和 (010)21364708 - - 中国大陆以外: - | 国家/地区 | 显示号码 | - | --- | --- | - | 美国/加拿大 | 16465861127 | - | 英国 | 16465861127 | - | 法国 | 16465861127 | - | 德国 | 16465861127 | - | 中国香港 | 16465861127 | - | 中国台湾 | 16465861127 | - | 印度 | 16465861127 | - | 日本 | 16465861127 | - | 马来西亚 | 16465861127 | - | 新加坡 | 16465861127 | - | 菲律宾 | 16465861127 | - | 以色列 | 16465861127 | - | 澳大利亚 | 16465861127 | + 取决于推送地区,您可下载 [Flashduty On-call app](https://m.malink.cn/s/Vj26r2) 并授权自动同步联系方式: + | 地区 | 地区码 | 显示号码 | +| --- | --- | --- | +| 中国大陆 | +86 | 01021364727
01021364713
01021364708
057123675454
057123675496 | +| 中国香港 | +852 | 16465861127 | +| 中国台湾 | +886 | 16465861127 | +| 新加坡 | +65 | 16465861127 | +| 美国 | +1 | 16465861127 | +| 加拿大 | +1 | 16465861127 | +| 日本 | +81 | 16465861127 | +| 印度 | +91 | 16465861127 | +| 印度尼西亚 | +62 | 16465861127 | +| 英国 | +44 | 16465861127 | +| 德国 | +49 | 16465861127 | +| 安圭拉 | +1-264 | 16465861127 | +| 安提瓜和巴布达 | +1-268 | 16465861127 | +| 阿鲁巴 | +297 | 16465861127 | +| 巴哈马 | +1-242 | 16465861127 | +| 巴巴多斯 | +1-246 | 16465861127 | +| 伯利兹 | +501 | 16465861127 | +| 百慕大 | +1-441 | 16465861127 | +| 开曼群岛 | +1-345 | 16465861127 | +| 哥斯达黎加 | +506 | 16465861127 | +| 多米尼克 | +1-767 | 16465861127 | +| 多米尼加共和国 | +1-829,1809,1849 | 16465861127 | +| 萨尔瓦多 | +503 | 16465861127 | +| 格陵兰 | +299 | 16465861127 | +| 格林纳达 | +1-473 | 16465861127 | +| 瓜德罗普 | +590 | 16465861127 | +| 危地马拉 | +502 | 16465861127 | +| 海地 | +509 | 16465861127 | +| 洪都拉斯 | +504 | 16465861127 | +| 牙买加 | +1-876 | 16465861127 | +| 马提尼克 | +596 | 16465861127 | +| 墨西哥 | +52 | 16465861127 | +| 蒙特塞拉特 | +1-664 | 16465861127 | +| 荷属安的列斯 | +599 | 16465861127 | +| 尼加拉瓜 | +505 | 16465861127 | +| 巴拿马 | +507 | 16465861127 | +| 波多黎各 | +1-787,1939 | 16465861127 | +| 圣基茨和尼维斯 | +1-869 | 16465861127 | +| 圣卢西亚 | +1-758 | 16465861127 | +| 圣皮埃尔和密克隆 | +508 | 16465861127 | +| 圣文森特和格林纳丁斯 | +1-784 | 16465861127 | +| 特立尼达和多巴哥 | +1-868 | 16465861127 | +| 特克斯和凯科斯群岛 | +1-649 | 16465861127 | +| 英属维尔京群岛 | +1-284 | 16465861127 | +| 美属维尔京群岛 | +1-340 | 16465861127 | +| 阿根廷 | +54 | 16465861127 | +| 玻利维亚 | +591 | 16465861127 | +| 巴西 | +55 | 16465861127 | +| 智利 | +56 | 16465861127 | +| 哥伦比亚 | +57 | 16465861127 | +| 厄瓜多尔 | +593 | 16465861127 | +| 福克兰群岛 | +500 | 16465861127 | +| 法属圭亚那 | +594 | 16465861127 | +| 圭亚那 | +592 | 16465861127 | +| 巴拉圭 | +595 | 16465861127 | +| 秘鲁 | +51 | 16465861127 | +| 苏里南 | +597 | 16465861127 | +| 乌拉圭 | +598 | 16465861127 | +| 委内瑞拉 | +58 | 16465861127 | +| 阿尔巴尼亚 | +355 | 16465861127 | +| 安道尔 | +376 | 16465861127 | +| 奥地利 | +43 | 16465861127 | +| 白俄罗斯 | +375 | 16465861127 | +| 比利时 | +32 | 16465861127 | +| 波斯尼亚和黑塞哥维那 | +387 | 16465861127 | +| 保加利亚 | +359 | 16465861127 | +| 克罗地亚 | +385 | 16465861127 | +| 塞浦路斯 | +357 | 16465861127 | +| 捷克共和国 | +420 | 16465861127 | +| 丹麦 | +45 | 16465861127 | +| 爱沙尼亚 | +372 | 16465861127 | +| 法罗群岛 | +298 | 16465861127 | +| 芬兰/奥兰群岛 | +358 | 16465861127 | +| 法国 | +33 | 16465861127 | +| 直布罗陀 | +350 | 16465861127 | +| 希腊 | +30 | 16465861127 | +| 匈牙利 | +36 | 16465861127 | +| 冰岛 | +354 | 16465861127 | +| 爱尔兰 | +353 | 16465861127 | +| 意大利 | +39 | 16465861127 | +| 科索沃 | +383 | 16465861127 | +| 拉脱维亚 | +371 | 16465861127 | +| 列支敦士登 | +423 | 16465861127 | +| 立陶宛 | +370 | 16465861127 | +| 卢森堡 | +352 | 16465861127 | +| 北马其顿 | +389 | 16465861127 | +| 马耳他 | +356 | 16465861127 | +| 摩尔多瓦 | +373 | 16465861127 | +| 摩纳哥 | +377 | 16465861127 | +| 黑山 | +382 | 16465861127 | +| 荷兰 | +31 | 16465861127 | +| 挪威 | +47 | 16465861127 | +| 波兰 | +48 | 16465861127 | +| 葡萄牙 | +351 | 16465861127 | +| 罗马尼亚 | +40 | 16465861127 | +| 圣马力诺 | +378 | 16465861127 | +| 塞尔维亚 | +381 | 16465861127 | +| 斯洛伐克 | +421 | 16465861127 | +| 斯洛文尼亚 | +386 | 16465861127 | +| 西班牙 | +34 | 16465861127 | +| 瑞典 | +46 | 16465861127 | +| 瑞士 | +41 | 16465861127 | +| 北塞浦路斯土耳其共和国 | +9-0392 | 16465861127 | +| 乌克兰 | +380 | 16465861127 | +| 梵蒂冈 | +379 | 16465861127 | +| 阿富汗 | +93 | 16465861127 | +| 亚美尼亚 | +374 | 16465861127 | +| 阿塞拜疆 | +994 | 16465861127 | +| 巴林 | +973 | 16465861127 | +| 孟加拉国 | +880 | 16465861127 | +| 不丹 | +975 | 16465861127 | +| 英属印度洋领地 | +246 | 16465861127 | +| 文莱 | +673 | 16465861127 | +| 柬埔寨 | +855 | 16465861127 | +| 东帝汶 | +670 | 16465861127 | +| 格鲁吉亚 | +995 | 16465861127 | +| 伊拉克 | +964 | 16465861127 | +| 以色列 | +972 | 16465861127 | +| 约旦 | +962 | 16465861127 | +| 朝鲜 | +850 | 16465861127 | +| 韩国 | +82 | 16465861127 | +| 科威特 | +965 | 16465861127 | +| 吉尔吉斯斯坦 | +996 | 16465861127 | +| 老挝 | +856 | 16465861127 | +| 黎巴嫩 | +961 | 16465861127 | +| 中国澳门 | +853 | 16465861127 | +| 马来西亚 | +60 | 16465861127 | +| 马尔代夫 | +960 | 16465861127 | +| 蒙古国 | +976 | 16465861127 | +| 缅甸 | +95 | 16465861127 | +| 尼泊尔 | +977 | 16465861127 | +| 阿曼 | +968 | 16465861127 | +| 巴基斯坦 | +92 | 16465861127 | +| 巴勒斯坦国 | +970 | 16465861127 | +| 菲律宾 | +63 | 16465861127 | +| 卡塔尔 | +974 | 16465861127 | +| 俄罗斯/哈萨克斯坦 | +7 | 16465861127 | +| 沙特阿拉伯 | +966 | 16465861127 | +| 斯里兰卡 | +94 | 16465861127 | +| 塔吉克斯坦 | +992 | 16465861127 | +| 泰国 | +66 | 16465861127 | +| 土耳其 | +90 | 16465861127 | +| 土库曼斯坦 | +993 | 16465861127 | +| 阿拉伯联合酋长国 | +971 | 16465861127 | +| 乌兹别克斯坦 | +998 | 16465861127 | +| 越南 | +84 | 16465861127 | +| 也门 | +967 | 16465861127 | +| 阿尔及利亚 | +213 | 16465861127 | +| 安哥拉 | +244 | 16465861127 | +| 贝宁 | +229 | 16465861127 | +| 博茨瓦纳 | +267 | 16465861127 | +| 布基纳法索 | +226 | 16465861127 | +| 布隆迪 | +257 | 16465861127 | +| 喀麦隆 | +237 | 16465861127 | +| 佛得角 | +238 | 16465861127 | +| 中非共和国 | +236 | 16465861127 | +| 乍得 | +235 | 16465861127 | +| 科摩罗 | +269 | 16465861127 | +| 刚果共和国 | +242 | 16465861127 | +| 刚果民主共和国 | +243 | 16465861127 | +| 吉布提 | +253 | 16465861127 | +| 埃及 | +20 | 16465861127 | +| 赤道几内亚 | +240 | 16465861127 | +| 厄立特里亚 | +291 | 16465861127 | +| 埃塞俄比亚 | +251 | 16465861127 | +| 加蓬 | +241 | 16465861127 | +| 冈比亚 | +220 | 16465861127 | +| 加纳 | +233 | 16465861127 | +| 几内亚 | +224 | 16465861127 | +| 几内亚比绍 | +245 | 16465861127 | +| 科特迪瓦 | +225 | 16465861127 | +| 肯尼亚 | +254 | 16465861127 | +| 莱索托 | +266 | 16465861127 | +| 利比里亚 | +231 | 16465861127 | +| 利比亚 | +218 | 16465861127 | +| 马达加斯加 | +261 | 16465861127 | +| 马拉维 | +265 | 16465861127 | +| 马里 | +223 | 16465861127 | +| 毛里塔尼亚 | +222 | 16465861127 | +| 毛里求斯 | +230 | 16465861127 | +| 摩洛哥/西撒哈拉 | +212 | 16465861127 | +| 莫桑比克 | +258 | 16465861127 | +| 纳米比亚 | +264 | 16465861127 | +| 尼日尔 | +227 | 16465861127 | +| 尼日利亚 | +234 | 16465861127 | +| 留尼汪/马约特 | +262 | 16465861127 | +| 卢旺达 | +250 | 16465861127 | +| 塞内加尔 | +221 | 16465861127 | +| 塞舌尔 | +248 | 16465861127 | +| 塞拉利昂 | +232 | 16465861127 | +| 索马里 | +252 | 16465861127 | +| 南非 | +27 | 16465861127 | +| 南苏丹 | +211 | 16465861127 | +| 苏丹 | +249 | 16465861127 | +| 斯威士兰 | +268 | 16465861127 | +| 坦桑尼亚 | +255 | 16465861127 | +| 多哥 | +228 | 16465861127 | +| 突尼斯 | +216 | 16465861127 | +| 乌干达 | +256 | 16465861127 | +| 赞比亚 | +260 | 16465861127 | +| 津巴布韦 | +263 | 16465861127 | +| 美属萨摩亚 | +1-684 | 16465861127 | +| 澳大利亚/科科斯/圣诞岛 | +61 | 16465861127 | +| 澳大利亚外部领地 | +672 | 16465861127 | +| 库克群岛 | +682 | 16465861127 | +| 斐济 | +679 | 16465861127 | +| 法属波利尼西亚 | +689 | 16465861127 | +| 关岛 | +1-671 | 16465861127 | +| 基里巴斯 | +686 | 16465861127 | +| 马绍尔群岛 | +692 | 16465861127 | +| 密克罗尼西亚联邦 | +691 | 16465861127 | +| 新喀里多尼亚 | +687 | 16465861127 | +| 新西兰 | +64 | 16465861127 | +| 北马里亚纳群岛 | +1-670 | 16465861127 | +| 帕劳 | +680 | 16465861127 | +| 巴布亚新几内亚 | +675 | 16465861127 | +| 萨摩亚 | +685 | 16465861127 | +| 所罗门群岛 | +677 | 16465861127 | +| 汤加 | +676 | 16465861127 | +| 瓦努阿图 | +678 | 16465861127 | + - 其他区域暂不支持推送语音,如果您有需求,请联系我们:[support@flashcat.cloud](mailto:support@flashcat.cloud)
From 0338b55419674e62fea8f0c4b7b4daadf01f4386 Mon Sep 17 00:00:00 2001 From: Fiona Date: Sun, 28 Sep 2025 10:37:55 +0800 Subject: [PATCH 72/86] feat: update url --- .../1. \346\246\202\350\247\210.md" | 4 ++-- .../2. \346\225\260\346\215\256\346\237\245\350\257\242.md" | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git "a/flashduty/zh/2. RUM/5. \346\237\245\347\234\213\345\231\250/1. \346\246\202\350\247\210.md" "b/flashduty/zh/2. RUM/5. \346\237\245\347\234\213\345\231\250/1. \346\246\202\350\247\210.md" index 68196027..2cf30d13 100644 --- "a/flashduty/zh/2. RUM/5. \346\237\245\347\234\213\345\231\250/1. \346\246\202\350\247\210.md" +++ "b/flashduty/zh/2. RUM/5. \346\237\245\347\234\213\345\231\250/1. \346\246\202\350\247\210.md" @@ -52,5 +52,5 @@ Flashduty RUM **查看器**(RUM Explorer)是一款强大的数据分析工 ## 下一步 -- [数据查询指南](https://docs.flashcat.cloud/zh/flashduty/rum/xx) -- [分布式追踪最佳实践](https://docs.flashcat.cloud/zh/flashduty/rum/xx) +- [数据查询指南](https://docs.flashcat.cloud/zh/flashduty/rum/session-explorer-data-query) +- [分布式追踪最佳实践](https://docs.flashcat.cloud/zh/flashduty/rum/trace-tracking) diff --git "a/flashduty/zh/2. RUM/5. \346\237\245\347\234\213\345\231\250/2. \346\225\260\346\215\256\346\237\245\350\257\242.md" "b/flashduty/zh/2. RUM/5. \346\237\245\347\234\213\345\231\250/2. \346\225\260\346\215\256\346\237\245\350\257\242.md" index 63896c37..3958e8ce 100644 --- "a/flashduty/zh/2. RUM/5. \346\237\245\347\234\213\345\231\250/2. \346\225\260\346\215\256\346\237\245\350\257\242.md" +++ "b/flashduty/zh/2. RUM/5. \346\237\245\347\234\213\345\231\250/2. \346\225\260\346\215\256\346\237\245\350\257\242.md" @@ -24,7 +24,7 @@ Flashduty RUM 查看器提供了强大的检索能力,允许您通过灵活的 ## 全文检索 -:::highlight orange 💡 +:::highlight orange 💡 全文检索仅部分字段支持全文检索,如未查询到结果,请转为字段查询。 ::: @@ -60,7 +60,7 @@ Flashduty RUM 查看器提供了强大的检索能力,允许您通过灵活的 | 查询语句 | 描述 | | :-------------------------- | -------------------------------------- | | session_error_count:>5 | 检索错误数大于 `5` 的会话 | -| view_time_spent:>=1.00min | 检索停留时间大于 `1min` 的视图 | +| view_time_spent:>=1.00min | 检索停留时间大于 `1min` 的视图 | | session_view_count:[2 TO 8] | 检索视图访问量在 `2` 和 `8` 之间的会话 | ## 复杂检索 @@ -145,4 +145,3 @@ geo_country:China session_error_count:>0 - [RUM 查看器概览](https://docs.flashcat.cloud/zh/flashduty/rum/rum-explorer) - [分布式追踪最佳实践](https://docs.flashcat.cloud/zh/flashduty/rum/distributed-tracing) -- [性能监控分析](https://docs.flashcat.cloud/zh/flashduty/rum/performance-monitoring) From 8c48afccdc5f2fa76b75721c3d05665a5fcb8289 Mon Sep 17 00:00:00 2001 From: pijiang <419471640@qq.com> Date: Tue, 14 Oct 2025 10:32:00 +0800 Subject: [PATCH 73/86] update sdp doc --- .../8.5.6 ServiceDesk Plus \345\220\214\346\255\245.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.6 ServiceDesk Plus \345\220\214\346\255\245.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.6 ServiceDesk Plus \345\220\214\346\255\245.md" index 44e74dbf..b31ba9a6 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.6 ServiceDesk Plus \345\220\214\346\255\245.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.5 Webhooks/8.5.6 ServiceDesk Plus \345\220\214\346\255\245.md" @@ -62,7 +62,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/servicedesk-plus-sync" 3. **同步方向:** - To_ServiceDesk_Plus:将 Flashduty 的故障同步至 ServiceDesk Plus。 - - From_ServiceDesk_Plus:将 ServiceNow 的 Incident 同步至 ServiceDesk Plus。 + - From_ServiceDesk_Plus:将 ServiceDesk Plus 的 Request 同步至 Flashduty。 - Two-way:Flashduty 和 ServiceDesk Plus 互相同步。 4. **触发模式**: From 686e45282033034c24e662e91366628da2cac5b6 Mon Sep 17 00:00:00 2001 From: niuweili <957905827@qq.com> Date: Tue, 14 Oct 2025 17:27:15 +0800 Subject: [PATCH 74/86] feat: v1.3.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b098093e..08e627c0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "flashduty-knowledge-base", - "version": "1.3.4", + "version": "1.3.5", "description": "flashduty knowledge base", "type": "module", "engines": { From 78211ee4e5dfd1dd87b6a3a4b485cf1b89b5a5e1 Mon Sep 17 00:00:00 2001 From: niuweili <957905827@qq.com> Date: Tue, 14 Oct 2025 19:56:47 +0800 Subject: [PATCH 75/86] =?UTF-8?q?feat:=20=E8=A1=A5=E5=85=85=E4=BC=81?= =?UTF-8?q?=E5=BE=AE=E5=BA=94=E7=94=A8=E4=B8=BB=E9=A1=B5=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../8.3.3 WeCom Integration Guide.md | 22 +++++++++++++--- ...06\346\210\220\346\214\207\345\274\225.md" | 25 ++++++++++++++----- 2 files changed, 37 insertions(+), 10 deletions(-) diff --git a/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md b/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md index b1e48ed7..91966d26 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md +++ b/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md @@ -64,7 +64,7 @@ This document supports both [integrating third-party applications](#third-party) 6. On the application details page, obtain the `Secret` and fill it in the Flashduty integration configuration page. -7. On the application details page, go to **Web Authorization and JS-SDK** page, click **Set Trusted Domain**, and configure **Callback domain for application OAuth 2.0 web authorization** as required. +7. On the application details page, go to **Web Authorization and JS-SDK** page, click **Set Trusted Domain**. > The trusted domain needs to point to Flashduty's backend address `{api_host}` (can be achieved through CNAME or proxy forwarding). > @@ -84,9 +84,20 @@ This document supports both [integrating third-party applications](#third-party) ![2025-09-18-13-10-56](https://docs-cdn.flashcat.cloud/images/png/9a1bee272010ceaa38d2f39025215379.png) -10. Company's Trusted IP : 47.94.95.118; 123.56.8.183; 47.94.193.81; 1.13.19.96 - ![2025-09-19-11-06-36](https://docs-cdn.flashcat.cloud/images/png/0aa3c0129f7c99785ea77d088cd65774.png) +10. Configure **Frontend Trusted Domain** + + > The trusted domain needs to point to Flashduty's frontend address `console.flashcat.cloud` (can be implemented through CNAME or proxy forwarding). + > + > For requirements regarding trusted domains, please refer to the WeCom official documentation ['Enterprise Internal Development Domain Configuration Guide'](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754). + + After the frontend trusted domain verification passes, configure the generated **homepage address** to the WeCom application's **workbench application homepage**. + + ![2025-10-14-19-52-19](https://docs-cdn.flashcat.cloud/images/png/cfd963b52a332082fc46ae12021ae73d.png) + +11. Configure **Trusted IP Address**: `47.93.12.134` + + ![2025-09-19-11-03-07](https://docs-cdn.flashcat.cloud/images/png/40ee9fe1bea9d2ad1da3180517c45dc7.png) ## 3. Configure war room @@ -127,4 +138,7 @@ After completing the previous steps, in the **Enhanced Features** module of the 7. **Incident notification failed with prompt `WeCom license not activated`?** - Please contact Flashduty customer service or your dedicated technical support to purchase and activate the license for you. 8. **Why is the war room feature not working as expected?** - - Please refer to the **FAQ** section of the Flashduty [War Room Introduction](https://docs.flashcat.cloud/en/flashduty/war-room?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5). \ No newline at end of file + - Please refer to the **FAQ** section of the Flashduty [War Room Introduction](https://docs.flashcat.cloud/en/flashduty/war-room?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5). +9. **Why does it prompt "redirect_uri needs to use the application's trusted domain" when opening the app in the WeCom workspace?** +![2025-10-14-19-43-01](https://docs-cdn.flashcat.cloud/images/png/4f7c73c4224f80ba47b0f83d45b5e780.png) + - Please confirm whether the domain in the `redirect_uri` parameter in the **App Homepage** URL has completed the domain ownership verification required by WeCom. For details, see the WeCom official documentation ['Enterprise Internal Development Domain Configuration Guide'](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754). \ No newline at end of file diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" index a7b086ae..233fd8f1 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -45,7 +45,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" 4. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps),进入 **我的企业** 页面,获取 `企业 ID`。 - ![2025-09-18-11-44-54](https://docs-cdn.flashcat.cloud/images/png/c032dc755a72550d57658dd5962dafe4.png) + ![2025-09-18-11-44-54](https://docs-cdn.flashcat.cloud/images/png/c032dc755a72550d57658dd5962dafe4.png) 5. 返回 Flashduty 集成配置页面,填写上一步获取的 `企业 ID`,点击 **保存** 完成集成。 @@ -73,13 +73,13 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" 6. 在应用详情页,获取 `Secret`,并将其填写至 Flashduty 集成配置页面。 -7. 在应用详情页,进入 **网页授权及 JS-SDK** 页面,点击 **设置可信域名**,并按要求配置 **可作为应用 OAuth 2.0 网页授权功能的回调域名**。 +7. 在应用详情页,进入 **网页授权及 JS-SDK** 页面,点击 **设置可信域名**,并按要求配置。 > 可信域名需要指向 Flashduty 的后端地址 `{api_host}`(可通过 CNAME 或代理转发实现)。 > > 关于可信域名的要求,详见企业微信官方文档 [《企业内部开发配置域名指引》](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754)。 - ![2025-09-18-11-51-26](https://docs-cdn.flashcat.cloud/images/png/5a07bc5e55edf4bb19b142dfbc83f653.png) + ![2025-10-14-18-14-35](https://docs-cdn.flashcat.cloud/images/png/4be16b9ae4065c0199ba7f54781444e7.png) 返回 Flashduty 集成配置页面,填写该域名,并完成验证。 @@ -91,11 +91,21 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" 9. 复制 Flashduty 集成详情页中的 `回调地址`,返回企业微信刚才的 **接收消息** 页面。在 **API 接收** 设置中,填入该 `回调地址` 以及上一步保存的 `Token` 和 `EncodingAESKey`,然后点击 **保存**。 - ![2025-09-18-11-56-43](https://docs-cdn.flashcat.cloud/images/png/c990c27f7ad90af172e159fc4acfead7.png) + ![2025-09-18-11-56-43](https://docs-cdn.flashcat.cloud/images/png/c990c27f7ad90af172e159fc4acfead7.png) -10. 配置可信 IP 地址:47.94.95.118; 123.56.8.183; 47.94.193.81; 1.13.19.96 +10. 配置**前端可信域名** - ![2025-09-19-11-03-07](https://docs-cdn.flashcat.cloud/images/png/40ee9fe1bea9d2ad1da3180517c45dc7.png) + > 可信域名需要指向 Flashduty 的前端地址 `console.flashcat.cloud`(可通过 CNAME 或代理转发实现)。 + > + > 关于可信域名的要求,详见企业微信官方文档 [《企业内部开发配置域名指引》](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754)。 + + 前端可信域名校验通过后将生成的**主页地址**配置到企微应用的**工作台应用主页** + + ![2025-10-14-19-51-01](https://docs-cdn.flashcat.cloud/images/png/595a71dd5624a37312676e83c45d79c4.png) + +11. 配置**可信 IP 地址**:`47.93.12.134` + + ![2025-09-19-11-03-07](https://docs-cdn.flashcat.cloud/images/png/40ee9fe1bea9d2ad1da3180517c45dc7.png) ## 三、配置作战室 @@ -138,3 +148,6 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" - 请联系 Flashduty 客服或您的专属技术支持,为您购买并开通许可。 8. **为什么作战室功能未按预期工作?** - 请参考 Flashduty [作战室介绍文档](https://docs.flashcat.cloud/zh/flashduty/war-room) 的 **常见问题** 部分。 +9. **为什么在企微工作台打开应用后提示“redirect_uri需使用应用可信域名”?** +![2025-10-14-19-43-01](https://docs-cdn.flashcat.cloud/images/png/4f7c73c4224f80ba47b0f83d45b5e780.png) + - 请确认**应用主页**的url中的`redirect_uri`参数中的域名是否完成完成域名企业微信要求的归属认证,详见企业微信官方文档 [《企业内部开发配置域名指引》](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754)。 \ No newline at end of file From 2151edd8127f7c795130de11e8a84cfe4281dedd Mon Sep 17 00:00:00 2001 From: niuweili <957905827@qq.com> Date: Tue, 14 Oct 2025 20:20:24 +0800 Subject: [PATCH 76/86] del: faq img --- .../8.3 IM integration/8.3.3 WeCom Integration Guide.md | 1 - ...41 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" | 1 - 2 files changed, 2 deletions(-) diff --git a/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md b/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md index 91966d26..ee778ca6 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md +++ b/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md @@ -140,5 +140,4 @@ After completing the previous steps, in the **Enhanced Features** module of the 8. **Why is the war room feature not working as expected?** - Please refer to the **FAQ** section of the Flashduty [War Room Introduction](https://docs.flashcat.cloud/en/flashduty/war-room?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5). 9. **Why does it prompt "redirect_uri needs to use the application's trusted domain" when opening the app in the WeCom workspace?** -![2025-10-14-19-43-01](https://docs-cdn.flashcat.cloud/images/png/4f7c73c4224f80ba47b0f83d45b5e780.png) - Please confirm whether the domain in the `redirect_uri` parameter in the **App Homepage** URL has completed the domain ownership verification required by WeCom. For details, see the WeCom official documentation ['Enterprise Internal Development Domain Configuration Guide'](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754). \ No newline at end of file diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" index 233fd8f1..6723a565 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -149,5 +149,4 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" 8. **为什么作战室功能未按预期工作?** - 请参考 Flashduty [作战室介绍文档](https://docs.flashcat.cloud/zh/flashduty/war-room) 的 **常见问题** 部分。 9. **为什么在企微工作台打开应用后提示“redirect_uri需使用应用可信域名”?** -![2025-10-14-19-43-01](https://docs-cdn.flashcat.cloud/images/png/4f7c73c4224f80ba47b0f83d45b5e780.png) - 请确认**应用主页**的url中的`redirect_uri`参数中的域名是否完成完成域名企业微信要求的归属认证,详见企业微信官方文档 [《企业内部开发配置域名指引》](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754)。 \ No newline at end of file From a46d3361735843a606de53788e2f78a9857bbd48 Mon Sep 17 00:00:00 2001 From: niuweili <957905827@qq.com> Date: Tue, 14 Oct 2025 20:22:32 +0800 Subject: [PATCH 77/86] fix: text --- .../8.3 IM integration/8.3.3 WeCom Integration Guide.md | 2 +- ...1 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md b/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md index ee778ca6..07a74569 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md +++ b/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md @@ -140,4 +140,4 @@ After completing the previous steps, in the **Enhanced Features** module of the 8. **Why is the war room feature not working as expected?** - Please refer to the **FAQ** section of the Flashduty [War Room Introduction](https://docs.flashcat.cloud/en/flashduty/war-room?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5). 9. **Why does it prompt "redirect_uri needs to use the application's trusted domain" when opening the app in the WeCom workspace?** - - Please confirm whether the domain in the `redirect_uri` parameter in the **App Homepage** URL has completed the domain ownership verification required by WeCom. For details, see the WeCom official documentation ['Enterprise Internal Development Domain Configuration Guide'](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754). \ No newline at end of file + - Please confirm whether the domain in the `redirect_uri` parameter of the **App Homepage** URL has completed the domain ownership verification required by WeCom. For details, see the WeCom official documentation ['Enterprise Internal Development Domain Configuration Guide'](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754). \ No newline at end of file diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" index 6723a565..8fd2881e 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -149,4 +149,4 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" 8. **为什么作战室功能未按预期工作?** - 请参考 Flashduty [作战室介绍文档](https://docs.flashcat.cloud/zh/flashduty/war-room) 的 **常见问题** 部分。 9. **为什么在企微工作台打开应用后提示“redirect_uri需使用应用可信域名”?** - - 请确认**应用主页**的url中的`redirect_uri`参数中的域名是否完成完成域名企业微信要求的归属认证,详见企业微信官方文档 [《企业内部开发配置域名指引》](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754)。 \ No newline at end of file + - 请确认**应用主页**的url中的`redirect_uri`参数中的域名是否完成企业微信要求的域名归属认证,详见企业微信官方文档 [《企业内部开发配置域名指引》](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754)。 \ No newline at end of file From 956f03956dd0a2b699eb14cbfff7265f47135ab5 Mon Sep 17 00:00:00 2001 From: niuweili <957905827@qq.com> Date: Tue, 14 Oct 2025 20:28:54 +0800 Subject: [PATCH 78/86] fix: update ip --- .../8.3 IM integration/8.3.3 WeCom Integration Guide.md | 2 +- ...1 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md b/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md index 07a74569..c47c9c9c 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md +++ b/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md @@ -97,7 +97,7 @@ This document supports both [integrating third-party applications](#third-party) 11. Configure **Trusted IP Address**: `47.93.12.134` - ![2025-09-19-11-03-07](https://docs-cdn.flashcat.cloud/images/png/40ee9fe1bea9d2ad1da3180517c45dc7.png) + ![2025-10-14-20-28-20](https://docs-cdn.flashcat.cloud/images/png/d9c2184ba459bda0c3302e7634ccf48c.png) ## 3. Configure war room diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" index 8fd2881e..c6b6fc59 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -105,7 +105,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" 11. 配置**可信 IP 地址**:`47.93.12.134` - ![2025-09-19-11-03-07](https://docs-cdn.flashcat.cloud/images/png/40ee9fe1bea9d2ad1da3180517c45dc7.png) + ![2025-10-14-20-26-45](https://docs-cdn.flashcat.cloud/images/png/fe3b2b788dda5d331148ba0946631b91.png) ## 三、配置作战室 From ff34c87ef137383b7dd18951996a2d27c0a4f26a Mon Sep 17 00:00:00 2001 From: niuweili <957905827@qq.com> Date: Wed, 15 Oct 2025 10:31:17 +0800 Subject: [PATCH 79/86] feat: update img --- .../8.3 IM integration/8.3.3 WeCom Integration Guide.md | 2 +- ...1 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md b/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md index c47c9c9c..c519f360 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md +++ b/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.3 WeCom Integration Guide.md @@ -70,7 +70,7 @@ This document supports both [integrating third-party applications](#third-party) > > For trusted domain requirements, see the official WeCom documentation [《Internal Development Domain Configuration Guide》](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754). - ![2025-09-18-13-08-43](https://docs-cdn.flashcat.cloud/images/png/8509e75449c933c3f750c93ce621e641.png) +![2025-10-15-10-30-03](https://docs-cdn.flashcat.cloud/images/png/993ba70e9a13ee0256120b491dda007a.png) Return to the Flashduty integration configuration page, fill in this domain, and complete the verification. diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" index c6b6fc59..6b46b76f 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" +++ "b/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.3 \345\215\263\346\227\266\346\266\210\346\201\257/8.3.3 \344\274\201\344\270\232\345\276\256\344\277\241 Wecom \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -79,7 +79,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide" > > 关于可信域名的要求,详见企业微信官方文档 [《企业内部开发配置域名指引》](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754)。 - ![2025-10-14-18-14-35](https://docs-cdn.flashcat.cloud/images/png/4be16b9ae4065c0199ba7f54781444e7.png) + ![2025-10-15-10-30-56](https://docs-cdn.flashcat.cloud/images/png/09a91d682198d1c8f830b5ed523965ef.png) 返回 Flashduty 集成配置页面,填写该域名,并完成验证。 From 757178661c59f08b4dd9a0d119f786f2d8fa44da Mon Sep 17 00:00:00 2001 From: ysyneu Date: Thu, 16 Oct 2025 11:41:52 +0800 Subject: [PATCH 80/86] feat: add test env meilisearch upload workflow --- .github/workflows/test-meilisearch-upload.yml | 72 +++++++++++++++++++ upload.sh | 21 +++++- 2 files changed, 91 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/test-meilisearch-upload.yml diff --git a/.github/workflows/test-meilisearch-upload.yml b/.github/workflows/test-meilisearch-upload.yml new file mode 100644 index 00000000..2d3ae016 --- /dev/null +++ b/.github/workflows/test-meilisearch-upload.yml @@ -0,0 +1,72 @@ +# This workflow uploads markdown documents to Meilisearch when code is merged to test branch + +name: 测试环境-上传到Meilisearch + +on: + push: + branches: [test] + workflow_dispatch: + +jobs: + upload-to-meilisearch: + runs-on: self-hosted + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Check required tools + run: | + # Check if jq is installed + if ! command -v jq &> /dev/null; then + echo "Installing jq..." + if command -v apt-get &> /dev/null; then + sudo apt-get update && sudo apt-get install -y jq + elif command -v yum &> /dev/null; then + sudo yum install -y jq + elif command -v brew &> /dev/null; then + brew install jq + else + echo "Error: Cannot install jq. Please install it manually." + exit 1 + fi + fi + + # Check if curl is available + if ! command -v curl &> /dev/null; then + echo "Error: curl is required but not installed." + exit 1 + fi + + # Check if openssl is available (for MD5 hash generation) + if ! command -v openssl &> /dev/null; then + echo "Error: openssl is required but not installed." + exit 1 + fi + + - name: Validate environment variables + run: | + if [[ -z "$MEILI_ENDPOINT" || -z "$MEILI_API_KEY" || -z "$MEILI_INDEX" ]]; then + echo "Error: Missing required environment variables." + echo "Please ensure MEILI_ENDPOINT, MEILI_API_KEY, and MEILI_INDEX are set." + exit 1 + fi + echo "Environment variables validated successfully." + env: + MEILI_ENDPOINT: ${{ secrets.MEILI_ENDPOINT_TEST }} + MEILI_API_KEY: ${{ secrets.MEILI_API_KEY_TEST }} + MEILI_INDEX: ${{ secrets.MEILI_INDEX_TEST }} + + - name: Upload documents to Meilisearch + run: | + chmod +x ./upload.sh + ./upload.sh + env: + MEILI_ENDPOINT: ${{ secrets.MEILI_ENDPOINT_TEST }} + MEILI_API_KEY: ${{ secrets.MEILI_API_KEY_TEST }} + MEILI_INDEX: ${{ secrets.MEILI_INDEX_TEST }} + + - name: Upload summary + if: always() + run: | + echo "Meilisearch upload workflow completed." + echo "Check the logs above for detailed results." diff --git a/upload.sh b/upload.sh index 2a37dbe3..339bc0fe 100755 --- a/upload.sh +++ b/upload.sh @@ -36,7 +36,20 @@ upload_document() { --data-binary "$json_payload") # Check if the upload was successful by inspecting the response. - if echo "$response" | jq -e '.taskUid' > /dev/null 2>&1; then + # First check if response is empty + if [ -z "$response" ]; then + echo "✗ 上传失败: $title" >&2 + echo "注意: 响应为空,可能是网络连接问题" >&2 + return 1 + fi + + # Temporarily disable exit on error for this check + set +e + echo "$response" | jq -e '.taskUid' > /dev/null 2>&1 + jq_result=$? + set -e + + if [ $jq_result -eq 0 ]; then echo "✓ 成功上传: $title" return 0 else @@ -83,13 +96,17 @@ process_directory() { # Generate MD5 hash for ID id=$(echo -n "$title" | openssl md5 | awk '{print $NF}') + # Extract URL from markdown frontmatter, defaults to empty string if not found + doc_url=$(grep -m 1 '^url:' "$file" | sed -n 's/url: "\(.*\)"/\1/p') + # Create JSON payload for single document if json_payload=$(jq -n \ --arg id "$id" \ --arg title "$title" \ --rawfile content "$file" \ --arg locale "$locale" \ - '{id: $id, title: $title, content: $content, locale: $locale}' 2>/dev/null); then + --arg url "$doc_url" \ + '{id: $id, title: $title, content: $content, locale: $locale, url: $url}' 2>/dev/null); then # Upload this document if upload_document "$json_payload" "$title"; then From 69ed3df16273d50c1636a80b2f44d2922b68c3f4 Mon Sep 17 00:00:00 2001 From: ysyneu Date: Thu, 16 Oct 2025 11:49:11 +0800 Subject: [PATCH 81/86] fix: replace FlashDuty to Flashduty --- README.md | 2 +- docs/.vitepress/config.ts | 6 ++-- docs/index.md | 4 +-- docs/zh/index.md | 4 +-- .../2. Incidents/2.5 Custom Fields.md | 2 +- .../2. Incidents/2.6 Custom Actions.md | 2 +- .../4.11 Silence and Inhibition.md | 6 ++-- .../4.14 Alert Pipeline.md | 6 ++-- .../4.2 Integrate Alerts.md | 6 ++-- .../4.5 Label Enrichment.md | 4 +-- .../4. Configure On-call/4.6 Schedules.md | 2 +- .../8.1.10 Alibaba Cloud SLS Integration.md | 2 +- .../8.1.11 AWS CloudWatch Integration.md | 6 ++-- .../8.1.14 Huawei Cloud CES Integration.md | 4 +-- .../8.1.15 Influxdata Integration.md | 4 +-- .../8.1.17 PagerDuty Integration.md | 4 +-- .../8.1.18 Tencent BlueKing Integration.md | 6 ++-- ...1.2 Nightingale or FlashCat Integration.md | 6 ++-- .../8.1.21 Tencent Cloud EventBridge.md | 2 +- .../8.1.22 OceanBase Integration.md | 8 +++--- .../8.1.23 Graylog Integration.md | 6 ++-- .../8.1.24 Skywalking Integration.md | 2 +- .../8.1.25 Sentry Integration.md | 12 ++++---- .../8.1.26 Jiankongbao Integration.md | 6 ++-- .../8.1.27 AWS EventBridge Integration.md | 14 +++++----- .../8.1.28 Dynatrace Integration.md | 2 +- .../8.1.29 Huawei Cloud LTS Integration.md | 12 ++++---- .../8.1.30 GCP Integration.md | 6 ++-- .../8.1.32 AppDynamics Alert Integration.md | 6 ++-- ....33 SolarWinds Alert Events Integration.md | 8 +++--- ... Volcengine CM Alert Events Integration.md | 6 ++-- ... Volcengine CM Event Center Integration.md | 6 ++-- .../8.1.36 Volcengine TLS Integration.md | 14 +++++----- .../8.1.37 OpManager Interation.md | 2 +- .../8.1.38 Meraki Integration.md | 2 +- .../8.1.40 Guance Integration.md | 2 +- .../8.1.42 Huawei Cloud APM integration.md | 10 +++---- .../8.1.45 ElastAlert2 Integration.md | 6 ++-- .../8.1.5 Zabbix Integration.md | 14 +++++----- .../8.1.6 Uptime Kuma Integration.md | 4 +-- ...8.3.5 Microsoft Teams Integration Guide.md | 4 +-- .../8.4 Single Sign-On/Authing Guide.md | 28 +++++++++---------- .../8.4 Single Sign-On/Keycloak Guide.md | 14 +++++----- .../8.4 Single Sign-On/OpenLDAP Guide.md | 4 +-- .../8.5 Webhooks/8.5.1 Alert webhook.md | 8 +++--- .../8.5 Webhooks/8.5.2 Incident webhook.md | 2 +- .../8.5 Webhooks/8.5.3 Custom action.md | 4 +-- .../2. Applications/2. SDK Integration.md | 2 +- .../3. Advanced Configuration.md | 20 ++++++------- .../4. Performance Optimize.md | 2 +- .../en/2. RUM/4. Error Tracking/3. Issues.md | 2 +- .../en/2. RUM/7. Others/4. Data Security.md | 16 +++++------ .../1. Distributed Tracing.md | 4 +-- flashduty/en/3. Platform/3. Single Sign-On.md | 18 ++++++------ flashduty/index.md | 4 +-- ...32\344\271\211\345\255\227\346\256\265.md" | 2 +- ...32\344\271\211\346\223\215\344\275\234.md" | 2 +- ...30\344\270\216\346\212\221\345\210\266.md" | 6 ++-- ...5\256\345\221\212\350\255\246 Pipeline.md" | 6 ++-- ...45\345\205\245\345\221\212\350\255\246.md" | 2 +- ...07\347\255\276\345\242\236\345\274\272.md" | 4 +-- ...74\347\217\255\350\247\204\345\210\231.md" | 2 +- ...06\346\210\220\346\214\207\345\274\225.md" | 2 +- ...06\346\210\220\346\214\207\345\274\225.md" | 6 ++-- ...06\346\210\220\346\214\207\345\274\225.md" | 4 +-- ...06\346\210\220\346\214\207\345\274\225.md" | 4 +-- ...06\346\210\220\346\214\207\345\274\225.md" | 4 +-- ...06\346\210\220\346\214\207\345\274\225.md" | 8 +++--- ...06\346\210\220\346\214\207\345\274\225.md" | 6 ++-- ...06\346\210\220\346\214\207\345\274\225.md" | 2 +- ...13\344\273\266\351\233\206\346\210\220.md" | 8 +++--- .../8.1.23 Graylog.md" | 6 ++-- ...06\346\210\220\346\214\207\345\274\225.md" | 2 +- ...06\346\210\220\346\214\207\345\274\225.md" | 12 ++++---- ...06\346\210\220\346\214\207\345\274\225.md" | 6 ++-- ...06\346\210\220\346\214\207\345\274\225.md" | 14 +++++----- ...06\346\210\220\346\214\207\345\274\225.md" | 2 +- ...06\346\210\220\346\214\207\345\274\225.md" | 12 ++++---- ...06\346\210\220\346\214\207\345\274\225.md" | 6 ++-- ...06\346\210\220\346\214\207\345\274\225.md" | 4 +-- ...06\346\210\220\346\214\207\345\274\225.md" | 6 ++-- ...06\346\210\220\346\214\207\345\274\225.md" | 6 ++-- ...06\346\210\220\346\214\207\345\274\225.md" | 6 ++-- ...06\346\210\220\346\214\207\345\274\225.md" | 10 +++---- ...06\346\210\220\346\214\207\345\274\225.md" | 2 +- ...06\346\210\220\346\214\207\345\274\225.md" | 2 +- ...06\346\210\220\346\214\207\345\274\225.md" | 2 +- ...06\346\210\220\346\214\207\345\274\225.md" | 10 +++---- ...06\346\210\220\346\214\207\345\274\225.md" | 6 ++-- ...06\346\210\220\346\214\207\345\274\225.md" | 14 +++++----- ...06\346\210\220\346\214\207\345\274\225.md" | 4 +-- ...06\346\210\220\346\214\207\345\274\225.md" | 4 +-- ...06\346\210\220\346\214\207\345\274\225.md" | 28 +++++++++---------- ...06\346\210\220\346\214\207\345\274\225.md" | 14 +++++----- ...06\346\210\220\346\214\207\345\274\225.md" | 4 +-- ...8.5.1 \345\221\212\350\255\246 webhook.md" | 8 +++--- ...8.5.2 \346\225\205\351\232\234 webhook.md" | 2 +- ...32\344\271\211\346\223\215\344\275\234.md" | 4 +-- .../2. SDK\346\216\245\345\205\245.md" | 2 +- ...30\347\272\247\351\205\215\347\275\256.md" | 20 ++++++------- ...12\346\226\255\344\274\230\345\214\226.md" | 2 +- ...02\345\270\270\346\237\245\347\234\213.md" | 2 +- ...03\345\274\217\350\277\275\350\270\252.md" | 4 +-- ...60\346\215\256\345\256\211\345\205\250.md" | 16 +++++------ ...25\347\202\271\347\231\273\345\275\225.md" | 10 +++---- flashduty/zh/index.md | 4 +-- 106 files changed, 341 insertions(+), 341 deletions(-) diff --git a/README.md b/README.md index e2b923bb..07a04c92 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ ``` --- -title: "FlashDuty Changelog 2023-12-18 | 值班管理、服务日历、自定义操作和邮件集成" +title: "Flashduty Changelog 2023-12-18 | 值班管理、服务日历、自定义操作和邮件集成" description: "支持更高级的值班管理功能,支付服务日历、自定义操作和邮件集成" date: "2023-12-18T10:00:00+08:00" --- diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 78975da8..5969a042 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -1,8 +1,8 @@ import { defineConfig } from "vitepress"; export default defineConfig({ - title: "FlashDuty Documentation", - description: "FlashDuty Documentation Site", + title: "Flashduty Documentation", + description: "Flashduty Documentation Site", srcDir: "../flashduty", outDir: "../dist", base: "/", @@ -17,7 +17,7 @@ export default defineConfig({ { text: "概览", items: [ - { text: "FlashDuty简介", link: "/zh/0. 概览/1. flashduty简介.md" }, + { text: "Flashduty简介", link: "/zh/0. 概览/1. flashduty简介.md" }, { text: "快速开始", link: "/zh/0. 概览/2. 快速开始.md" }, ], }, diff --git a/docs/index.md b/docs/index.md index ba5e8cba..c4937997 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,9 +1,9 @@ --- layout: home hero: - name: FlashDuty + name: Flashduty text: Documentation - tagline: Comprehensive documentation for FlashDuty platform + tagline: Comprehensive documentation for Flashduty platform actions: - theme: brand text: 中文文档 diff --git a/docs/zh/index.md b/docs/zh/index.md index 2bf08af5..206bcc9b 100644 --- a/docs/zh/index.md +++ b/docs/zh/index.md @@ -1,9 +1,9 @@ --- layout: home hero: - name: FlashDuty + name: Flashduty text: 文档中心 - tagline: FlashDuty 平台完整文档 + tagline: Flashduty 平台完整文档 actions: - theme: brand text: 开始阅读 diff --git a/flashduty/en/1. On-call/2. Incidents/2.5 Custom Fields.md b/flashduty/en/1. On-call/2. Incidents/2.5 Custom Fields.md index 73adbbdf..b4c6b41d 100644 --- a/flashduty/en/1. On-call/2. Incidents/2.5 Custom Fields.md +++ b/flashduty/en/1. On-call/2. Incidents/2.5 Custom Fields.md @@ -16,7 +16,7 @@ Learn about, configure, and use custom fields. ## Use Cases --- -FlashDuty supports integration with most common alert systems, and we display most of the pushed content information in Labels. However, our users may still have extension or customization needs, such as manually marking whether an incident is a false alarm. Therefore, we provide the **Custom Fields** feature to further enrich incident descriptions. +Flashduty supports integration with most common alert systems, and we display most of the pushed content information in Labels. However, our users may still have extension or customization needs, such as manually marking whether an incident is a false alarm. Therefore, we provide the **Custom Fields** feature to further enrich incident descriptions. With custom fields, you can add custom metadata, record specific incident-related information, and transmit and use this information during incident handling. Here are common use cases for custom fields: diff --git a/flashduty/en/1. On-call/2. Incidents/2.6 Custom Actions.md b/flashduty/en/1. On-call/2. Incidents/2.6 Custom Actions.md index 436d1e46..e525eb64 100644 --- a/flashduty/en/1. On-call/2. Incidents/2.6 Custom Actions.md +++ b/flashduty/en/1. On-call/2. Incidents/2.6 Custom Actions.md @@ -12,7 +12,7 @@ A custom action is essentially a webhook call. You can add custom actions for in Common use cases for custom actions: 1. **Server Restart**: When server memory or CPU is maxed out, trigger a restart script to quickly complete server reboot. -2. **Information Enrichment**: When an incident occurs, callback to your service to retrieve Tracing, Logging, topology, and other information based on alert details. Actively call FlashDuty Open API to update incident information, such as adding labels or setting custom fields to assist troubleshooting. +2. **Information Enrichment**: When an incident occurs, callback to your service to retrieve Tracing, Logging, topology, and other information based on alert details. Actively call Flashduty Open API to update incident information, such as adding labels or setting custom fields to assist troubleshooting. 3. **Rollback Changes**: When an incident occurs and is confirmed to be caused by a change, directly trigger a callback to your deployment platform to initiate the rollback process, accelerating incident recovery. 4. **Update Status Page**: When confirming that an incident affects online services, trigger external Status Page updates to promptly notify your customers and dependencies. diff --git a/flashduty/en/1. On-call/4. Configure On-call/4.11 Silence and Inhibition.md b/flashduty/en/1. On-call/4. Configure On-call/4.11 Silence and Inhibition.md index 67c355ce..d1ed134a 100644 --- a/flashduty/en/1. On-call/4. Configure On-call/4.11 Silence and Inhibition.md +++ b/flashduty/en/1. On-call/4. Configure On-call/4.11 Silence and Inhibition.md @@ -1,11 +1,11 @@ --- title: "Silence and Inhibition" -description: "FlashDuty provides silence and inhibition mechanisms to help organizations optimize their alert processes. The former temporarily blocks alert notifications under specific conditions, while the latter automatically prevents duplicate or expected alerts under certain conditions, jointly reducing interference and improving alert system efficiency and accuracy" +description: "Flashduty provides silence and inhibition mechanisms to help organizations optimize their alert processes. The former temporarily blocks alert notifications under specific conditions, while the latter automatically prevents duplicate or expected alerts under certain conditions, jointly reducing interference and improving alert system efficiency and accuracy" date: "2024-05-14T10:00:00+08:00" url: "https://docs.flashcat.cloud/en/flashduty/channel-settings" --- -FlashDuty provides silence and inhibition mechanisms to help organizations optimize their alert processes. The former temporarily blocks alert notifications under specific conditions, while the latter automatically prevents duplicate or expected alerts under certain conditions, jointly reducing interference and improving alert system efficiency and accuracy. +Flashduty provides silence and inhibition mechanisms to help organizations optimize their alert processes. The former temporarily blocks alert notifications under specific conditions, while the latter automatically prevents duplicate or expected alerts under certain conditions, jointly reducing interference and improving alert system efficiency and accuracy.