diff --git a/.github/workflows/test-meilisearch-upload.yml b/.github/workflows/test-meilisearch-upload.yml new file mode 100644 index 00000000..dd76655c --- /dev/null +++ b/.github/workflows/test-meilisearch-upload.yml @@ -0,0 +1,56 @@ +# 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: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install required tools + run: | + # Update package list and install jq if not available + sudo apt-get update + sudo apt-get install -y jq + + # Verify all required tools are available + echo "Checking required tools..." + jq --version + curl --version + openssl version + echo "All required tools are available." + + - 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/README.md b/README.md index 29e64f0a..07a04c92 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,12 @@ - 不要大篇幅使用图片,避免显得没有内容,或UI频繁调整导致文档更新跟不上。 - 对于高度大于宽度的图片,居中展示,不要铺满整个屏幕。 + - 使用https://socialscreenshots.com/editor添加背景。 + - 分辨率:Full HD 16/9 + - 背景:Raycast 5 + - 边距:10 圆角:30 + - 使用aliyun oss upload image插件上传图片 + - 使用vitepress preview插件实时预览 - **更新和维护**:当产品有新的更新或改变时,产品文档应适时更新以保持准确性。 @@ -39,7 +45,7 @@ ``` --- -title: "FlashDuty Changelog 2023-12-18 | 值班管理、服务日历、自定义操作和邮件集成" +title: "Flashduty Changelog 2023-12-18 | 值班管理、服务日历、自定义操作和邮件集成" description: "支持更高级的值班管理功能,支付服务日历、自定义操作和邮件集成" date: "2023-12-18T10:00:00+08:00" --- @@ -50,4 +56,30 @@ 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) + +[文档截图规范](https://alidocs.dingtalk.com/i/nodes/EpGBa2Lm8aaNxlelu0jnoZGR8gN7R35y) + +- 润色文档 + +在 cursor 中,首先选择优秀的模型,建议选择推理模型,例如 Gemini-2.5-pro。使用下面的prompt对中文文档进行润色: + +``` +请你严格依照 @polish_instructions.md 的要求,对文档 @your_doc_name 进行润色。 +``` + +完成润色后,可在 VSCode / Cursor 中打开文档,然后在文档 tab 页中右击,点击 `格式化文档`。 + +- i18n + +在 cursor 中,首先选择优秀的模型,建议选择推理模型,例如 Gemini-2.5-pro。使用下面的prompt对中文文档进行翻译: + +``` +请你严格依照 @polish_instructions.md 和 @i18n_instructions.md 的要求,将 @your_doc_name_ch.md 的内容翻译到 @your_doc_name_en.md 里。 +``` + +完成润色后,可在 VSCode / Cursor 中打开文档,然后在文档 tab 页中右击,点击 `格式化文档`。**请校对针对关键操作的翻译是否和产品页面上的翻译保持一致。** \ No newline at end of file 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/1. Getting Started/1.3 FAQ.md b/flashduty/en/1. On-call/1. Getting Started/1.3 FAQ.md index 4c1f642a..bca54715 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 @@ -66,10 +66,229 @@ 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 - - United States, Canada: **13152319335** - - Indonesia, Germany, Malaysia, Australia, Singapore, Thailand, Russia, South Korea, Saudi Arabia, Vietnam, Japan, Hong Kong, Taiwan: **Random numbers** - - Other regions are not currently supported for voice notifications. If you have requirements, please contact us: [support@flashcat.cloud](mailto:support@flashcat.cloud) + - Mainland China: +86 (010)21364727, (021)32017538, (010)21364713, (010)21364708, (0571)23675454 and (0571)23675496 + - Outside Mainland China: + | 地区/国家 (Region/Country) | 地区码 (Code) | 显示号码 (Display Number) | + | --- | --- | --- | + 安圭拉 (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) | 164 + 格陵兰 (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 + 美国/加拿大 (United States/Canada) | (+1) | 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 + 德国 (Germany) | (+49) | 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 + 英国 (United Kingdom) | (+44) | 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 + 中国香港 (Hong Kong) | (+852) | 16465861127 + 印度 (India) | (+91) | 16465861127 + 印度尼西亚 (Indonesia) | (+62) | 16465861127 + 伊拉克 (Iraq) | (+964) | 16465861127 + 以色列 (Israel) | (+972) | 16465861127 + 日本 (Japan) | (+81) | 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 + 中国台湾 (Taiwan) | (+886) | 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 + - The region you need does not exist, please contact us: [support@flashcat.cloud](mailto:support@flashcat.cloud)
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.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 528237d4..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. @@ -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.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. - -## I. Create Feishu/Lark Application +## 1. Create Feishu/Lark application --- -### 1. Create Custom Application +### 1. Create a custom application -Visit [Feishu/Lark Developer Console](https://open.feishu.cn/app) to create an internal custom application. (For details, see Feishu/Lark development documentation - [Create Enterprise Custom Application](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#132c1aac)) +Visit [Feishu/Lark Developer Console](https://open.feishu.cn/app) and create an internal custom application. You can use the [official Flashduty icon](https://download.flashcat.cloud/flashcat_logo_circular.png) for the application icon. -drawing +For details, see the Feishu/Lark development documentation [Create an internal custom application](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#132c1aac). -You can use the [Flashduty official icon](https://download.flashcat.cloud/flashcat_logo_circular.png) as the application icon. +![2025-09-17-19-20-33](https://docs-cdn.flashcat.cloud/images/png/9af11beec76ef03b935e5ba71ac2f5f5.png) +### 2. Copy credential information -### 2. Copy Credentials +Go to the **Credentials and Basic Information** page and copy the `App ID` and `App Secret` for later use. -Go to the **Credentials & Basic Info** page, copy the `App ID` and `App Secret` for later use. -drawing +![2025-09-17-19-24-11](https://docs-cdn.flashcat.cloud/images/png/9b72a772eaa94a7115e8568e9ae7b496.png) -### 3. Copy Event Callback Token Information +### 3. Copy the event callback Token information -Go to **Development Configuration - Events & Callbacks - Encryption Configuration** page, copy the `Encrypt Key` (recommended for better security) and `Verification Token` for later use. +Go to Development Configuration → Events & Callbacks → **Encryption Strategy** page, generate and copy the `Encrypt Key` (recommended for better security) and `Verification Token` for later use. -drawing +![2025-09-17-19-27-24](https://docs-cdn.flashcat.cloud/images/png/48d8ef62cef639cb433078c878c3a4a0.png) -## II. Add Feishu/Lark Integration +## 2. Add Feishu/Lark integration --- -Return to Flashduty **Integration Center** page, select **Instant Messaging => Feishu/Lark**, fill in the `Name` and the previously copied `App ID`, `App Secret`, `Verification Token`, and `Encrypt Key`, then click save to create. - -drawing +Return to the Flashduty **Integration Center** page, select IM → **Feishu/Lark**, fill in the `Name` and the `App ID`, `App Secret`, `Verification Token`, and `Encrypt Key` copied in the previous step, then click **Save** to complete the creation. -After creation, you'll see the newly added Feishu/Lark integration in the list. Click on the name to enter details, where you'll find the **Web Configuration** URL, **Redirect URL**, and **Message Card Request URL** information, which will be used in later steps. +After successful creation, you will see the added Feishu/Lark integration in the list. Click its name to enter the details page, where you can view the **Web Configuration** address, **Redirect URL**, and **Message Card Request URL**, which will be used in subsequent steps. -drawing +![2025-09-17-19-32-56](https://docs-cdn.flashcat.cloud/images/png/b4bfa3d7fdf1af9b8006be168d454700.png) -## III. Configure Feishu/Lark Application +## 3. Configure Feishu/Lark application --- -### 1. Enable and Configure Application Capabilities +### 1. Enable and configure application capabilities -1). Return to the Feishu/Lark Developer Console, enter the newly created application, go to **Add Capabilities - Add by Capability** page, and enable both **Web Application** and **Bot** capabilities. +1. Return to the Feishu/Lark Developer Console, enter the created Feishu/Lark application, go to Add Application Capabilities → **Add by Capability** page, and enable both **Web Application** and **Bot** capabilities. -drawing +![2025-09-17-19-42-32](https://docs-cdn.flashcat.cloud/images/png/b12ddbeed2b8d7f508eccc1078c2c12c.png) -2). Go to **Web Application** page, configure both `Desktop Homepage` and `Mobile Homepage` with the **Web Configuration** URL from the integration details. +2. Go to the **Web app** page and configure the `Desktop Homepage` and `Mobile Homepage`, both using the **Web configuration** address from the integration details. -drawing +For details, see the Feishu/Lark development documentation [Configure application homepage address](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#8366b844). -(See Feishu/Lark development documentation - [Configure Application Homepage URL](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#8366b844)) +![2025-09-17-19-49-19](https://docs-cdn.flashcat.cloud/images/png/393e7629de652d1793b69af7d4f3831c.png) -3). Go to **Event Callbacks - Callback Configuration** page, configure the `Message Card Request URL` (using the **Message Card Request URL** from integration details) and add the callback. +3. Go to Event Callbacks → **Event Configuration** page, configure the `Request URL` (using the **Message Card Request URL** from the integration details). Then, add the following two events: -drawing -drawing +- `im.chat.disbanded_v1` +- `im.message.receive_v1` -### 2. Add Redirect URL to Feishu/Lark Application +![2025-09-18-11-06-05](https://docs-cdn.flashcat.cloud/images/png/71910d8af8d60b5f30baf009081646df.png) -Go to **Security Settings** page, configure the `Redirect URL` using the **Redirect URL** from integration details. +4. Go to Event Callbacks → **Callback Configuration** page, configure the `Request URL` (using the **Message Card Request URL** from the integration details). Then, subscribe to the following two callbacks: -drawing +- `card.action.trigger` +- `card.action.trigger_v1` -(See Feishu/Lark development documentation - [Configure Redirect URL](https://open.feishu.cn/document/uYjL24iN/uYjN3QjL2YzN04iN2cDN?lang=zh-CN#c863e533)) +![2025-09-19-18-41-42](https://docs-cdn.flashcat.cloud/images/png/5ebe9faff7f78a6764da92a342eab7c0.png) -### 3. Request Application Permissions +### 2. Add redirect URL to Feishu/Lark application -Go to **Permission Management** page, request `im:chat` and `im:message` permissions. These permissions will allow the application to access its group chat information and send messages to groups or individuals. +Go to the **Security Settings** page and configure the `Redirect URL` using the **Redirect URL** from the integration details. -drawing +For details, see the Feishu/Lark development documentation [Configure redirect URL](https://open.feishu.cn/document/uYjL24iN/uYjN3QjL2YzN04iN2cDN?lang=zh-CN#c863e533). -## IV. Application Publication and Usage ---- - -After completing the above steps, proceed with application publication and usage. The application can be used after administrator approval. -Note: **Available Range** needs special configuration, recommended for **All Employees**. +![2025-09-17-19-55-04](https://docs-cdn.flashcat.cloud/images/png/6f97810d9542514c40c276588179e04f.png) -drawing +### 3. Apply for application permissions -See Feishu/Lark development documentation - [Application Publication and Usage](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step-4). +Go to the **Permission Management** page and apply for the following permissions for the group application created in the previous steps: -Once published, you can access the application via mobile/PC client. First-time access requires login and account association (Feishu/Lark 《-》 Flashduty), subsequent uses will be login-free. +- `im:chat`: Get and update group information +- `im:message`: Get and send single chat and group messages +- `contact:user.id:readonly`: Get user ID by phone number or email -1. Mobile: Access the web application through Feishu/Lark > Workspace > Search application name > Open application. -2. PC: Access the web application through Feishu/Lark > Workspace > Search application name > Open application. +![2025-09-17-19-59-38](https://docs-cdn.flashcat.cloud/images/png/61cb9fbc295e94b4d9acd7e44ac75e13.png) -## V. Common Issues +## 4. Application release --- -1. **Unable to deliver messages to individuals**, operation record shows `Application Not Associated`? +After completing all the above configurations, please release the application. It can be used after administrator approval. - - Go to Feishu/Lark > Workspace > Search application name > Open application, complete one login and account association (Feishu/Lark 《-》 Flashduty) for the system to obtain user identity for message pushing +For details, see the Feishu/Lark development documentation [Application release and usage](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step-4). -2. **Message card buttons not working or showing errors**? +> To ensure that everyone can use the application, adjust the application **visibility** to all employees before releasing the application. - - Ensure account association is completed. Go to Feishu/Lark > Workspace > Search application name > Open application, complete one login and account association (Feishu/Lark 《-》 Flashduty). If already logged in, try clicking the top-right menu to switch accounts and re-login to bind the account - - Ensure sufficient licenses are purchased. You can check license usage in Console > Billing Center +![2025-09-17-20-01-46](https://docs-cdn.flashcat.cloud/images/png/af3d458ed4c1a3e3346c91dc6a8fa667.png) -3. **Empty Feishu/Lark group chat list in escalation rule**? - - Go to Feishu/Lark, select group chat conversation, add the created Flashduty bot as shown below: - - Return to the escalation rule configuration page, refresh and reselect the group chat list +After the application is released, you can access it via **mobile** or **PC**. The first access requires login to link your Feishu/Lark and Flashduty accounts. Subsequent access will be login-free. -drawing -drawing +- **Mobile**: Access via Feishu/Lark → Workplace → Search for application name → **Open Application** to use the web application. +- **PC**: Access via Feishu/Lark → Workplace → Search for application name → **Open Application** to use the web application. -4. **Feishu/Lark Custom Application API Limits:** [Feishu/Lark Documentation](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/platform-updates-/custom-app-api-call-limit) +![2025-09-17-20-05-01](https://docs-cdn.flashcat.cloud/images/png/1da64327149790ceb45ff3b66476be7f.png) - **Call Volume Limits:** +## 5. Configure war room - | Feishu/Lark Version | Total Calls/Month | Reset Time | - | :----------: | :--: | :----: | - |Basic Free Version|10,000 calls|1st of each month| - |Other Versions|Unlimited|-| +> Ensure the application has been authorized with the [additional permissions](#war-room-scope) required for the war room feature. - **Frequency Control Limits:** +After completing the previous steps, in the **Enhanced Features** module of the Flashduty integration configuration page, check **Enable War Room** to enable this feature without additional configuration. - | Scenario | Limit | - | :----------: | :--: | - |All APIs|Maximum 50 calls/second per application| - |Message Sending API|Maximum 1000 calls/minute per application| - |Group Bot Webhook|Maximum 100 calls/minute| - |Sending messages to the same user or group|Maximum 5 calls/second| +## 6. FAQ +--- - **Note:** Messages cannot be pushed normally when exceeding limits, please use notification channels reasonably \ No newline at end of file +1. **Messages cannot be delivered to individuals, and the operation log shows `app not linked`?** + - Go to Feishu/Lark → Workplace → Search for application name → **Open Application**, complete login once to link your Feishu/Lark and Flashduty accounts, so the system can obtain user identity for message push. +2. **Message card buttons are unresponsive or show errors?** + - Ensure the account has been linked. You can go to Feishu/Lark → Workplace → Search for application name → **Open Application** to complete login once. If you have already logged in, try clicking the menu in the upper right corner, switch accounts, and log in again to bind the account. + - Ensure you have purchased sufficient licenses. You can check the license usage in Console → **Billing Center**. +3. **The Feishu/Lark group chat list in escalation rules is empty?** + - Go to Feishu/Lark and add the created Flashduty bot to the specified group chat. + - Return to the escalation rule configuration page, refresh and reselect the group chat list. + +![2025-09-18-14-26-32](https://docs-cdn.flashcat.cloud/images/png/a5878acb02929c9f660c549577de5c17.png) + +4. **Feishu/Lark custom application API limits?** + - **Call volume limits:** + + | **Feishu/Lark Version** | **Total Calls/Month** | **Refresh Time** | + | :---: | :---: | :---: | + | Basic Free | 10,000 | 1st of each month | + | Other Versions | Unlimited | - | + + - **Rate limits:** + + | **Scenario** | **Limit** | + | :---: | :--- | + | All APIs | Max 50 calls/second per app | + | Send message APIs | Max 1000 calls/minute per app | + | Group bot webhook | Max 100 calls/minute | + | Send to same user or group | Max 5 calls/second | + + > After exceeding API call limits, the Feishu/Lark application will not be able to push messages normally. It is recommended to use notification channels reasonably. See [Feishu/Lark official documentation](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/platform-updates-/custom-app-api-call-limit) for details. +5. **Why is the war room feature not working as expected?** + - Please check again whether you have configured the [required permissions](#war-room-scope) for the war room feature. + - 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 diff --git a/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.2 Dingtalk Integration Guide.md b/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.2 Dingtalk Integration Guide.md index 2637d894..b100392a 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.2 Dingtalk Integration Guide.md +++ b/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.2 Dingtalk Integration Guide.md @@ -1,156 +1,224 @@ --- title: "Dingtalk Integration" -description: "Integrate with Dingtalk custom application to receive and respond to alerts within Dingtalk" +description: "By integrating a custom Dingtalk application, you can receive and respond to alerts within Dingtalk." date: "2025-05-19T10:00:00+08:00" -url: "https://docs.flashcat.cloud/en/flashduty/dingtalk-integration-guide" +url: "https://docs.flashcat.cloud/en/flashduty/dingtalk-integration-guide?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5" --- -Integrate with Dingtalk custom application to receive and respond to alerts within Dingtalk. +By integrating a custom Dingtalk application, you can receive and respond to alerts within Dingtalk. + +> This document uses the new version of the Dingtalk Open Platform as an example. + + +## I. Create Dingtalk Application and Add Dingtalk Integration -**(This guide uses the new version of Dingtalk Open Platform as an example)** - -## I. Create Dingtalk Application --- -### 1. Create Custom Application +### 1. Create a Custom Application + +Visit the [Dingtalk Developer Console](https://open-dev.dingtalk.com/fe/app) → Application Development → **Internal Enterprise Development** to create an application. -Visit [Dingtalk Developer Console](https://open-dev.dingtalk.com/fe/app) - Application Development - Internal Enterprise Development to create an application. (See Dingtalk development documentation - [Create Internal Enterprise Application - H5 Microapp](https://open.dingtalk.com/document/orgapp/microapplication-creation-and-release-process#title-ovn-666-1ty)) +For details, please refer to the Dingtalk development documentation [Create an in-house application-H5 micro-application](https://open.dingtalk.com/document/orgapp/microapplication-creation-and-release-process#title-ovn-666-1ty). -drawing +![2025-09-18-15-02-55](https://docs-cdn.flashcat.cloud/images/png/3a66cc08c2a9ecb5669c985e05deb129.png) -You can use the [Flashduty official icon](https://download.flashcat.cloud/flashcat_logo_circular.png) as the application icon. +You can use the [Flashduty official icon](https://download.flashcat.cloud/flashcat_logo_circular.png) for the application icon. -### 2. Copy Enterprise CorpId +### 2. Copy the Enterprise `CorpId` -Click on the enterprise in the upper right corner of the page, copy the `CorpId` from the dropdown menu for later use. +Click on the enterprise avatar in the top right corner of the page and copy the `CorpId` from the dropdown menu. -drawing +![2025-09-18-15-03-12](https://docs-cdn.flashcat.cloud/images/png/3abe7ce647a78264290a8d311b62a842.png) -### 3. Copy Application Credentials +Return to the Flashduty integration configuration page and fill in the corresponding `CorpId` in the form. -Go to the **Credentials and Basic Information** page, copy `AgentID`, `ClientID`, and `ClientSecret` for later use. +### 3. Copy Application Credential Information -drawing +Enter the application details interface you created, go to the Application Capability → **Credentials and Basic Information** page via the left menu bar, and copy the `AgentId`, `Client ID`, and `Client Secret`. + +![2025-09-18-15-04-39](https://docs-cdn.flashcat.cloud/images/png/075fc5989770ef3e76aa39320fe55bdf.png) + +Return to the Flashduty integration configuration page and fill in the corresponding `AgentId`, `Client ID`, and `Client Secret` in the form. ### 4. Copy Event Subscription Information -Go to **Development Configuration - Events and Callbacks** page. +Go to Development Configuration → **Events and Callbacks** page. Set the push method to `HTTP Push`, then click the button to generate an `Encryption aes_key` and a `Signature Token`, and copy them. -Generate `Encryption aes_key` and `Signature Token` for later use. +![2025-09-18-15-05-10](https://docs-cdn.flashcat.cloud/images/png/0369b205a2fcf0f798267a4573e54996.png) -**(Note: After generating aes_key and Token, please temporarily save the information elsewhere, as it will disappear after leaving the page)** +Return to the Flashduty integration configuration page, fill in the corresponding `Encryption aes_key` and `Signature Token` in the form, and click the **Save** button. -drawing +### 5. Configure Event Subscription -## II. Add Dingtalk Integration ---- +Go to the Development Configuration → **Event Subscription** page. -Return to Flashduty **Integration Center** page, select Instant Messaging > Dingtalk, fill in the `Integration Name` and application information copied in the previous step, then click save to create. +Configure the **Event Subscription Request URL** using the `Event Subscription Request URL` from the Flashduty integration details. **Save** after configuration. -drawing +![2025-09-18-15-05-34](https://docs-cdn.flashcat.cloud/images/png/4f2f07c6bfd852b5c47ce2ae63559212.png) -After saving, you will see information such as **Web Configuration** address, **Server Outbound IP** address, and **Event Subscription Request URL**, which will be used in later steps. +Below the **Save** button, select the three group session events: `Group chat name is changed`, `Install the cool application in the group`, and `Uninstall the cool application in the group`. Click **Save** after configuration. -drawing +![2025-09-18-15-08-07](https://docs-cdn.flashcat.cloud/images/png/e4fadf912cdad71dbfcc8c3d678f3277.png) -## III. Configure Dingtalk Application ---- +### 6. Add Application Capabilities -### 1. Add Cool App, Web App, and Bot -drawing +Create a Cool App. Go to Development Configuration → Add Application Capability → Cool App → **Cool App List** page, click the **Create Cool App** button, and select **Extend to group sessions**. -1) Create Cool App: On the **Cool Apps - Cool App List** page, click **Create Cool App** button, select **Extend to Group Chat** +Enter the **Edit Cool App** page and complete the following steps: -drawing +1. Fill in the basic information. You can use the [Flashduty official icon](https://download.flashcat.cloud/flashcat_logo_circular.png) for the icon. -2) Enter the **Edit Cool App** page, complete the following steps: +![2025-09-18-15-11-03](https://docs-cdn.flashcat.cloud/images/png/d5191000378f4df25bb96bc1f19b0db2.png) -2.1) First step, fill in basic information, you can use the [Flashduty official icon](https://download.flashcat.cloud/flashcat_logo_circular.png) as the icon. +2. Configure the functional design. Select **Group Quick Access** and **Message Card** on the left. You can use the [Flashduty official icon](https://download.flashcat.cloud/flashcat_logo_circular.png) for the group quick access icon. For the desktop and mobile access addresses, please copy the **Cool App Web URL** from the integration details. -drawing +![2025-09-18-15-13-08](https://docs-cdn.flashcat.cloud/images/png/88385f8c5aa382d13bc9f5c0d0b8b18f.png) -2.2) Second step, configure functionality design, select **Group Quick Access** and **Message Card** on the left. For the group quick access icon, you can use the [Flashduty official icon](https://download.flashcat.cloud/flashcat_logo_circular.png). Copy the **Cool App Web URL** from the integration details for both desktop and mobile access URLs. +3. Skip the third step of functional development, proceed to the fourth step **Preview & Release**, click the **Release** button and confirm. -drawing +### 7. Configure Bot and Message Push -2.3) Skip the third step of function development, proceed to the fourth step **Preview and Release**, click the **Release** button and confirm. +Go to the Application Capability → **Bot** page, enable the bot configuration, fill in the name and upload an icon, then click **Save**. You can use the [Flashduty official icon](https://download.flashcat.cloud/flashcat_logo_circular.png) for the icon. -### 2. Configure Bot and Message Push +![2025-09-18-15-17-17](https://docs-cdn.flashcat.cloud/images/png/62f4d4582baa0b446876e41e1a9d8eca.png) -Enter the **Application Capabilities - Bot** page, enable bot configuration, fill in the name and upload an icon. You can use the [Flashduty official icon](https://download.flashcat.cloud/flashcat_logo_circular.png), then save. +### 8. Configure Application URLs -drawing +Go to the Application Capability → **Web Application** page. -### 3. Configure Application URLs +Configure the **Application Homepage URL** and **PC Homepage URL** with the `Application Homepage URL` and `PC Homepage URL` from the Flashduty integration details. Click **Save** when done. -Enter the **Application Capabilities - Web Application** page +![2025-09-18-15-20-13](https://docs-cdn.flashcat.cloud/images/png/9c430307d54f27eaedb009235540f6c5.png) -1) Configure **Application Homepage URL** and **PC Homepage URL** with the content from the integration details' **Application Homepage URL** and **PC Homepage URL**. +### 9. Apply for Application Permissions -2) Click **Save** in the upper right corner. +Go to the Development Configuration → **Permissions** page and apply for the following permissions for the group application created in the previous steps: -drawing +- `qyapi_chat_manage`: Get group chat information +- `qyapi_robot_sendmsg`: Send messages to group chats or individuals -### 4. Configure Event Subscription +![2025-09-18-15-20-36](https://docs-cdn.flashcat.cloud/images/png/4417440194002a011e2feca5fa5c9469.png) -1) On the **Development Configuration - Event Subscription** page, configure the **Request URL** with the content from the integration details' **Event Subscription Request URL**, then **Save**. +## II. Configure War Room -drawing +> If you do not need to configure the War Room feature, you can skip this step and proceed directly to [**Application Release and Usage**](#publish). -2) Below the **Save** button, select three group chat events: `Group Chat Name Change`, `Cool App Installation in Group`, and `Cool App Uninstallation in Group`, then **Save**. + -drawing +### 1. Apply for Application Permissions -### 5. Apply for Application Permissions +Go to the Development Configuration → **Permissions** page and apply for the following permissions for the group application created in the previous steps: -Enter the Permission Management page, apply for `qyapi_chat_manage` and `qyapi_robot_sendmsg` permissions. These two permissions will allow the current application to obtain its own group chat information and send messages to groups or individuals. +- `qyapi_chat_read`: Get group chat information +- `qyapi_chat_base_read`: Get group chat information +- `qyapi_get_member_by_mobile`: Allows the current application to get Dingtalk user information based on mobile numbers to invite users to join group chats -drawing +![2025-09-18-15-21-28](https://docs-cdn.flashcat.cloud/images/png/39142395390ce09726e3a95991549116.png) -## IV. Application Release and Usage ---- +### 2. Configure Group Template + +Go to Open Capability → **Scene Group** from the top menu bar of the Dingtalk Open Platform. + +1. Configure **Group Bot**. Select **Bot** from the left menu bar, then click **Create group bot**. + + > The **Group Bot** configured in this step and the **Application Bot** are two different concepts. The group bot is used to automatically create a group bot when a group chat is generated. The group bot and the application bot have different **Bot IDs**. To enable the War Room feature for Dingtalk, you must configure an additional **Group Bot**. + + Fill in the group bot configuration. The **Message Callback URL**, **Message Callback Token**, and **Information Source Website** configurations have no practical effect in Flashduty's application scenario; you can configure them with any values that meet the requirements. + + **Example Configuration**: + + | **Configuration Item** | **Value** | + | -------------- | --------------------------------------------------------------------------------- | + | Bot Name | Flashduty | + | Bot Avatar | [Flashduty official icon](https://download.flashcat.cloud/flashcat_logo_circular.png) | + | Introduction | Flashduty | + | Message Preview Image | [Flashduty official icon](https://download.flashcat.cloud/flashcat_logo_circular.png) | + | Detailed Description | Flashduty message push bot. | + | Message Callback URL | `https://flashcat.cloud/` | + | Message Callback Token | `token` | + | Information Source Website | `https://flashcat.cloud/` | + + After completing the configuration, click **Create**, then click **Approve**. After the "Submission successful" pop-up appears in the top right corner, Dingtalk has automatically completed the approval of the group bot. -After completing the above steps, go to **Application Release - Version Management and Release**, create a new version, then proceed with the release (make sure to adjust the visibility to all employees, otherwise others cannot use it) + ![2025-09-18-15-22-05](https://docs-cdn.flashcat.cloud/images/png/75e853ae6c420d69916e17f5d8922945.png) -drawing -drawing +2. Configure **Group Template**. Select **Group Template** from the left menu bar, and click **Create group template**. -After the application is released, you can access it via mobile/PC client. First-time access requires login and account association (Dingtalk 《-》 Flashduty), subsequent uses will be login-free. + Set the **Enterprise Type** to `Internal Enterprise` and the **Optional Application** to the custom application created in the previous steps. Then, fill in the template information in the next step. -1. Mobile: Access the web application through Dingtalk > Workspace > Search application name > Open application. -2. PC: Access the web application through Dingtalk > Workspace > Search application name > Open application. + Introductory information such as **Template Name**, **Icon**, **Description**, **Copywriting Introduction**, **Template Description**, and **Image Introduction** will not affect the use of the group template feature; you can configure them with any values that meet the requirements. + + **Example Configuration**: + + | **Configuration Item** | **Value** | + | ---------- | --------------------------------------------------------------------------------- | + | Template Name | Flashduty War Room | + | Icon | [Flashduty official icon](https://download.flashcat.cloud/flashcat_logo_circular.png) | + | Description | Create a war room for active incidents with one click. | + | Copywriting Introduction | Create a war room for active incidents with one click. | + | Template Description | Create a war room for active incidents with one click. | + | Image Introduction | [Flashduty official icon](https://download.flashcat.cloud/flashcat_logo_circular.png) | + + In the **Select Bot** configuration item, click **Select created bot** and choose the group bot created in the previous step. Keep other configuration items at their default settings. Finally, click **Save Edit**. + + ![2025-09-18-15-22-35](https://docs-cdn.flashcat.cloud/images/png/9292a8418a96fcb3fee1d424a41d33a2.png) + ![2025-09-18-15-23-06](https://docs-cdn.flashcat.cloud/images/png/c76433b0962fb0f0531b4f56b60ce903.png) + + In the **Fill in grayscale group** step, click **Create grayscale group**, then click **Publish grayscale**. + + Finally, click **Group Template** in the left menu bar again, then click to enter the group template you just created. Click **Submit for Review**, and after Dingtalk automatically approves it, finally click **Publish**. + +3. In the published group template details page, copy the **Template ID** and **Bot ID**. + + ![2025-09-18-15-23-46](https://docs-cdn.flashcat.cloud/images/png/315acf0b5951100781f96cd4d854d0c6.png) + + Return to the Flashduty integration configuration page, fill in the corresponding `Template ID` and `Bot ID` in the form, and click the **Save** button. + + + +## III. Application Release and Usage -## V. Common Issues --- -1. **Cannot deliver messages to individuals**, operation record shows `Application Not Associated`? - - Go to Dingtalk > Workspace > Search application name > Open application, complete one login and account association (Dingtalk 《-》 Flashduty), so the system can obtain user identity for message pushing +After completing the above steps, go to Application Release → **Version Management and Release**, create a new version, and publish it. + +> To ensure that everyone can use the application, you need to adjust the **Visible Scope** of the application to all employees before publishing. -2. **Message card buttons are ineffective or show errors?** +![2025-09-18-16-08-17](https://docs-cdn.flashcat.cloud/images/png/86df5b6148cf1264745d957bd2d43fcf.png) - - Go to Dingtalk > Workspace > Search application name > Open application, complete one login and account association (Dingtalk 《-》 Flashduty). If already logged in, try clicking the menu in the upper right corner, switch accounts, and log in again to bind the account - - Ensure you have purchased sufficient licenses. You can check license usage in Console > Billing Center +After the application is published, you can access it via the **mobile client** or **PC client**. The first time you access it, you need to log in and associate your Dingtalk and Flashduty accounts. Subsequent uses will be login-free. + +- **Mobile Client**: Access the web application through Dingtalk → Workbench → Search for application name → **Open Application**. +- **PC Client**: Access the web application through Dingtalk → Workbench → Search for application name → **Open Application**. + +## IV. FAQ + +--- -3. **Escalation rule Dingtalk group chat list is empty?** +1. **Why can't messages be delivered to individuals, and the operation record shows `app not linked`?** + - Go to Dingtalk → Workbench → Search for application name → **Open Application**, and complete a login to associate your Dingtalk and Flashduty accounts. The system needs to obtain your user identity to push messages. +2. **Why are the message card buttons not working or showing an error?** + - Go to Dingtalk → Workbench → Search for application name → **Open Application**, and complete a login to associate your Dingtalk and Flashduty accounts. If you have already logged in, try clicking the menu in the upper right corner, switching accounts, and logging in again to bind your account. + - Ensure you have purchased enough licenses. You can check your used license status in Console → [**Billing Center**](https://console.flashcat.cloud/wallet). +3. **Why is the Dingtalk group chat list in the escalation rule empty?** + - Go to Dingtalk, select a group chat session, and install the Cool App. Otherwise, the group chat list cannot be obtained. - - Go to Dingtalk, select group chat and install the Cool App, otherwise the group chat list cannot be obtained - - Return to the escalation rule configuration page, refresh and reselect the group chat list - - If still unable to get the group chat list, try uninstalling the Cool App from the group and repeat the above steps. If it still doesn't work, please contact customer or dedicated technical support + ![2025-09-18-15-34-37](https://docs-cdn.flashcat.cloud/images/png/7f1e931df0ae740a37ce6615ac3b18ba.png) + ![2025-09-18-15-35-44](https://docs-cdn.flashcat.cloud/images/png/367dfd391bf4d57c22088d20a4844e33.png) -drawing + - Return to the escalation rule configuration page, refresh, and reselect the group chat list. + - If you still cannot get the group chat list, try uninstalling the Cool App in the group and then repeating the above steps. If the problem persists, please contact customer or dedicated technical support. -drawing +4. **Why is the War Room feature not working as expected?** + - Please double-check if you have configured the [required permissions](#war-room-scope) for the application's War Room feature. + - Please refer to the **FAQ** section of the Flashduty [War Room Introduction](https://docs.flashcat.cloud/en/flashduty/war-room?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5) document. -4. **Dingtalk Custom Application API Call Limits:** [Dingtalk Documentation](https://open.dingtalk.com/document/orgapp/descriptions-about-adjusting-limit-and-frequency-of-api-calls?spm=ding_open_doc.document.0.0.6f6b21d9WtkxJI) +5. **Dingtalk Custom Application API Call Limits** -| Dingtalk Version | Total Calls/Month | QPS| Refresh Time | -| :----------: | :--: | :----: | :----:| -|Standard|10,000|20|1st of each month| -|Professional|500,000|40|1st of each month| -|Enterprise|5,500,000|60|1st of each month| + | **Dingtalk Version** | **Total Calls/Month** | **QPS** | **Refresh Time** | + | :----------: | :-------------: | :-----: | :----------: | + | Standard | 10,000 | 20 | 1st of each month | + | Professional | 500,000 | 40 | 1st of each month | + | Exclusive | 5,500,000 | 60 | 1st of each month | -**Note:** Messages cannot be pushed normally after exceeding limits, please use notification channels reasonably + > After exceeding the API call limit, the Dingtalk application will not be able to push messages normally. It is recommended to use notification channels reasonably. For details, see the [official Dingtalk documentation](https://open.dingtalk.com/document/orgapp/descriptions-about-adjusting-limit-and-frequency-of-api-calls?spm=ding_open_doc.document.0.0.6f6b21d9WtkxJI). \ No newline at end of file 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 0f5997cc..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 @@ -1,79 +1,143 @@ --- title: "WeCom Integration" -description: "Integrate WeCom third-party application to receive and respond to alerts within WeCom" +description: "By integrating a WeCom application, you can receive and respond to alerts within WeCom." date: "2025-05-19T10:00:00+08:00" -url: "https://docs.flashcat.cloud/en/flashduty/wecom-integration-guide" +url: "https://docs.flashcat.cloud/en/flashduty/wecom-integration-guide?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5" --- -Integrate WeCom third-party application to receive and respond to alerts within WeCom. +By integrating a WeCom application, you can receive and respond to alerts within WeCom. - +This document supports both [integrating third-party applications](#third-party) and [integrating custom enterprise applications](#self). + + +> You only need to configure one of the two methods: **Integrate third-party application** or **Integrate custom application**. + + + +## 1. Integrate third-party application -## I. Install the Application --- -1. Visit [WeCom Admin Console](https://work.weixin.qq.com/wework_admin/frame#apps) - `App Management` - `Third-party`, and select Add Third-party App +> As a WeCom service provider, Flashduty offers a long-term free version of the Flashduty application. This application requires WeCom API permissions to function (passwordless login + message sending). +> +> This license currently supports **up to 60 days** free of charge. After exceeding this usage period, Flashduty needs to purchase a WeCom license for you to continue using it. + +1. Visit [WeCom Admin Console](https://work.weixin.qq.com/wework_admin/frame#apps), go to Application Management → **Applications** page, and click **Add Third-party Application**. + + ![2025-09-18-12-59-55](https://docs-cdn.flashcat.cloud/images/png/783157a331b4b1246c1941dc53874d27.png) + +2. Enter `Flashduty` in the search bar, and click the **Add** button after finding the application. -drawing + ![2025-09-18-13-00-54](https://docs-cdn.flashcat.cloud/images/png/2b36bb53b8a6de1738a626ad00c5fd6e.png) -2. Search for `flashduty` in the search bar, locate the app, and click the `Add` button +3. Modify the application **visibility range**. It is recommended to select all employees or specific department nodes to avoid needing to modify when new enterprise members are added. Then click **Agree to the above authorization and add** to complete the installation. -drawing + ![2025-09-18-13-14-47](https://docs-cdn.flashcat.cloud/images/png/4e1bd7ecaedc799ca0a2889f59cf8c00.png) -3. Modify the app's `Visibility`, recommend setting it to all members or specific departments to avoid modifying settings when adding new members. Click `Agree and Add` to complete installation +4. Visit [WeCom Admin Console](https://work.weixin.qq.com/wework_admin/frame#apps), go to **My Enterprise** page, and obtain the `Enterprise ID`. -drawing + ![2025-09-18-13-05-43](https://docs-cdn.flashcat.cloud/images/png/11887f4892a2ed05ee13efdca936845f.png) -4. Visit [WeCom Admin Console](https://work.weixin.qq.com/wework_admin/frame#apps) - `My Enterprise` page, copy the `Corp ID` and paste it into the integration configuration as `Corp ID`, click save to complete the setup +5. Return to the Flashduty integration configuration page, fill in the `Enterprise ID` obtained in the previous step, and click **Save** to complete the integration. -drawing + -5. **Please Note: As a WeCom service provider, Flashduty offers a long-term free version of the `FlashDuty` application. The app requires WeCom API access license for functionality (passwordless login + messaging). This license is free for up to `60 days`, after which we must purchase a WeCom license for continued use.** +## 2. Integrate custom enterprise application -## II. FAQ --- -1. **Clicking the integration save button returns `authorize app first` error?** +1. Visit [WeCom Admin Console](https://work.weixin.qq.com/wework_admin/frame#apps), go to Application Management → **Applications** page, and click **Create Application**. - - Check if you've completed the app installation steps, such as whether you can see the `FlashDuty` app in your workspace - - Verify if you've correctly configured the `Corp ID` + ![2025-09-18-13-06-26](https://docs-cdn.flashcat.cloud/images/png/166b4c18de5677d1fd686a5953dda6a7.png) -2. **How to complete account linking? Or message sending shows `App Not Linked`?** +2. Configure **Application Logo**, **Application Name**, and **Application Visibility Range**. - - Log into WeCom client (desktop or mobile), go to `Workspace`, find and enter the `FlashDuty` app - - First-time access requires login, choose member account - password or SSO, successful login completes account linking between `Flashduty` and `WeCom` - - Subsequent access will be passwordless + ![2025-09-18-13-07-17](https://docs-cdn.flashcat.cloud/images/png/c0373856679ae5a37d13dd36562f0c61.png) -3. **How to send incident notifications?** +3. Return to the Flashduty integration configuration page and select whether WeCom is a `non-private deployment version` based on your actual situation. + + If your WeCom is a private deployment version, you need to fill in the `Endpoint` in the configuration page. This address needs to be accessible by the Flashduty service. You may consider setting up **whitelist authorization** for it. + +4. Visit [WeCom Admin Console](https://work.weixin.qq.com/wework_admin/frame#apps), go to **My Enterprise** page, obtain the `Enterprise ID`, and fill it in the Flashduty integration configuration page. + +5. Return to [WeCom Admin Console](https://work.weixin.qq.com/wework_admin/frame#apps), go to **Application Management** page, click on the application you created to enter the details page. Obtain the `AgentId` from the page and fill it in the Flashduty integration configuration page. + +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**. + + > The trusted domain needs to point to Flashduty's backend address `{api_host}` (can be achieved through CNAME or proxy forwarding). + > + > For trusted domain requirements, see the official WeCom documentation [《Internal Development Domain Configuration Guide》](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754). - - Must complete account linking as per Question 1 before sending notifications - - Go to channel details page - escalation rule, select WeCom integration in personal channels to complete notification setup - - Supports customizing WeCom notification content through template management page. Note: **Custom area supports maximum 8 lines**, excess content will be truncated by WeCom +![2025-10-15-10-30-03](https://docs-cdn.flashcat.cloud/images/png/993ba70e9a13ee0256120b491dda007a.png) -drawing + Return to the Flashduty integration configuration page, fill in this domain, and complete the verification. -4. **How to handle alerts in WeCom?** +8. On the application details page, go to **Receive Messages** page and **Set API Reception**. Click **Random Generation** for both `Token` and `EncodingAESKey`, then copy and save the generated values. - - Click the card message to directly access alert details - - Click `Start Processing` to set alert status to `In Progress` - - Click `Close Directly` to set alert status to `Closed` - - Click `Snooze 2h` to snooze the alert for 2 hours, click `...` in top-right corner for more snooze options + ![2025-09-18-13-10-03](https://docs-cdn.flashcat.cloud/images/png/ced9137a2fe74afa34d118ce279579e2.png) -5. **Why is there a `Refresh Status` button on card messages?** + Return to the Flashduty integration configuration page, fill in the saved `Token` and `EncodingAESKey`, and click **Save** to complete the integration. - - WeCom limits card updates to once per 72 hours after interaction. Each button operation counts as an interaction - - Flashduty requests card content updates when alert status changes - - When alert status changes frequently, updates might fail due to update limit, use refresh button for one additional update opportunity +9. Copy the `Callback Address` from the Flashduty integration details page, return to the **Receive Messages** page in WeCom. In the **API Reception** settings, fill in the `Callback Address` and the `Token` and `EncodingAESKey` saved in the previous step, then click **Save**. -6. **How to open card messages in `System Default Browser` on Mac desktop?** + ![2025-09-18-13-10-56](https://docs-cdn.flashcat.cloud/images/png/9a1bee272010ceaa38d2f39025215379.png) - - Mac desktop client defaults to internal browser for links - - Try keyboard shortcut `ctrl` + `command` + `shift` + `d` to enable debug mode, then select `Debug - Browser & WebView Related - Open in System Browser` to change link opening behavior. Use the same shortcut to exit debug mode and retain settings -7. **Incident notification fails with `WeCom License Not Activated`?** +10. Configure **Frontend Trusted Domain** - - Contact Flashduty customer service or dedicated support for license purchase and activation + > 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-10-14-20-28-20](https://docs-cdn.flashcat.cloud/images/png/d9c2184ba459bda0c3302e7634ccf48c.png) + +## 3. Configure war room + +--- + +> The war room feature is only supported when **custom enterprise application** mode is enabled. + +After completing the previous steps, in the **Enhanced Features** module of the Flashduty integration configuration page, check **Enable War Room** to enable this feature without additional configuration. + +## 4. FAQ + +--- + +1. **After clicking the integration save button, the system reports `authorize app first`?** + - Please check if you have completed the application installation steps. For example, can you see the Flashduty application in the WeCom workplace? + - Please check if you have correctly configured the `Corp ID`. +2. **How to complete account linking or message sending prompts `app not linked`?** + - Log in to the WeCom client (both desktop and mobile are acceptable), go to **Workplace**, find and open the Flashduty application. + - The first time you enter the application, you need to log in. Select your member account and log in successfully through password or single sign-on to complete the linking of your Flashduty account and WeCom account. + - Subsequent entries to the application will automatically log in without a password. +3. **How to send incident notifications?** + - Before sending notifications, you must complete account linking as described in the previous question. + - Enter the specified channel, navigate to `Escalation Rules` → **Personal Channels**, and select `WeCom` as the notification method. + - Flashduty supports customizing WeCom notification content. You can go to the **Template Management** page to set custom templates. **The custom area can display up to 8 lines**, and excess content will be truncated by WeCom. + ![2025-09-18-12-02-26](https://docs-cdn.flashcat.cloud/images/png/9cb6a325b4b16875fec3e0c5054be25b.png) +4. **How to handle alerts within WeCom?** + - Click on the card message to directly enter the alert details page. + - Click **Start Processing** to directly set the alert to `Processing` status. + - Click **Close Directly** to directly set the alert to `Closed` status. + - Click **Snooze for 2 hours** to directly snooze the alert for 2 hours. If you want to snooze for longer, click the `...` in the upper right corner of the card to see more snooze options. +5. **Why does the card message provide a `Status Refresh` button?** + - According to WeCom's restrictions, after one card interaction, it can only be updated once within 72 hours. Each button operation is considered an interaction. + - When the alert status changes, Flashduty will request to update the card content. + - When the alert status changes frequently, the card may not be updated in real-time due to exceeding the update limit. At this time, you can click the **Refresh** button to manually get a chance to update the card status. +6. **On Mac desktop, how to set clicking card messages to open with the `system default browser`?** + - Mac desktop uses WeCom's built-in browser to open links by default. + - You can try using the shortcut `ctrl` + `command` + `shift` + `d` to enable debug mode, then select **Debug** → **Browser, WebView Related** → **Open Web Page with System Browser** to change how links are opened. Use the same shortcut to close debug mode, and the settings will be retained. +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). +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 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/en/1. On-call/8. Integrations/8.3 IM integration/8.3.4 Slack Integration Guide.md b/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.4 Slack Integration Guide.md index d63039f4..70bbb383 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.4 Slack Integration Guide.md +++ b/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.4 Slack Integration Guide.md @@ -1,55 +1,55 @@ --- title: "Slack Integration" -description: "Integrate with Slack to receive and respond to alerts within Slack" +description: "By integrating the Slack third-party application, you can receive and respond to alerts within Slack." date: "2025-05-19T10:00:00+08:00" -url: "https://docs.flashcat.cloud/en/flashduty/slack-integration-guide" +url: "https://docs.flashcat.cloud/en/flashduty/slack-integration-guide?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5" --- -Integrate with Slack to receive and respond to alerts within Slack. +By integrating the Slack third-party application, you can receive and respond to alerts within Slack. -## I. Install the App ---- - -1. Go to FlashDuty `Integration Center` - `Instant Messaging` - `Slack` - `Add` - -2. You will be redirected to Slack. Select your `Workspace` in the top right corner, then click `Allow` - -drawing + -3. Enter the integration name and click `Save` +## 1. Install application - -## II. Common Issues --- -1. **Cannot find desired private channel in escalation rule channel list** - - Adding the app to a channel requires Step 1 `Install App` to complete without errors - - In the Slack channel, run `/invite @FlashDuty`. A message saying `has joined` or `has been added by xx to xxx` indicates successful addition - -2. **Cannot find desired public channel in escalation rule channel list** - - Add the app authorizer to the public channel - - Or follow `Common Issue 1` to add the app to the channel +1. Visit Flashduty Integration Center → IM → **Slack**, and click **Add**. +2. On the redirected Slack page, select **Workspace** in the upper right corner, then click **Allow**. + ![2025-09-18-15-58-05](https://docs-cdn.flashcat.cloud/images/png/c241bc7f7a657bd552bfe3b03bdb2e3b.png) +3. Enter the data source name and click **Save**. -3. **Error when clicking Allow button in Step 2 of installation** - - Try again, as there might be communication issues between the server and Slack causing authorization problems. Return to the add integration page and retry - - If the error persists, contact customer support +## 2. Configure war room -4. **Error when clicking Save button in Step 3 of installation** - - Try again, as there might be communication issues when FlashDuty attempts to obtain the permanent authorization code. Return to the add integration page and retry - - If the error persists, contact customer support +After completing the previous steps, in the **Enhanced Features** module of the Flashduty integration configuration page, check **Enable War Room** to enable this feature without additional configuration. -5. **Slack App shows not_authed error** - - Try again, as there might be issues with Slack service - - If the error persists, contact customer support +## 3. FAQ -6. **Slack App shows Operation timed out error** - - Try again, as there might be communication timeout issues between the server and Slack - - If the error persists, contact customer support - -7. **Slack App shows This app responded with Status Code 500 error** - - Try again, as there might be server errors, such as the integration being disabled - - If the error persists, contact customer support +--- -8. **Slack App shows Other questions error** - - Try again, as this might be an unrecorded issue - - If the error persists, contact customer support \ No newline at end of file +1. **The private channel I want is not in the group chat list of escalation rules?** + - Ensure the [**Install Application**](#install-app) step has been completed successfully without errors. + - Enter the relevant Slack channel and execute the `/invite @Flashduty` command. When you see the prompt `has joined` or `has been added by xxx to xxx`, it means the addition was successful. +2. **The public channel I want is not in the group chat list of escalation rules?** + - Add the application authorizer to the public channel. + - Refer to the method in **Question 1** to add the application to the channel. +3. **Error after clicking the `Allow` button in installation step 2?** + - Please retry. This may be due to abnormal communication between the server and Slack causing authorization failure. Please return to the add data source page and try again. + - If the error persists after retrying, please contact customer service. +4. **Error after clicking the `Save` button in installation step 3?** + - Please retry. This may be due to abnormal communication between the Flashduty server and Slack when obtaining the permanent authorization code. Please return to the add data source page and try again. + - If the error persists after retrying, please contact customer service. +5. **Slack App prompts `not_authed` error?** + - Please retry, this may be a temporary issue with Slack service. + - If the error persists after retrying, please contact customer service. +6. **Slack App prompts `Operation timed out` error?** + - Please retry. This may be due to communication timeout between the server and Slack. + - If the error persists after retrying, please contact customer service. +7. **Slack App prompts `This app responded with Status Code 500` error?** + - Please retry. This may be an error on the Flashduty server side (for example, the data source is closed). + - If the error persists after retrying, please contact customer service. +8. **Slack App prompts other unknown errors?** + - Please retry. + - If the error persists after retrying, please contact customer service to record and resolve new issues. +9. **Why is the war room feature not working as expected?** + - For previously authorized Slack IM integrations, you need to manually reauthorize Slack in the Flashduty integration configuration page to grant the application the additional permissions required for the war room feature. + - 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 diff --git a/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.5 Microsoft Teams Integration Guide.md b/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.5 Microsoft Teams Integration Guide.md index 22943500..44ca506a 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.5 Microsoft Teams Integration Guide.md +++ b/flashduty/en/1. On-call/8. Integrations/8.3 IM integration/8.3.5 Microsoft Teams Integration Guide.md @@ -1,128 +1,116 @@ --- title: "Microsoft Teams Integration" -description: "Integrate Microsoft Teams as a third-party application to receive and respond to alerts within Microsoft Teams" +description: "By integrating the Microsoft Teams third-party application, you can receive and respond to alerts within Microsoft Teams." date: "2025-05-19T10:00:00+08:00" -url: "https://docs.flashcat.cloud/en/flashduty/microsoft-teams-integration-guide" +url: "https://docs.flashcat.cloud/en/flashduty/microsoft-teams-integration-guide?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5" --- +By integrating the Microsoft Teams third-party application, you can receive and respond to alerts within Microsoft Teams. -Integrate Microsoft Teams as a third-party application to receive and respond to alerts within Microsoft Teams. - -## I. Install/Update Application +## 1. Install and update application --- -Microsoft Teams integration is currently in Beta. Before associating, you need to complete the following operations: +The Microsoft Teams integration is currently in Beta. You need to complete the following operations before linking. ::: caution -These steps must be completed by a Microsoft Teams administrator +This step needs to be completed by a Microsoft Teams administrator. ::: -### 1. Download Application -Download [FlashDutyBot-v1.0.3.zip](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/docs/FlashdutyBot-v1.0.3.zip) to your local machine +### 1. Download application +Download [FlashdutyBot-v1.0.3.zip](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/docs/FlashdutyBot-v1.0.3.zip) to your local device. -### 2. Install Application -Go to **Microsoft Teams, navigate to [+Apps] - [Manage your apps] - [Upload an app] - [Upload an app to your org's app catalog]** and upload the FlashDutyBot.zip package +### 2. Install application +In Microsoft Teams, navigate to +Apps → Manage your apps → Upload an app → **Upload an app to your org's app catalog**, then upload the application package `FlashdutyBot.zip`. -![](https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/integration/microsoft-teams/upload-app.png) +![2025-09-18-13-48-04](https://docs-cdn.flashcat.cloud/images/png/bfa4afaf489c3582e858cad99eb76ae5.png) -#### Configure Application Visibility -Go to [Microsoft Teams Admin Center](https://admin.teams.microsoft.com/policies/manage-apps), find the FlashDuty application, and adjust the application visibility to everyone (or your custom scope) +#### Configure application visibility +Go to [Microsoft Teams Admin Center](https://admin.teams.microsoft.com/policies/manage-apps), find the Flashduty application, and adjust the application visibility to everyone or your specified scope. ::: tip -If the application status shows [Blocked], please wait a moment and refresh the page or modify it manually +If the application status is "Blocked", please wait a moment and refresh the page or manually modify it. ::: -![](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/install-bot-2.png) +![2025-09-18-13-49-11](https://docs-cdn.flashcat.cloud/images/png/ea961e7965a2d0c69f8575c4252fb333.png) + -#### Check if Installation is Successful -Wait a few minutes, and organization members can find this application integration under [+Apps] - [Built for your org] +#### Check if successfully added +After waiting a few minutes, organization members can find this application in +Apps → **Built for your org**. -![](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/find-bot.png) +![2025-09-18-17-05-37](https://docs-cdn.flashcat.cloud/images/png/f7827638d1877005ca674cbbd2aaa4a3.png) -### 3. Update Application +### 3. Update application ::: caution -If you have installed an application version lower than 1.0.3, please follow the steps below to update +If your installed application version is lower than 1.0.3, please follow this process to update. ::: -Go to [Microsoft Teams Admin Center](https://admin.teams.microsoft.com/policies/manage-apps), find and enter the FlashDuty application details page - -![update-bot-1](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/update-bot-1.png) - -Upload the new version FlashdutyBot.zip +1. Go to [Microsoft Teams Admin Center](https://admin.teams.microsoft.com/policies/manage-apps), find and enter the Flashduty application details page. +![2025-09-18-13-50-41](https://docs-cdn.flashcat.cloud/images/png/32a62878f9e765cd8b2eb79ceb00bb02.png) -![update-bot-2](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/update-bot-2.png) +2. Upload the new version `FlashdutyBot.zip`. +![2025-09-18-13-51-56](https://docs-cdn.flashcat.cloud/images/png/f18ac3504516750c31f8357e65f6d680.png) -Wait for the application version to update in the client (may take several tens of minutes) +3. Wait for the application version to update in the client (may take tens of minutes). +![2025-09-18-13-52-56](https://docs-cdn.flashcat.cloud/images/png/290f609c30055031ab0ccf6636cdbb01.png) -![update-bot-3](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/update-bot-3.png) - -## II. Associate Teams - -### 1. Add FlashDuty Application to Target Team - -#### 1.1 Find the FlashDuty Application -If there is no application, please contact your Microsoft Teams organization administrator +## 2. Link Team +--- +### 1. Add Flashduty application +1. Find the Flashduty application in the app marketplace. +> If there is no application, please contact your Microsoft Teams organization administrator. -![link-bot](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-1.png) +![2025-09-18-17-06-34](https://docs-cdn.flashcat.cloud/images/png/0905e663241ce448a1381ef8c08aa777.png) -#### 1.2 Add to Target Team +2. Add the application to the target Team. ::: caution -Note: This step must select the General Channel of the target Team, otherwise incidents cannot be sent to the Team +This step must select the General Channel of the target Team, otherwise incidents cannot be sent to the Team. ::: -![link-bot-team-1](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-team-1.png) +![2025-09-18-17-11-29](https://docs-cdn.flashcat.cloud/images/png/01fa86b63d01d2735aa6c4a53efb3c69.png) -### 2. Send Association Command -@FlashDuty and send linkTeam {ID} to the added Team, then click Associate Now +### 2. Send link command +In the Team, @Flashduty and send the command `linkTeam {ID}`, then click **Link Now**. -![link-bot-team-2](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-team-2.png) +![2025-09-18-13-55-05](https://docs-cdn.flashcat.cloud/images/png/3192b5481b0595fcb58e5cc43abad125.png) -## III. Associate Chats - -### 1. Add FlashDuty Application to Target Chat - -#### 1.1 Find the FlashDuty Application -If there is no application, please contact your Microsoft Teams organization administrator - -![link-bot](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-1.png) - -#### 1.2 Add to Target Chat - -![link-bot-chat-1](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-chat-1.png) +## 3. Link Chat +--- +### 1. Add Flashduty application +1. Find the Flashduty application in the app marketplace. +> If there is no application, please contact your Microsoft Teams organization administrator. -### 2. Send Association Command -@FlashDuty and send linkChat {ID} {ChatName} to the added Team, then click Associate Now +![2025-09-18-17-06-34](https://docs-cdn.flashcat.cloud/images/png/0905e663241ce448a1381ef8c08aa777.png) -![link-bot-chat-2](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-chat-2.png) +2. Add the application to the target Chat. -## IV. Associate Users +![2025-09-18-17-14-23](https://docs-cdn.flashcat.cloud/images/png/6e56d7de341737fe495e5ff18eb1af34.png) -### 1. Add FlashDuty Application +### 2. Send link command +In the Chat, @Flashduty and send the command `linkChat {ID} {ChatName}`, then click **Link Now**. -#### 1.1 Find the FlashDuty Application -If there is no application, please contact your Microsoft Teams organization administrator +![2025-09-18-13-56-17](https://docs-cdn.flashcat.cloud/images/png/d0beee141db63714ccecb095affee79b.png) -![link-bot](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-1.png) +## 4. Link user +--- +### 1. Add Flashduty application +1. Find the Flashduty application in the app marketplace. +> If there is no application, please contact your Microsoft Teams organization administrator. -#### 1.2 Click to Open Application -![link-bot-user-1](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-user-1.png) +![2025-09-18-17-06-34](https://docs-cdn.flashcat.cloud/images/png/0905e663241ce448a1381ef8c08aa777.png) -### 2. Send Association Command -Copy the command: linkUser {} and send it to the chat, then click Associate Now +2. Click **Open Application**. -![link-bot-user-2](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-user-2.png) +![2025-09-18-13-56-55](https://docs-cdn.flashcat.cloud/images/png/2e6862103d718a913d2b3c449cbf2366.png) -## Common Issues -
-Team or individual not receiving messages -Please check if the teams and users are successfully associated in Integration Center => Instant Messaging => Microsoft Teams -
+### 2. Send link command +Copy and send the command `linkUser {}` to the chat, then click **Link Now**. -
-How to view associated teams and users -Please check in Integration Center => Instant Messaging => Microsoft Teams under Associated Teams and Associated Users -
+![2025-09-18-13-57-13](https://docs-cdn.flashcat.cloud/images/png/671ae7883bbba839419e539762db99de.png) -
-How to cancel associated teams and users -Currently not supported -
+## 5. FAQ +--- +1. **Team or individual cannot receive messages?** + - Please go to Integration Center → IM → **Microsoft Teams** to check if teams and users have been successfully linked. +2. **How to view linked teams and users?** + - Please go to Integration Center → IM → **Microsoft Teams** to view in **Linked Teams** and **Linked Users**. +3. **How to cancel linked teams and users?** + - This feature is not currently supported. \ No newline at end of file diff --git a/flashduty/en/1. On-call/8. Integrations/8.4 Single Sign-On/Authing Guide.md b/flashduty/en/1. On-call/8. Integrations/8.4 Single Sign-On/Authing Guide.md index 5be89a30..a218027a 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.4 Single Sign-On/Authing Guide.md +++ b/flashduty/en/1. On-call/8. Integrations/8.4 Single Sign-On/Authing Guide.md @@ -7,7 +7,7 @@ url: "https://docs.flashcat.cloud/en/flashduty/authing-integration-guide" Quick Overview --- -[Authing](https://www.authing.cn/) is an identity authentication and access control management provider. Through the Authing platform, you can implement login to the FlashDuty management console using OIDC, SAML2.0, or CAS protocols. +[Authing](https://www.authing.cn/) is an identity authentication and access control management provider. Through the Authing platform, you can implement login to the Flashduty management console using OIDC, SAML2.0, or CAS protocols. ## Prerequisites --- @@ -26,14 +26,14 @@ Quick Overview |Field|Description| |---|---| -|App ID|Corresponds to FlashDuty Client ID| -|APP Secret|Corresponds to FlashDuty Client Secret| -|Issuer|Corresponds to FlashDuty Issuer| +|App ID|Corresponds to Flashduty Client ID| +|APP Secret|Corresponds to Flashduty Client Secret| +|Issuer|Corresponds to Flashduty Issuer| |Authentication URL|Redirect URL for SSO login| ## Configuring OIDC Protocol --- -### 1. Open [FlashDuty](console.flashcat.cloud) Console and Enable SSO Configuration +### 1. Open [Flashduty](console.flashcat.cloud) Console and Enable SSO Configuration drawing @@ -65,7 +65,7 @@ Quick Overview 4.1 Create Users in Authing :::tip -FlashDuty only supports email association, so users must be created with email addresses +Flashduty only supports email association, so users must be created with email addresses ::: drawing @@ -83,7 +83,7 @@ FlashDuty only supports email association, so users must be created with email a drawing :::tip -Use the user created in Authing to login to FlashDuty console +Use the user created in Authing to login to Flashduty console ::: ## Configuring SAML2.0 Protocol @@ -99,7 +99,7 @@ You can create a new application or modify an existing one. This guide demonstra drawing -1.2 Change FlashDuty's SSO protocol to SAML and copy the ACS URL +1.2 Change Flashduty's SSO protocol to SAML and copy the ACS URL drawing @@ -107,13 +107,13 @@ You can create a new application or modify an existing one. This guide demonstra drawing -### 2. Configure in FlashDuty +### 2. Configure in Flashduty 2.1 Download metadata file by clicking the link and save locally drawing -2.2 Upload to FlashDuty's SSO configuration and save +2.2 Upload to Flashduty's SSO configuration and save drawing @@ -122,12 +122,12 @@ You can create a new application or modify an existing one. This guide demonstra drawing :::tip -These are the complete configuration steps for both methods. The configuration process involves both platforms, so please ensure no critical information is missed. If you encounter any issues during configuration, please contact FlashDuty technical support for assistance +These are the complete configuration steps for both methods. The configuration process involves both platforms, so please ensure no critical information is missed. If you encounter any issues during configuration, please contact Flashduty technical support for assistance ::: ## Configuring CAS Protocol --- -### 1. Open [FlashDuty](console.flashcat.cloud) Console and Enable SSO Configuration +### 1. Open [Flashduty](console.flashcat.cloud) Console and Enable SSO Configuration drawing @@ -160,7 +160,7 @@ These are the complete configuration steps for both methods. The configuration p 4.1 Create Users in Authing :::tip -FlashDuty only supports email association, so users must be created with email addresses +Flashduty only supports email association, so users must be created with email addresses ::: drawing @@ -174,5 +174,5 @@ FlashDuty only supports email association, so users must be created with email a drawing :::tip -Use the user created in Authing to login to FlashDuty console +Use the user created in Authing to login to Flashduty console ::: \ No newline at end of file diff --git a/flashduty/en/1. On-call/8. Integrations/8.4 Single Sign-On/Keycloak Guide.md b/flashduty/en/1. On-call/8. Integrations/8.4 Single Sign-On/Keycloak Guide.md index 81f18d28..248d04f6 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.4 Single Sign-On/Keycloak Guide.md +++ b/flashduty/en/1. On-call/8. Integrations/8.4 Single Sign-On/Keycloak Guide.md @@ -18,8 +18,8 @@ This article does not cover Keycloak deployment and detailed explanations. For m ## SAML 2.0 Protocol Configuration --- -### 1. Log in to FlashDuty Console -1.1 Get the ACS URL from FlashDuty (needed in step 2) +### 1. Log in to Flashduty Console +1.1 Get the ACS URL from Flashduty (needed in step 2) 1.2 Path: Access Control => Single Sign-On => Settings => SAML 2.0 Protocol => Flashcat Service Provider Information => Assertion Consumer Service URL drawing @@ -31,7 +31,7 @@ This article does not cover Keycloak deployment and detailed explanations. For m drawing -2.4 Valid redirect URIs: Enter the ACS URL obtained from FlashDuty +2.4 Valid redirect URIs: Enter the ACS URL obtained from Flashduty drawing @@ -82,7 +82,7 @@ The downloaded file is a compressed archive containing two XML files. You only n drawing -4.2 Upload the XML file to FlashDuty's SSO configuration +4.2 Upload the XML file to Flashduty's SSO configuration drawing @@ -98,8 +98,8 @@ The downloaded file is a compressed archive containing two XML files. You only n ## OIDC Protocol Configuration --- -### 1. Log in to FlashDuty Platform -1.1 Get Redirect URL from FlashDuty (needed in step 2) +### 1. Log in to Flashduty Platform +1.1 Get Redirect URL from Flashduty (needed in step 2) 2.2 Path: **Access Control => Single Sign-On => Settings => OIDC Protocol => Flashcat Service Provider Information => Redirect URL** drawing @@ -130,7 +130,7 @@ The downloaded file is a compressed archive containing two XML files. You only n drawing -### 4. FlashDuty SSO Configuration Example +### 4. Flashduty SSO Configuration Example drawing diff --git a/flashduty/en/1. On-call/8. Integrations/8.4 Single Sign-On/OpenLDAP Guide.md b/flashduty/en/1. On-call/8. Integrations/8.4 Single Sign-On/OpenLDAP Guide.md index 49288c6a..5566e65c 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.4 Single Sign-On/OpenLDAP Guide.md +++ b/flashduty/en/1. On-call/8. Integrations/8.4 Single Sign-On/OpenLDAP Guide.md @@ -129,8 +129,8 @@ Under `User Path` (e.g., cn=flash duty under ou=people in the above image) -> `A ::: -## FlashDuty Integration -Based on the above OpenLDAP configuration, the FlashDuty integration information is shown in the following image: +## Flashduty Integration +Based on the above OpenLDAP configuration, the Flashduty integration information is shown in the following image: ![image.png](https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/kb/ldap-duty-config.png) diff --git a/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.1 Alert webhook.md b/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.1 Alert webhook.md index 6647f551..b055bf60 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.1 Alert webhook.md +++ b/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.1 Alert webhook.md @@ -109,7 +109,7 @@ curl -X POST 'https://example.com/alert/webhook?a=a' \ "data_source_name":"Aliyun SLS", "data_source_ref_id":"", "data_source_type":"aliyun-sls.alert", - "description":"Test alert trigger to FlashDuty", + "description":"Test alert trigger to Flashduty", "end_time":0, "event_cnt":1, "incident":{ @@ -121,7 +121,7 @@ curl -X POST 'https://example.com/alert/webhook?a=a' \ "alert_type":"sls_alert", "alert_url":"https://sls.console.aliyun.com/lognext/project/sls-api-testing/alert/alert-1683548531-071659", "aliuid":"1082109605037616", - "check":"Test send to FlashDuty", + "check":"Test send to Flashduty", "fire_results":"{\"_col0\":\"true\"}", "fire_results_count":"1", "project":"sls-api-testing", @@ -133,7 +133,7 @@ curl -X POST 'https://example.com/alert/webhook?a=a' \ "last_time":1683809153, "progress":"Triggered", "start_time":1683766013, - "title":"Test alert trigger to FlashDuty", + "title":"Test alert trigger to Flashduty", "title_rule":"$resource::$check", "updated_at":1683809170 }, @@ -152,11 +152,14 @@ curl -X POST 'https://example.com/alert/webhook?a=a' \ 1. **Is there a response timeout for the service?** - - The service must respond within 1 second, after which the response is considered failed + - Services must respond within 2 second, responses after 2 second are considered failed 2. **Will failed pushes continue to be pushed?** - - Currently, FlashDuty pushes only once, though retry mechanisms may be introduced in the future. Retries may also occur due to middleware timeouts, so implement idempotent processing + For specific network errors, retries will be attempted up to a maximum of 2 times: + - context deadline exceeded (excluding cases involving "awaiting headers") + - i/o timeout + - eof 3. **How is push order guaranteed?** 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..0b76aa1b 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 | @@ -192,11 +192,14 @@ curl -X POST 'https://example.com/incident/webhook?a=a' \ 1. **Is there a response timeout for the service?** - - Services must respond within 1 second, responses after 1 second are considered failed + - Services must respond within 2 second, responses after 2 second are considered failed 2. **Will failed pushes continue to be pushed?** - - Currently, FlashDuty pushes only once, though retry mechanisms may be introduced in the future. Retries may also occur due to middleware timeouts, so implement idempotent processing + For specific network errors, retries will be attempted up to a maximum of 2 times: + - context deadline exceeded (excluding cases involving "awaiting headers") + - i/o timeout + - eof 3. **How is push order guaranteed?** diff --git a/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.3 Custom action.md b/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.3 Custom action.md index 54482e4b..23f31750 100644 --- a/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.3 Custom action.md +++ b/flashduty/en/1. On-call/8. Integrations/8.5 Webhooks/8.5.3 Custom action.md @@ -2,7 +2,7 @@ Custom incident actions allow you to quickly invoke external interfaces during i ## I. Creating Actions -1. Log in to the FlashDuty console and navigate to [Integration Center-Webhook] +1. Log in to the Flashduty console and navigate to [Integration Center-Webhook] 2. Click to add a Custom Action integration 3. Configure the action name, which will appear as a button in the incident details 4. Configure channels (multiple can be configured, but each channel can have up to three custom actions) @@ -237,7 +237,7 @@ When host memory or CPU is maxed out, trigger host restart scripts for quick rec ### 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. +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. ### Rollback Changes 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..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 **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 +![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/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/en/2. RUM/2. Applications/2. SDK Integration.md b/flashduty/en/2. RUM/2. Applications/2. SDK Integration.md index 2fdb822f..90a4df6b 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/2. Applications/3. Advanced Configuration.md b/flashduty/en/2. RUM/2. Applications/3. Advanced Configuration.md index 7274debb..980e0cfa 100644 --- a/flashduty/en/2. RUM/2. Applications/3. Advanced Configuration.md +++ b/flashduty/en/2. RUM/2. Applications/3. Advanced Configuration.md @@ -7,7 +7,7 @@ url: "https://docs.flashcat.cloud/en/flashduty/rum/advanced-configuration?nav=01%20%20##%20Overview%20-FlashDuty%20Real%20User%20Monitoring%20(RUM)%20offers%20various%20advanced%20configuration%20options%20that%20allow%20you%20to%20modify%20collected%20data%20and%20context%20based%20on%20your%20requirements,%20supporting%20the%20following%20scenarios:+Flashduty%20Real%20User%20Monitoring%20(RUM)%20offers%20various%20advanced%20configuration%20options%20that%20allow%20you%20to%20modify%20collected%20data%20and%20context%20based%20on%20your%20requirements,%20supporting%20the%20following%20scenarios:%20%20-%20**Protect%20sensitive%20data**:%20Mask%20personally%20identifiable%20information%20and%20other%20sensitive%20data.%20-%20**Associate%20user%20sessions**:%20Link%20user%20sessions%20with%20internal%20user%20identifiers%20for%20support%20and%20troubleshooting.@@%20-18,13%20+18,13%20@@%20The%20following%20sections%20detail%20how%20to%20implement%20these%20capabilities.%20%20##%20Override%20Default%20RUM%20View%20Names%20-The%20FlashDuty%20RUM%20browser%20SDK%20automatically%20generates%20view%20events%20when%20users%20visit%20new%20pages%20or%20when%20URLs%20change%20in%20single-page%20applications%20(SPAs).%20View%20names%20are%20calculated%20from%20the%20current%20page%20URL%20by%20default%20and%20automatically%20remove%20variable%20IDs%20(path%20segments%20containing%20numbers).%20For%20example,%20%60/dashboard/1234%60%20and%20%60/dashboard/9a%60%20are%20normalized%20to%20%60/dashboard/?%60.+The%20Flashduty%20RUM%20browser%20SDK%20automatically%20generates%20view%20events%20when%20users%20visit%20new%20pages%20or%20when%20URLs%20change%20in%20single-page%20applications%20(SPAs).%20View%20names%20are%20calculated%20from%20the%20current%20page%20URL%20by%20default%20and%20automatically%20remove%20variable%20IDs%20(path%20segments%20containing%20numbers).%20For%20example,%20%60/dashboard/1234%60%20and%20%60/dashboard/9a%60%20are%20normalized%20to%20%60/dashboard/?%60.%20%20You%20can%20manually%20track%20view%20events%20by%20setting%20the%20%60trackViewsManually%60%20option%20and%20specify%20custom%20names%20for%20views%20along%20with%20their%20associated%20services%20and%20versions.%20%20###%20Configure%20Manual%20View%20Tracking%20-When%20initializing%20the%20FlashDuty%20RUM%20SDK,%20set%20%60trackViewsManually%60%20to%20%60true%60:+When%20initializing%20the%20Flashduty%20RUM%20SDK,%20set%20%60trackViewsManually%60%20to%20%60true%60:%20%20%60%60%60javascript%20import%20{%20flashcatRum%20}%20from"@flashcatcloud/browser-rum"; @@ -119,7 +119,7 @@ flashcatRum.setViewName("Checkout"); ## Enrich and Control RUM Data -The FlashDuty RUM browser SDK automatically captures RUM events and populates their main attributes. Through the `beforeSend` callback function, you can intercept and modify events before they are sent to FlashDuty, supporting the following operations: +The Flashduty RUM browser SDK automatically captures RUM events and populates their main attributes. Through the `beforeSend` callback function, you can intercept and modify events before they are sent to Flashduty, supporting the following operations: - **Enrich events**: Add additional context attributes. - **Modify events**: Change event content or mask sensitive information. @@ -279,7 +279,7 @@ flashcatRum.clearUser(); ## Sampling -By default, FlashDuty RUM collects data for all sessions. You can use the `sessionSampleRate` parameter to set a sampling rate (percentage) to reduce the number of sessions collected. For example, to collect 90% of sessions: +By default, Flashduty RUM collects data for all sessions. You can use the `sessionSampleRate` parameter to set a sampling rate (percentage) to reduce the number of sessions collected. For example, to collect 90% of sessions: ```javascript flashcatRum.init({ @@ -294,9 +294,9 @@ Sampled sessions will not collect any page views and their related telemetry dat ## User Tracking Consent -To comply with privacy regulations such as GDPR and CCPA, FlashDuty RUM allows setting user tracking consent status (`trackingConsent`) during initialization. Available values: +To comply with privacy regulations such as GDPR and CCPA, Flashduty RUM allows setting user tracking consent status (`trackingConsent`) during initialization. Available values: -- **"granted"**: Begin collecting data and sending it to FlashDuty. +- **"granted"**: Begin collecting data and sending it to Flashduty. - **"not-granted"**: Do not collect any data. You can change the consent status after initialization using the `setTrackingConsent` API: @@ -413,11 +413,11 @@ flashcatRum.init({ - It is not recommended to store personally identifiable information in context, as `localStorage` data exceeds the user session lifecycle. - Not compatible with the `trackSessionAcrossSubdomains` option, as `localStorage` is only shared within the same domain. -- `localStorage` capacity is limited to 5 MiB, so ensure that the total of application data, FlashDuty context, and other third-party data remains within this range. +- `localStorage` capacity is limited to 5 MiB, so ensure that the total of application data, Flashduty context, and other third-party data remains within this range. ## Micro-frontend Support -FlashDuty RUM supports micro-frontend architecture by identifying event sources through stacktrace mechanism. You need to extract `service` and `version` attributes from application file paths and filenames. +Flashduty RUM supports micro-frontend architecture by identifying event sources through stacktrace mechanism. You need to extract `service` and `version` attributes from application file paths and filenames. ### Usage @@ -494,4 +494,4 @@ allowedTracingUrls matches the complete URL (`://[:]/[ ## More Information -For more detailed information about FlashDuty RUM, please visit [FlashDuty SDK](https://github.com/flashcatcloud/browser-sdk). +For more detailed information about Flashduty RUM, please visit [Flashduty SDK](https://github.com/flashcatcloud/browser-sdk). diff --git a/flashduty/en/2. RUM/3. Performance Monitoring/4. Performance Optimize.md b/flashduty/en/2. RUM/3. Performance Monitoring/4. Performance Optimize.md index aa84a64a..f2cae319 100644 --- a/flashduty/en/2. RUM/3. Performance Monitoring/4. Performance Optimize.md +++ b/flashduty/en/2. RUM/3. Performance Monitoring/4. Performance Optimize.md @@ -9,7 +9,7 @@ url: "https://docs.flashcat.cloud/en/flashduty/rum/performance-optimize?nav=01JC%20%20##%20Overview%20-Optimizing%20pages%20helps%20identify%20the%20root%20causes%20of%20browser%20performance%20issues%20based%20on%20real%20user%20traffic%20data.%20Browser%20metrics,%20such%20as%20Core%20Web%20Vitals%20(CWV)%20and%20FlashDuty%20custom%20loading%20time%20metrics,%20are%20used%20to%20troubleshoot%20slow%20page%20loading.%20These%20metrics%20assess%20the%20complete%20page%20loading%20time%20from%20the%20user's perspective. +Optimizing pages helps identify the root causes of browser performance issues based on real user traffic data. Browser metrics, such as Core Web Vitals (CWV) and Flashduty custom loading time metrics, are used to troubleshoot slow page loading. These metrics assess the complete page loading time from the user's perspective. For deeper analysis, the optimization page provides detailed breakdowns of Core Web Vitals by user demographics (such as browser, region, and application version). You can leverage this information to track performance trends, understand which user groups are most affected, and optimize precisely. diff --git a/flashduty/en/2. RUM/4. Error Tracking/3. Issues.md b/flashduty/en/2. RUM/4. Error Tracking/3. Issues.md index decd0049..3b6060d7 100644 --- a/flashduty/en/2. RUM/4. Error Tracking/3. Issues.md +++ b/flashduty/en/2. RUM/4. Error Tracking/3. Issues.md @@ -84,7 +84,7 @@ Error causes are classified as follows: ### Issue Recurrence -Issue Recurrence (Regression) refers to a previously fixed bug occurring again. In FlashDuty, if an error has been marked as resolved but the same error occurs again later (with a different version), the Issue status will reopen from the end state and be marked as "Issue Recurred". You can view information about recurred Issues in the list. +Issue Recurrence (Regression) refers to a previously fixed bug occurring again. In Flashduty, if an error has been marked as resolved but the same error occurs again later (with a different version), the Issue status will reopen from the end state and be marked as "Issue Recurred". You can view information about recurred Issues in the list. ![2025-05-15-19-35-36](https://docs-cdn.flashcat.cloud/imges/png/489e8b51c598fc2ef0a248508dd546d6.png) 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/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/6. Session Replay/1. Overview.md b/flashduty/en/2. RUM/6. Session Replay/1. Overview.md new file mode 100644 index 00000000..a169db90 --- /dev/null +++ b/flashduty/en/2. RUM/6. 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 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 + +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/6. Session Replay/2. SDK Configuration.md b/flashduty/en/2. RUM/6. Session Replay/2. SDK Configuration.md new file mode 100644 index 00000000..644c9d3e --- /dev/null +++ b/flashduty/en/2. RUM/6. Session Replay/2. SDK Configuration.md @@ -0,0 +1,92 @@ +--- +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. + +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. + +```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/6. Session Replay/3. View Session Replay.md b/flashduty/en/2. RUM/6. Session Replay/3. View Session Replay.md new file mode 100644 index 00000000..2143b06e --- /dev/null +++ b/flashduty/en/2. RUM/6. Session Replay/3. View Session Replay.md @@ -0,0 +1,54 @@ +--- +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) + +:::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. +![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/6. Session Replay/4. Privacy Protection.md b/flashduty/en/2. RUM/6. Session Replay/4. Privacy Protection.md new file mode 100644 index 00000000..a6e71557 --- /dev/null +++ b/flashduty/en/2. RUM/6. 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 `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 `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. +::: + +### Hide All Page Text + +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({ + applicationId: "YOUR_APPLICATION_ID", + clientToken: "YOUR_CLIENT_TOKEN", + // ... + sessionReplaySampleRate: 10, // Default sampling rate 10% + defaultPrivacyLevel: "mask", + // ... +}); +``` + +![Hide All Page Text](https://docs-cdn.flashcat.cloud/imges/png/03afebc34026be5cb5ad683665163c12.png) + +### Hide Input Field Content + +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({ + applicationId: "YOUR_APPLICATION_ID", + clientToken: "YOUR_CLIENT_TOKEN", + // ... + sessionReplaySampleRate: 10, // Default sampling rate 10% + defaultPrivacyLevel: "mask-user-input", + // ... +}); +``` + +![Hide Input Field Content](https://docs-cdn.flashcat.cloud/imges/png/e2f36a765e0dcb5db8a3ba9c24c42d6a.png) + +### Display All Text (Except Passwords) + +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({ + applicationId: "YOUR_APPLICATION_ID", + clientToken: "YOUR_CLIENT_TOKEN", + // ... + sessionReplaySampleRate: 10, // Default sampling rate 10% + defaultPrivacyLevel: "allow", + // ... +}); +``` + +![Display All Text](https://docs-cdn.flashcat.cloud/imges/png/24db39145913b960a588e45ab088c224.png) diff --git a/flashduty/en/2. RUM/5. Others/1. Terminology.md b/flashduty/en/2. RUM/7. Others/1. Terminology.md similarity index 100% rename from flashduty/en/2. RUM/5. Others/1. Terminology.md rename to flashduty/en/2. RUM/7. Others/1. Terminology.md diff --git a/flashduty/en/2. RUM/5. 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/5. Others/2. Data Collection.md rename to flashduty/en/2. RUM/7. Others/2. Data Collection.md diff --git a/flashduty/en/2. RUM/5. Others/4. Data Security.md b/flashduty/en/2. RUM/7. Others/4. Data Security.md similarity index 88% rename from flashduty/en/2. RUM/5. Others/4. Data Security.md rename to flashduty/en/2. RUM/7. Others/4. Data Security.md index e1a66bf1..9a4a71bf 100644 --- a/flashduty/en/2. RUM/5. Others/4. Data Security.md +++ b/flashduty/en/2. RUM/7. Others/4. Data Security.md @@ -7,15 +7,15 @@ url: "https://docs.flashcat.cloud/en/flashduty/rum/data-security?nav=01JCQ7A4N4W%20%20##%20Overview%20-Real%20User%20Monitoring%20(RUM)%20involves%20collecting%20data%20from%20end%20users' browsers and mobile devices. To protect user privacy and ensure data security, FlashDuty provides various configuration options and tools to manage data collection, storage, and access. +Real User Monitoring (RUM) involves collecting data from end users' browsers and mobile devices. To protect user privacy and ensure data security, Flashduty provides various configuration options and tools to manage data collection, storage, and access. ## Privacy Options ### Client Token -The browser RUM client token is used to match data from end-user browsers with a specific RUM application in FlashDuty. It is unencrypted and can be seen from the client side of the application. +The browser RUM client token is used to match data from end-user browsers with a specific RUM application in Flashduty. It is unencrypted and can be seen from the client side of the application. -Although the client token is only used to send data to FlashDuty and does not pose a risk of data leakage, we recommend the following good token management practices: +Although the client token is only used to send data to Flashduty and does not pose a risk of data leakage, we recommend the following good token management practices: - Regularly rotate client tokens to ensure they are only used by your application - Automatically filter out bots when capturing RUM data @@ -24,7 +24,7 @@ Although the client token is only used to send data to FlashDuty and does not po One method to filter bots using client tokens is an authentication proxy. In this approach, a placeholder string is used instead of the `clientToken` when initializing the RUM SDK. The proxy knows the real client token, but the end user does not. -The proxy is configured to check for valid user information before passing session data to FlashDuty, thus confirming that a real user is logged in and transmitting traffic to be monitored. When receiving traffic, the proxy verifies that the data contains the placeholder string and replaces it with the real `clientToken` before forwarding the data to FlashDuty. +The proxy is configured to check for valid user information before passing session data to Flashduty, thus confirming that a real user is logged in and transmitting traffic to be monitored. When receiving traffic, the proxy verifies that the data contains the placeholder string and replaces it with the real `clientToken` before forwarding the data to Flashduty. ### Event Tracking @@ -32,7 +32,7 @@ Events are interactions between users and specific elements of your website or a ### Transmitting RUM Events Through a Proxy Server -You can transmit all RUM events through your own proxy server so that end-user devices never communicate directly with FlashDuty. +You can transmit all RUM events through your own proxy server so that end-user devices never communicate directly with Flashduty. ### User Identity Tracking @@ -40,7 +40,7 @@ By default, **user identity is not tracked**. Each session has a unique `session ### Data Retention -After configuring event capture, events are stored in FlashDuty. You can decide how long captured events and properties are retained in FlashDuty. +After configuring event capture, events are stored in Flashduty. You can decide how long captured events and properties are retained in Flashduty. By default, the data retention period for production environments is: @@ -63,8 +63,8 @@ By default, if you want to mask all action names, you can use the `enablePrivacy After initializing a RUM application, you can choose whether to include IP or geolocation data in the **User Data Collection** tab. -When IP data collection is disabled, the change takes effect immediately. Any events collected before disabling will not have IP data removed. This is performed on the backend, meaning the browser SDK still sends the data, but the IP address is omitted and discarded by the FlashDuty backend pipeline during processing. +When IP data collection is disabled, the change takes effect immediately. Any events collected before disabling will not have IP data removed. This is performed on the backend, meaning the browser SDK still sends the data, but the IP address is omitted and discarded by the Flashduty backend pipeline during processing. #### Geolocation -In addition to removing client IPs, you can also choose to disable the collection of geolocation (country, city, county) or GeoIP information from all future collected data. If you uncheck the **Collect Geolocation Data** box, the change takes effect immediately. Any events collected before disabling will not have the corresponding geolocation data removed. Data omission is done at the backend level, meaning the browser SDK still sends the data, but geolocation data is omitted and discarded by the FlashDuty backend pipeline during processing. \ No newline at end of file +In addition to removing client IPs, you can also choose to disable the collection of geolocation (country, city, county) or GeoIP information from all future collected data. If you uncheck the **Collect Geolocation Data** box, the change takes effect immediately. Any events collected before disabling will not have the corresponding geolocation data removed. Data omission is done at the backend level, meaning the browser SDK still sends the data, but geolocation data is omitted and discarded by the Flashduty backend pipeline during processing. \ No newline at end of file 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..bd3081e8 --- /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/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 diff --git a/flashduty/en/3. Platform/3. Single Sign-On.md b/flashduty/en/3. Platform/3. Single Sign-On.md index bcefebab..8aceef64 100644 --- a/flashduty/en/3. Platform/3. Single Sign-On.md +++ b/flashduty/en/3. Platform/3. Single Sign-On.md @@ -5,7 +5,7 @@ date: "2024-05-10T10:00:00+08:00" url: "https://docs.flashcat.cloud/en/flashduty/single-Sign-On" --- -FlashDuty currently supports Single Sign-On (SSO) integration through SAML2.0, OIDC, CAS, and LDAP (private deployment only) protocols, enabling seamless integration with various applications and platforms. These features help you quickly implement identity information sharing with other platforms. Users only need to log in once to access multiple related applications and services without authenticating separately for each application, improving work efficiency, user experience, simplifying the login process, and enhancing security. +Flashduty currently supports Single Sign-On (SSO) integration through SAML2.0, OIDC, CAS, and LDAP (private deployment only) protocols, enabling seamless integration with various applications and platforms. These features help you quickly implement identity information sharing with other platforms. Users only need to log in once to access multiple related applications and services without authenticating separately for each application, improving work efficiency, user experience, simplifying the login process, and enhancing security. ## Configure SAML Protocol --- @@ -15,7 +15,7 @@ Configuration path: **Access Control => Single Sign-On => Enable => Settings => |----|----| |Protocol Type|Select SAML2.0| |Metadata Document|XML document obtained from the identity provider| -|Field Mapping|FlashDuty extracts user email, username, and phone information from the identity provider through mapped fields| +|Field Mapping|Flashduty extracts user email, username, and phone information from the identity provider through mapped fields| |Login Domain|Essential identifier for authentication, globally unique| |Create Account on Login|Enabled by default, **if disabled, members need to be invited before they can log in**| |Flashcat Service Provider Information|**Service Provider Metadata:**
**Assertion Consumer Service URL:** Assertion endpoint for single Sign-On with identity provider| @@ -30,7 +30,7 @@ Configuration path: **Access Control => Single Sign-On => Enable => Settings => |Issuer|Obtain Issuer from identity provider, case-sensitive URL without query parameters| |Client ID|Client ID obtained from identity provider| |Client Secret|Client secret obtained from identity provider| -|Field Mapping|FlashDuty extracts user email, username, and phone information from the identity provider through mapped fields| +|Field Mapping|Flashduty extracts user email, username, and phone information from the identity provider through mapped fields| |Login Domain|Essential identifier for authentication, globally unique| |Create Account on Login|Enabled by default, **if disabled, members need to be invited before they can log in**| |Flashcat Service Provider Information|**Redirect URL:** Callback address for identity provider to Flashduty
**Supported Signing Algorithms:** RS256,RS384,RS512,ES256,ES384,ES512,PS256,PS384,PS512 (HS256 not supported)
**Request scope:** openid, email, phone| @@ -44,7 +44,7 @@ Configuration path: **Access Control => Single Sign-On => Enable => Settings => |Protocol Type|Select CAS Protocol| |CAS Address|CAS service address from identity provider| |CAS Login Path|CAS login path| -|Field Mapping|FlashDuty extracts user email, username, and phone information from the identity provider through mapped fields| +|Field Mapping|Flashduty extracts user email, username, and phone information from the identity provider through mapped fields| |Login Domain|Essential identifier for authentication, globally unique| |Create Account on Login|Enabled by default, **if disabled, members need to be invited before they can log in**| |Flashcat Service Provider Information|**Redirect URL:** Callback address for identity provider to Flashduty| @@ -69,21 +69,21 @@ Configuration path: **Access Control => Single Sign-On => Enable => Settings => |StartTLS|Whether to enable StartTLS| |User DN|Defines the directory to start user search, e.g., ou=people,dc=flashduty,dc=com| |Authentication Filter|Combined with Bind DN and password for user lookup, used to retrieve user DN information for LDAP authentication. Supports custom filter expressions, basic format: (&(mail=%s)). Note: Starting and ending parentheses are required| -|Field Mapping|FlashDuty extracts user email, username, and phone information from the identity provider through mapped fields. Email is a required mapping field| +|Field Mapping|Flashduty extracts user email, username, and phone information from the identity provider through mapped fields. Email is a required mapping field| |Login Domain|Essential identifier for authentication, globally unique| |Create Account on Login|Enabled by default, **if disabled, members need to be invited before they can log in**| :::tip -Field mapping must be consistent with identity provider configuration to avoid errors. Fill in values according to descriptions. Refer to [OpenLDAP Integration Guide](https://docs.flashcat.cloud/en/flashduty/openldap-integration-guide?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5) for configuration. Contact FlashDuty customer service if you have questions. +Field mapping must be consistent with identity provider configuration to avoid errors. Fill in values according to descriptions. Refer to [OpenLDAP Integration Guide](https://docs.flashcat.cloud/en/flashduty/openldap-integration-guide?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5) for configuration. Contact Flashduty customer service if you have questions. ::: ## Best Practices --- -Configure FlashDuty SSO through [Authing Configuration](https://docs.flashcat.cloud/en/flashduty/authing-integration-guide?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5). -Configure FlashDuty SSO through [Keycloak Configuration](https://docs.flashcat.cloud/en/flashduty/keycloak-integration-guide?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5). -Configure FlashDuty SSO through [Ldap Configuration](http://docs.flashcat.cloud/en/flashduty/openldap-integration-guide?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5). +Configure Flashduty SSO through [Authing Configuration](https://docs.flashcat.cloud/en/flashduty/authing-integration-guide?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5). +Configure Flashduty SSO through [Keycloak Configuration](https://docs.flashcat.cloud/en/flashduty/keycloak-integration-guide?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5). +Configure Flashduty SSO through [Ldap Configuration](http://docs.flashcat.cloud/en/flashduty/openldap-integration-guide?nav=01JCQ7A4N4WRWNXW8EWEHXCMF5). ## FAQ --- diff --git a/flashduty/index.md b/flashduty/index.md index ba5e8cba..c4937997 100644 --- a/flashduty/index.md +++ b/flashduty/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/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..1b60426d 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 的成员在登录控制台进行查看/处理等操作的时候,会提示没有权限。 -
@@ -70,10 +67,229 @@ 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 - - 美国、加拿大:**13152319335** - - 印度尼西亚、德国、马来西亚、澳大利亚、新加坡、泰国、俄罗斯、韩国、沙特阿拉伯、越南、日本、中国香港、中国台湾:**随机号码** - - 其他区域暂不支持推送语音,如果您有需求,请联系我们:[support@flashcat.cloud](mailto:support@flashcat.cloud) + - 中国大陆:+86 (010)21364727、(021)32017538、(010)21364713、(010)21364708、(0571)23675454 和 (0571)23675496 + - 中国大陆以外: + | 地区/国家 (Region/Country) | 地区码 (Code) | 显示号码 (Display Number) | + | --- | --- | --- | + 安圭拉 (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) | 164 + 格陵兰 (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 + 美国/加拿大 (United States/Canada) | (+1) | 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 + 德国 (Germany) | (+49) | 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 + 英国 (United Kingdom) | (+44) | 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 + 中国香港 (Hong Kong) | (+852) | 16465861127 + 印度 (India) | (+91) | 16465861127 + 印度尼西亚 (Indonesia) | (+62) | 16465861127 + 伊拉克 (Iraq) | (+964) | 16465861127 + 以色列 (Israel) | (+972) | 16465861127 + 日本 (Japan) | (+81) | 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 + 中国台湾 (Taiwan) | (+886) | 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 + - 若有不存在的地区,请联系我们:[support@flashcat.cloud](mailto:support@flashcat.cloud)
如何确保 Flashduty On-call 通知到我? diff --git "a/flashduty/zh/1. On-call/2. \346\225\205\351\232\234\347\256\241\347\220\206/2.5 \350\207\252\345\256\232\344\271\211\345\255\227\346\256\265.md" "b/flashduty/zh/1. On-call/2. \346\225\205\351\232\234\347\256\241\347\220\206/2.5 \350\207\252\345\256\232\344\271\211\345\255\227\346\256\265.md" index 679246e0..100c7720 100644 --- "a/flashduty/zh/1. On-call/2. \346\225\205\351\232\234\347\256\241\347\220\206/2.5 \350\207\252\345\256\232\344\271\211\345\255\227\346\256\265.md" +++ "b/flashduty/zh/1. On-call/2. \346\225\205\351\232\234\347\256\241\347\220\206/2.5 \350\207\252\345\256\232\344\271\211\345\255\227\346\256\265.md" @@ -14,7 +14,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/custom-fields" ## 使用场景 --- -FlashDuty 已支持接入大部分常见的告警系统,我们将推送内容中的大部分信息放到了 Labels 进行展示。尽管如此,我们用户还是会有一些扩展或定制性的需求,比如人工标记一个故障是否为误报。因此我们提供了**自定义字段**功能,来进一步丰富故障描述。 +Flashduty 已支持接入大部分常见的告警系统,我们将推送内容中的大部分信息放到了 Labels 进行展示。尽管如此,我们用户还是会有一些扩展或定制性的需求,比如人工标记一个故障是否为误报。因此我们提供了**自定义字段**功能,来进一步丰富故障描述。 通过自定义字段,您可以添加自定义的元数据,记录特定的故障相关信息,并在故障处理过程中传递和使用这些信息。以下是的自定义字段常见使用场景: diff --git "a/flashduty/zh/1. On-call/2. \346\225\205\351\232\234\347\256\241\347\220\206/2.6 \350\207\252\345\256\232\344\271\211\346\223\215\344\275\234.md" "b/flashduty/zh/1. On-call/2. \346\225\205\351\232\234\347\256\241\347\220\206/2.6 \350\207\252\345\256\232\344\271\211\346\223\215\344\275\234.md" index a3076070..e94b6698 100644 --- "a/flashduty/zh/1. On-call/2. \346\225\205\351\232\234\347\256\241\347\220\206/2.6 \350\207\252\345\256\232\344\271\211\346\223\215\344\275\234.md" +++ "b/flashduty/zh/1. On-call/2. \346\225\205\351\232\234\347\256\241\347\220\206/2.6 \350\207\252\345\256\232\344\271\211\346\223\215\344\275\234.md" @@ -12,7 +12,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/custom-actions" 自定义操作常见使用场景: 1. **重启主机**:当主机内存或 CPU 打满,触发主机重启脚本,快速完成主机重启。 -2. **信息丰富**:当故障发生时,回调您的服务,根据告警详情调取 Tracing、Logging、拓扑等信息,主动调用 FlashDuty Open API 来更新故障信息,比如增加标签或设定自定义字段,辅助排障。 +2. **信息丰富**:当故障发生时,回调您的服务,根据告警详情调取 Tracing、Logging、拓扑等信息,主动调用 Flashduty Open API 来更新故障信息,比如增加标签或设定自定义字段,辅助排障。 3. **回滚变更**:当发生故障时,如果确定故障由变更导致,可以直接触发回调到您的部署平台,开启回滚进程,加速故障恢复。 4. **更新 Status Page**:当确定故障影响到线上服务,可以触发外部 Status Page 更新,及时的通知到您的客户或上下游。 diff --git "a/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.11 \346\225\205\351\232\234\351\235\231\351\273\230\344\270\216\346\212\221\345\210\266.md" "b/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.11 \346\225\205\351\232\234\351\235\231\351\273\230\344\270\216\346\212\221\345\210\266.md" index 0c7b8d45..4a5a54e8 100644 --- "a/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.11 \346\225\205\351\232\234\351\235\231\351\273\230\344\270\216\346\212\221\345\210\266.md" +++ "b/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.11 \346\225\205\351\232\234\351\235\231\351\273\230\344\270\216\346\212\221\345\210\266.md" @@ -1,11 +1,11 @@ --- title: "故障静默与抑制" -description: "FlashDuty提供了静默和抑制机制,来帮助企业优化告警流程,前者临时屏蔽特定条件下的告警通知,后者是在特定条件下自动阻止重复或预期的告警发出,共同减少干扰,提升告警系统效率与准确性" +description: "Flashduty提供了静默和抑制机制,来帮助企业优化告警流程,前者临时屏蔽特定条件下的告警通知,后者是在特定条件下自动阻止重复或预期的告警发出,共同减少干扰,提升告警系统效率与准确性" date: "2024-05-14T10:00:00+08:00" url: "https://docs.flashcat.cloud/zh/flashduty/channel-settings" --- -FlashDuty提供了静默和抑制机制,来帮助企业优化告警流程,前者临时屏蔽特定条件下的告警通知,后者是在特定条件下自动阻止重复或预期的告警发出,共同减少干扰,提升告警系统效率与准确性。 +Flashduty提供了静默和抑制机制,来帮助企业优化告警流程,前者临时屏蔽特定条件下的告警通知,后者是在特定条件下自动阻止重复或预期的告警发出,共同减少干扰,提升告警系统效率与准确性。 ## 静默规则 --- @@ -53,7 +53,7 @@ FlashDuty提供了静默和抑制机制,来帮助企业优化告警流程, ### 配置路径 -FlashDuty 的抑制配置提供了两种不同的配置途径,每种途径的设置方式各有特点: +Flashduty 的抑制配置提供了两种不同的配置途径,每种途径的设置方式各有特点: - **协作空间:** 支持在协作空间中配置抑制规则,且提供了抑制行为的配置,以实现更精细的事件管理。配置路径为:**协作空间详情 => 降噪配置 => 抑制规则**。 - **告警集成:** 在告警集成配置中,用户可以通过告警处理动作来设置抑制规则,确保特定来源的告警能够得到适当的处理。配置路径为:**告警集成详情 => 告警处理 => 告警抑制**。 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" deleted file mode 100644 index 53c4dc2f..00000000 --- "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" +++ /dev/null @@ -1,332 +0,0 @@ ---- -title: "通知机器人配置指南" -description: "FlashDuty 平台支持的通知渠道和机器人配置详细指南" -date: "2024-06-17T10:00:00+08:00" -url: "https://docs.flashcat.cloud/zh/flashduty/notification-bots" ---- - -# 通知机器人配置指南 - -FlashDuty 支持多种通知渠道,包括手机短信、邮件、语音通话以及各类即时通信平台。本文档将详细介绍各类通知渠道的配置方法和使用说明。 - -## 1. 通知渠道概览 - -### 1.1 传统通信渠道 - -**手机短信、语音、邮件** - -| 通知类型 | 阿里云支持 | 腾讯云支持 | 说明 | -|----------|------------|------------|------| -| 短信 | ✅ | ✅ | 支持告警和故障通知 | -| 语音 | ✅ | ✅ | 支持交互式认领功能 | -| 邮件 | ✅ | ❌ | 仅阿里云渠道支持 | - -> **注意事项:** -> - 使用语音/短信/邮件通知前,请确保成员信息中已绑定手机号和邮箱 -> - 需要在通知渠道中配置相应的服务提供商 -> - 语音通知支持交互式认领:播报完成后按 `1` 键即可认领故障 - -### 1.2 即时通信平台 - -**支持的 IM 平台和机器人类型** - -| 平台名称 | 应用集成 | 群机器人 | 特殊说明 | -|----------|----------|----------|----------| -| 飞书 (Lark) | ✅ | ✅ | 完整支持所有功能 | -| 钉钉 (DingTalk) | ✅ | ✅ | 完整支持所有功能 | -| 企业微信 (WeCom) | ✅ | ✅ | 完整支持所有功能 | -| Slack | ✅ (Beta) | ✅ | Beta 版本 | -| Microsoft Teams | ✅ | ❌ | 仅支持应用集成 | -| Telegram | ❌ | ✅ | 仅支持机器人 | -| Zoom | ❌ | ✅ | 仅支持机器人 | - -> **集成方式说明:** -> - 应用集成的详细步骤请参考:`控制台 → 集成中心 → 即时消息` -> - 本文档重点介绍群机器人的配置方法 - -## 2. 应用集成 vs 机器人集成 - -### 2.1 功能对比 - -| 对比维度 | 应用集成 | 机器人集成 | -|----------|----------|------------| -| **接入复杂度** | 需要管理员权限创建应用 | 群内直接创建,操作简单 | -| **交互体验** | 支持卡片内直接操作 | 需跳转浏览器处理 | -| **认证方式** | 支持免密操作 | 需要手动登录 | -| **功能完整性** | 支持认领、屏蔽、关闭等 | 基础通知功能 | -| **维护成本** | 一次配置,长期使用 | 相对简单 | - -### 2.2 选择建议 - -- **推荐使用应用集成**:如果您的组织对用户体验要求较高,且有相应的管理员权限 -- **适合使用机器人**:如果需要快速部署,或无法获取应用创建权限 - -## 3. 应用集成配置指南 - -### 3.1 飞书 (Lark) 应用集成 - -**配置步骤:** - -1. **安装应用** - - 在飞书工作台搜索 "FlashDuty" 应用 - - 点击安装并完成登录验证 - - 系统将自动完成账户关联 - -2. **配置通知渠道** - - 进入 FlashDuty 控制台的 `账户中心` - - 在通知渠道中添加飞书选项 - - 测试连接确保配置正确 - -3. **群聊配置** - - 在目标群聊中添加 FlashDuty 应用 - - 路径:`群设置 → 群机器人 → 添加机器人 → FlashDuty` - -飞书应用安装界面 - -### 3.2 企业微信 (WeCom) 应用集成 - -> **详细配置说明:** 请参考 [企业微信集成指引](https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide) - -### 3.3 钉钉 (DingTalk) 应用集成 - -**配置步骤:** - -1. **启用应用** - - 创建或进入钉钉群聊 - - 点击 `更多 → 酷应用 → 酷应用栏` - - 搜索并选择 "FlashDuty" 应用 - - 点击"启用"完成安装 - -钉钉应用启用界面 - -### 3.4 Microsoft Teams 应用集成 - -**配置步骤:** - -1. **获取应用包** - - 访问 `FlashDuty 集成中心 → 即时消息 → Microsoft Teams` - - 下载应用包:[flashduty.zip](https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/integration/microsoft-teams/FlashDutyBot.zip) - -2. **上传应用** - - 进入 Microsoft Teams - - 导航至 `Apps → Manage your apps → Upload an app → Upload an app to your org's app catalog` - - 上传下载的 flashduty.zip 文件 - -Microsoft Teams 应用上传界面 - -3. **设置应用权限** - - 进入 Microsoft Teams 管理中心 - - 找到 FlashDuty 应用 - - 将应用可见范围设置为"所有人"或自定义范围 - -Microsoft Teams 应用权限设置 - -4. **完成应用安装** - - 等待几分钟后,组织成员可在 `Apps → Built for your org` 中找到应用 - -Microsoft Teams 应用安装完成 - -5. **关联团队** - - 将 FlashDuty 应用添加到目标团队 - - 在团队聊天中 @FlashDuty 并发送关联指令:`linkTeam xxx` - -Microsoft Teams 团队关联 - -6. **关联用户** - - 在个人聊天中发送关联指令:`linkUser xxx` - -Microsoft Teams 用户关联 - -7. **配置通知策略** - - 在协作空间的分派策略中选择 Microsoft Teams 应用 - - 配置群聊或单聊通知偏好 - -### 3.5 Slack 应用集成 (Beta) - -**配置步骤:** - -1. **授权集成** - - 访问 `FlashDuty 集成中心 → 即时消息 → Slack → 添加` - - 页面跳转至 Slack 授权界面 - - 选择工作区并点击"允许" - -2. **完成配置** - - 输入数据源名称并保存 - - 在分派策略中选择 Slack 应用和目标群聊 - -3. **私有频道处理** - - 登录 Slack,在私有频道中选择 `集成 → 添加应用` - - 添加 FlashDuty 应用后刷新群聊列表 - -Slack 应用集成界面 - -## 4. 机器人集成配置指南 - -### 4.1 飞书群机器人 - -**配置步骤:** - -1. **创建自定义机器人** - - 进入飞书群聊 - - 打开 `群设置 → 群机器人 → 添加机器人` - - 选择"自定义机器人" - -2. **配置机器人参数** - - 设置机器人名称和描述 - - 配置自定义关键词:`#` - - 点击"添加"生成 webhook 地址 - -3. **集成到 FlashDuty** - - 复制生成的 webhook 地址 - - 在 FlashDuty 通知渠道中添加飞书机器人 - - 粘贴 webhook 地址并测试连接 - -飞书机器人创建界面 - -飞书机器人配置界面 - -### 4.2 企业微信群机器人 - -**配置步骤:** - -1. **创建群机器人** - - 进入企业微信群聊 - - 点击 `右上角设置 → 添加群机器人 → 新创建一个机器人` - -2. **配置并获取 Webhook** - - 设置机器人名称 - - 点击"添加机器人" - - 复制生成的 webhook 地址 - -3. **配置 FlashDuty** - - 在通知渠道中选择企微机器人 - - 粘贴 webhook 地址 - -企业微信机器人配置界面 - -### 4.3 钉钉群机器人 - -**配置步骤:** - -### Zoom -- 打开 Zoom 应用,进入 Add Apps,搜索并添加 Incoming Webhook 应用。 -- 返回聊天界面,确认已成功添加“Incoming Webhook”应用。 -- 在频道或 Incoming Webhook 应用中输入命令: -/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 机器人和 映射表。 - -3. **完成集成** - - 复制生成的 webhook 地址 - - 在 FlashDuty 中配置钉钉机器人 - -钉钉机器人配置界面 - -### 4.4 Telegram 机器人 - -**配置步骤:** - -1. **创建 Telegram 机器人** - - 打开 BotFather,发送 `/newbot` 命令 - - 输入机器人名称 - - 记录返回的 Token(格式:`64533289xx:AAFxCAdxx_xssbnSxE6Y8mTcOBT5rxxxxx`) - -2. **创建 Channel** - - 点击左上角设置 → New Channel - - 创建新的 Channel - - 将机器人添加为 Channel 成员 - -3. **获取 Chat ID** - - 在浏览器中访问:`https://api.telegram.org/bot{Token}/getUpdates` - - 替换 `{Token}` 为第一步获取的 Token - - 从返回结果中获取 Chat ID(以 `-` 开头) - -Telegram 机器人配置界面 - -### 4.5 Slack 机器人 - -**配置步骤:** - -1. **创建 Slack 应用** - - 访问 https://api.slack.com/apps?new_app=1 - - 选择应用名称和关联工作区 - - 点击 "Create App" - -2. **启用 Incoming Webhook** - - 在应用设置页面选择 "Incoming Webhook" - - 开启 "Activate Incoming Webhooks" 开关 - -3. **获取 Webhook URL** - - 点击 "Add New Webhook to Workspace" - - 选择目标频道并确认 - - 复制生成的 Webhook URL - -Slack 机器人配置界面 - -### 4.6 Zoom 机器人 - -**配置步骤:** - -1. 打开 Zoom 应用,进入 Add Apps,搜索并添加 Incoming Webhook 应用。 -2. 返回聊天界面,确认已成功添加“Incoming Webhook”应用。 -3. 在频道或 Incoming Webhook 应用中输入命令: -/inc connect flashduty 系统会返回应用连接信息。 -- 复制返回信息中的 Endpoint 地址(如:https://integrations.zoom.us/chat/webhooks/incomingwebhook/V9S5as-zTXOSUdgMITNEwA),将其填写到通知渠道的 Zoom 机器人 Webhook 地址或 Token 字段中。 -4. 复制返回信息中的 Verification Token,填写到通知渠道的 Zoom 机器人 Verify Token 字段中。 -5. 如需使用 @ 功能,需保证 Zoom 和 Flashduty 中的邮箱一致。管理员可在 Zoom 控制后台获取 zoom 的 user_id,并在 Flashduty 的集成中心-映射数据中创建映射表(源标签填写 email,结果标签填写 zoom_jid),最后在协作空间-分派策略中关联对应 Zoom 机器人和 映射表。 - -Zoom 机器人配置界面 - -## 5. 常见问题解答 - -
-Q: 使用应用卡片消息时,是否每次都需要登录? - -**A:** 不需要。成员账户与应用账户关联后可以实现免密登录。 - -**关联方法:** -1. 在对应平台搜索 FlashDuty 应用 -2. 点击应用并完成登录 -3. 系统将自动建立账户关联关系 -
- -
-Q: 在钉钉/飞书/企微工作台找不到 FlashDuty 应用怎么办? - -**A:** 请按照以下方式解决: - -1. **检查应用状态:** 确认 FlashDuty 应用已在您的组织中启用 -2. **权限检查:** 联系管理员确认您有权限查看和使用该应用 -3. **搜索方式:** 尝试使用不同的关键词搜索,如 "FlashDuty"、"Flashcat" 等 -4. **联系支持:** 如仍无法找到,请联系技术支持获取帮助 -
- -
-Q: 机器人消息发送失败,如何排查? - -**A:** 请按以下步骤排查: - -1. **验证 Webhook 地址:** 确认复制的 Webhook 地址完整且正确 -2. **检查关键词设置:** 对于需要关键词的平台,确保消息模板包含对应关键词 -3. **网络连接:** 确认 FlashDuty 服务器能够访问目标平台 -4. **权限检查:** 确认机器人在目标群组中有发送消息的权限 -5. **日志查看:** 在 FlashDuty 控制台查看详细的错误日志 -
- -
-Q: 如何自定义通知消息模板? - -**A:** 您可以在 FlashDuty 控制台的通知模板设置中: - -1. 进入 `配置管理 → 通知模板` -2. 选择对应的通知渠道类型 -3. 编辑消息模板,支持使用变量和 Markdown 格式 -4. 测试模板效果并保存 - -**注意:** 如果使用了自定义模板,请确保包含机器人平台要求的关键词 -
- ---- - -> **技术支持:** 如遇到配置问题或需要进一步帮助,请联系 FlashDuty 技术支持团队。 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\270\240\351\201\223\351\205\215\347\275\256\346\214\207\345\215\227.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\270\240\351\201\223\351\205\215\347\275\256\346\214\207\345\215\227.md" new file mode 100644 index 00000000..b1e078ce --- /dev/null +++ "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\270\240\351\201\223\351\205\215\347\275\256\346\214\207\345\215\227.md" @@ -0,0 +1,519 @@ +--- +title: "通知渠道配置指南" +description: "全面了解 Flashduty 支持的通知渠道,包括 App 推送、语音、短信、邮件及各类 IM 工具,并学习如何配置以确保关键故障信息必达。" +date: "2024-09-18T10:00:00+08:00" +url: "https://docs.flashcat.cloud/zh/flashduty/notifications" +--- + +# 通知渠道配置指南 + +Flashduty 的通知体系旨在确保在正确的时间、通过正确的渠道、将重要的故障信息通知给正确的人。本文档将详细介绍 Flashduty 支持的所有通知渠道,帮助您根据不同场景选择、配置和使用最合适的通知方式。 + +--- + +## 概览 + +### 支持的渠道矩阵 + +Flashduty 提供覆盖移动端 App、传统通信和主流即时消息 (IM) 工具的全方位通知矩阵。 + +| **渠道类型** | **通知形式** | **交互能力** | **推荐指数** | **说明** | +| :--- | :--- | :--- | :--- | :--- | +| [**Flashduty App**](#flashduty-app) | 单聊 | ✅ 原生 | ⭐⭐⭐⭐⭐ | **移动办公首选**。支持告警处理,功能完整,响应高效。 | +| [**语音通话**](#语音-短信-邮件) | 单聊 | ✅ 按键交互 | ⭐⭐⭐⭐ | **高可用保障**。用于重大故障升级,强制触达。 | +| [**手机短信**](#语音-短信-邮件) | 单聊 | ❌ 纯文本 | ⭐⭐ | **高可用保障**。作为语音的补充,覆盖无网络信号场景。 | +| [**邮件**](#语音-短信-邮件) | 单聊 | ❌ 纯文本 | ⭐⭐ | 兜底通知渠道,适合发送包含丰富信息的故障报告。 | +| [**IM 应用集成**](#应用集成-推荐) | 单聊 / 群聊 | ✅ 卡片交互 | ⭐⭐⭐⭐⭐ | **团队协作首选**。体验流畅,支持在群内直接处理故障。 | +| [**IM 机器人**](#机器人集成) | 单聊 / 群聊 | ❌ 链接跳转 | ⭐⭐ | **快速集成备选**。配置简单,无需管理员权限。 | + +--- + +## 核心通知渠道配置 + +### Flashduty App + +Flashduty App 是 on-call 工程师最高效的移动办公工具。无论您身在何处,都能像在电脑前一样全面掌控故障处理流程。 + +![2025-09-18-12-09-41](https://docs-cdn.flashcat.cloud/images/png/63bbac8f1f3de4dee54b8605e414c163.png) + +#### 核心功能 + +- **关键通知,必达用户** + - **iOS 关键告警**:基于 Apple 官方 `Critical Alerts` 协议,可穿透系统的静音和勿扰模式,确保最高优先级的告警 100% 送达。 + - **Android 系统级通道**:支持主流安卓厂商的系统级推送通道,确保 App 在后台甚至被关闭时也能及时收到通知。 +- **移动端高效处理** + - 您可以在手机上完成故障的检索、查看详情、认领、关闭、升级以及手动创建等所有核心操作。针对移动端交互的深度优化,使关键操作响应速度提升 40%。 +- **语音通知智能识别** + - App 可将 Flashduty 的语音通知号码自动同步到您的手机通讯录,创建白名单,有效避免被运营商或手机安全软件误拦截。 + +#### 如何开启和使用 + +1. **下载并安装** + - 前往 `App Store` 或安卓各大应用市场搜索 “Flashduty” 下载,或前往控制台个人中心扫描二维码下载。 +2. **登录并关联设备** + - 打开 App 并使用您的 Flashduty 账户登录,或扫描控制台登录。 + - 登录后,当前设备将自动与您的账户绑定。您可以在 **个人中心** → **Flashduty APP** 中查看已绑定的设备。 +3. **开启关键权限 (重要)** + - **iOS 用户**:请在 **手机系统设置** → **通知** → **Flashduty** 中,开启 **关键警报** 开关。 + - **所有用户**:建议在 App 的 **设置** → **语音通知** 中,开启 **同步联系人** 权限。 + +#### 常见问题 + +1. **为什么收不到 App 推送?** + - 请检查手机系统的通知权限是否已为 Flashduty App 开启。 + - 确认在您的 **分派策略** 中,已将 App 推送设置为通知渠道之一。如果设置了 `遵循个人偏好`,则需要检查个人通知设置中是否勾选了 Flashduty App。 +2. **App 通知没有同步联系人怎么办?** + - 请检查当前手机网络环境。 + - 确保您使用的是最新版本的 App。 + +### 语音、短信、邮件 + +#### 适用场景 + +- **故障升级**:在分派策略的最后环节,使用语音电话进行强制触达。 +- **IM 失效兜底**:当 IM 应用消息发送失败时,系统会自动通过短信或邮件进行补充提醒。 +- **离线覆盖**:覆盖网络环境不佳或未使用智能手机的团队成员。 + +#### 如何开启和使用 + +1. **绑定联系方式** + - 前往 **个人中心** → **基本信息**,绑定并验证您的手机号和邮箱。这是接收通知的前提。 +2. **在分派策略中使用** + - 在 **分派策略** 的规则中,添加语音、短信或邮件作为通知方式。 + +#### 语音支持地区和号显 +- 中国大陆:+86 (010)21364727、(021)32017538、(010)21364713、(010)21364708、(0571)23675454 和 (0571)23675496 +- 中国大陆以外: + | 地区/国家 (Region/Country) | 地区码 (Code) | 显示号码 (Display Number) | + | --- | --- | --- | + 安圭拉 (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) | 164 + 格陵兰 (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 + 美国/加拿大 (United States/Canada) | (+1) | 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 + 德国 (Germany) | (+49) | 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 + 英国 (United Kingdom) | (+44) | 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 + 中国香港 (Hong Kong) | (+852) | 16465861127 + 印度 (India) | (+91) | 16465861127 + 印度尼西亚 (Indonesia) | (+62) | 16465861127 + 伊拉克 (Iraq) | (+964) | 16465861127 + 以色列 (Israel) | (+972) | 16465861127 + 日本 (Japan) | (+81) | 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 + 中国台湾 (Taiwan) | (+886) | 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 +- 若有不存在的地区,请联系我们:[support@flashcat.cloud](mailto:support@flashcat.cloud) + +#### 常见问题 + +1. **为什么我无法收到语音通知?** + - **检查手机拦截设置**:检查手机的黑名单或骚扰拦截记录。Flashduty 使用固定号码推送语音,您可以下载 Flashduty App 来同步号码白名单。 + - **检查运营商服务**:部分用户可能开通了运营商级别的高频骚扰电话拦截服务。您可以关注相应运营商的公众号 (如 “中国移动高频骚扰电话防护”) 进行查询和设置。 + - **携号转网用户**:如果您的手机号办理过携号转网,请同时查询多家运营商的拦截情况。 +2. **为什么邮件会被归入垃圾箱?** + - 请在您的邮箱中检查 “垃圾邮件” 或 “Spam” 文件夹,如果发现 Flashduty 的邮件,请将其标记为 “不是垃圾邮件”。 + - 建议将 Flashduty 的发信域名或地址加入您邮箱的白名单。 + - 某些情况下,您可能需要联系公司邮箱管理员,在公司域内设置 Flashduty 邮件白名单 (`no-reply@notice.flashcat.cloud`)。 + +--- + +## 即时消息 (IM) 集成 + +通过将 Flashduty 与您团队日常使用的 IM 工具 (如飞书、钉钉) 集成,可以在熟悉的协作环境中接收和处理故障,极大提升 on-call 效率。 + +### 应用集成 (推荐) + +应用集成提供了最完整的交互体验,我们强烈推荐有条件的团队采用此方式。 + +#### 优势 + +- **交互式卡片**:直接在 IM 消息卡片上进行认领、关闭、升级等操作,无需跳转。 +- **免密操作**:成员账户与 IM 账户关联后,操作时无需重复登录 Flashduty。 +- **功能完整**:支持获取完整的故障详情、查看时间线、添加评论等。 +- **维护简单**:一次配置,长期有效。 + +#### 配置指南 + +为保证配置过程的清晰,我们为每个支持的 IM 平台提供了独立的集成文档。请点击下方链接,查阅您所需平台的详细配置步骤: + +> - [飞书 (Lark) 集成指引](https://docs.flashcat.cloud/zh/flashduty/lark-integration-guide) +> - [钉钉 (DingTalk) 集成指引](https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide) +> - [企业微信 (WeCom) 集成指引](https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide) +> - [Slack 集成指引](https://docs.flashcat.cloud/zh/flashduty/slack-integration-guide) +> - [Microsoft Teams 集成指引](https://docs.flashcat.cloud/zh/flashduty/microsoft-teams-integration-guide) + +#### 常见问题 + +1. **使用应用卡片消息时,是否每次都需要登录?** + - 不需要。成员账户与应用账户关联后可以实现免密登录。 + - **关联方法**: + 1. 在对应平台搜索 Flashduty 应用。 + 2. 点击应用并完成登录。 + 3. 系统将自动建立账户关联关系。 +2. **在钉钉、飞书或企微工作台找不到 Flashduty 应用怎么办?** + - 请按照以下方式解决: + 1. **检查应用状态**:确认 Flashduty 应用已在您的组织中启用。 + 2. **权限检查**:联系管理员,确认您有权限查看和使用该应用。 + 3. **搜索方式**:尝试使用不同的关键词搜索,如 `Flashduty`、`Flashcat` 等。 + 4. **联系支持**:如仍无法找到,请联系技术支持获取帮助。 + +### 机器人集成 + +如果您的团队暂时无法进行应用集成,使用机器人是一种配置简单、快速有效的替代方案。 + +**快速导航**: [飞书](#飞书群机器人) | [企业微信](#企业微信群机器人) | [钉钉](#钉钉群机器人) | [Telegram](#telegram-机器人) | [Slack](#slack-机器人) | [Zoom](#zoom-机器人) + +#### 适用场景 + +- 无法获取 IM 平台的管理员权限来安装应用。 +- 只需要基础的故障通知推送功能,无需复杂的在线交互。 +- 需要在一些临时项目群或跨部门群中快速建立通知。 +- 需要集成的 IM 平台未被 Flashduty 应用集成官方支持。 + +#### 飞书群机器人 + +**配置步骤:** + +1. **创建自定义机器人** + - 进入飞书群聊。 + - 打开 **群设置** → **群机器人** → **添加机器人**。 + - 选择 **自定义机器人**。 +2. **配置机器人参数** + - 设置机器人名称和描述。 + - 配置自定义关键词:`#` (请根据实际情况填写,`#` 是默认模板中的关键字)。 + - 点击 **添加** 生成 Webhook 地址。 +3. **集成到 Flashduty** + - 复制生成的 Webhook 地址。 + - 在 Flashduty 的 **协作空间** → **分派策略** 中添加飞书机器人,粘贴 Webhook 地址并测试连接。 +4. **(可选) 使用 @ 功能** + - 默认飞书机器人不具备 @ 功能。但您可以通过如下方式配置 Flashduty 到用户 ID 的映射关系,即可做到 @ 提醒。 + - 管理员在 **飞书管理后台** 获取用户 `user_id`。 + - 在 Flashduty **集成中心** 的映射数据中创建映射表,将 Flashduty 成员邮箱映射到飞书的 `user_id`。 + - 在 **分派策略** 中关联对应的飞书机器人和映射表。 + +#### 企业微信群机器人 + +**配置步骤:** + +1. **创建群机器人** + - 进入企业微信群聊。 + - 点击 **右上角设置** → **添加群机器人** → **新创建一个机器人**。 +2. **配置并获取 Webhook** + - 设置机器人名称。 + - 点击 **添加机器人**。 + - 复制生成的 Webhook 地址。 +3. **配置 Flashduty** + - 在 Flashduty 的 **协作空间** → **分派策略** 中选择 **企微机器人**,并粘贴 Webhook 地址。 +4. **(可选) 使用 @ 功能** + - 您可以通过如下方式配置 Flashduty 到用户 ID 的映射关系,即可做到 @ 提醒。 + - 管理员在 **企业微信后台** 获取用户 `user_id`。 + - 在 Flashduty **集成中心** 的映射数据中创建映射表,将 Flashduty 成员邮箱映射到企业微信的 `user_id`。 + - 在 **分派策略** 中关联对应的企业微信机器人和映射表。 + +#### 钉钉群机器人 + +**配置步骤:** + +1. **创建自定义机器人** + - 进入钉钉群聊。 + - 打开 **群设置** → **群管理** → **智能群助手**。 + - 点击 **添加机器人** → 选择 **自定义** 类型。 +2. **配置安全设置** + - 设置机器人名称。 + - 添加关键词:`#`。 + - 同意相关协议。 +3. **完成集成** + - 复制生成的 Webhook 地址。 + - 在 Flashduty 的 **协作空间** → **分派策略** 中配置钉钉机器人。 +4. **使用 @ 功能** + - 钉钉默认使用成员手机号进行 @ 提醒,您无需额外配置。 + +#### Telegram 机器人 + +**配置步骤:** + +1. **创建 Telegram 机器人** + - 在 Telegram 中搜索 `BotFather` 并开始对话,发送 `/newbot` 命令。 + - 输入机器人名称。 + - 记录返回的 Token (格式:`64533289xx:AAFxCAdxx_xssbnSxE6Y8mTcOBT5rxxxxx`)。 +2. **创建 Channel 并添加机器人** + - 点击 **左上角设置** → **New Channel**,创建一个新的 Channel。 + - 将刚刚创建的机器人添加为 Channel 的 **成员**。 +3. **获取 Chat ID** + - 在浏览器中访问:`https://api.telegram.org/bot{Token}/getUpdates`。 + - 将 `{Token}` 替换为第 1 步获取的 Token。 + - 从返回的 JSON 结果中找到 `chat` 对象,并复制其 `id` (通常以 `-` 开头)。 +4. **配置 Flashduty** + - 在 Flashduty 的 **协作空间** → **分派策略** 中配置 Telegram 机器人,填入 Token 和 Chat ID。 + +![2025-09-18-14-15-15](https://docs-cdn.flashcat.cloud/images/png/df9089eebb411a8b614debed17294ef7.png) + +#### Slack 机器人 + +**配置步骤:** + +1. **创建 Slack 应用** + - 访问 `https://api.slack.com/apps?new_app=1`。 + - 选择应用名称和关联的工作区,点击 **Create App**。 +2. **启用 Incoming Webhook** + - 在应用设置页面选择 **Incoming Webhook**。 + - 开启 **Activate Incoming Webhooks** 开关。 +3. **获取 Webhook URL** + - 点击 **Add New Webhook to Workspace**。 + - 选择要发送通知的目标频道并确认。 + - 复制生成的 Webhook URL。 +4. **配置 Flashduty** + - 在 Flashduty 的 **协作空间** → **分派策略** 中配置 Slack 机器人,并粘贴 Webhook URL。 + +![2025-09-18-14-17-54](https://docs-cdn.flashcat.cloud/images/png/7f3a594accbc254bfa5d5ac90a230618.png) + +#### Zoom 机器人 + +**配置步骤:** + +1. **创建机器人** + - 打开 Zoom 应用,进入 **Apps** → **Add Apps**,搜索并添加 `Incoming Webhook` 应用。 + - 返回聊天界面,确认 `Incoming Webhook` 应用已成功添加。 + - 在任意频道或 `Incoming Webhook` 应用中输入命令:`/inc connect flashduty`。系统将返回应用的连接信息。 +2. **配置 Flashduty** + - 复制返回信息中的 `Endpoint` 地址,将其填写到 Flashduty **协作空间** → **分派策略** 的 Zoom 机器人 `Webhook` 字段。 + - 复制返回信息中的 `Verification Token`,填写到 Flashduty **协作空间** → **分派策略** 的 Zoom 机器人 `Verify Token` 字段。 +3. **(可选) 使用 @ 功能** + - 管理员在 Zoom 控制台获取用户 `user_id`。 + - 在 Flashduty **集成中心** 的映射数据中创建映射表,将 Flashduty 成员邮箱映射到 Zoom `user_id`。 + - 在 **分派策略** 中关联对应的 Zoom 机器人和映射表。 + +![2025-09-18-14-18-52](https://docs-cdn.flashcat.cloud/images/png/1ac06eec50e61f405bd570fa671649df.png) + +#### 常见问题 + +1. **机器人消息发送失败如何排查?** + - **检查 Webhook 地址**:确认粘贴到 Flashduty 的地址完整且无误。 + - **检查安全设置**:如果您的 IM 平台 (如钉钉) 配置了关键词,请确保您的 **通知模板** 中包含了该关键词。或者使用 Flashduty 的服务器 IP 白名单进行授权。 + - **检查机器人权限**:确认机器人未被从群聊中移除。 + +--- + +## 通用配置与常见问题 + +### 如何自定义通知内容? + +Flashduty 允许您为不同渠道定制个性化的通知消息。 + +- **配置路径**:**控制台** → **模板** +- 在这里,您可以选择不同的通知类型 (如故障触发、认领、关闭等),并为各个渠道 (如短信、飞书机器人) 编辑消息格式。模板支持引用变量,以动态展示故障信息。 + +更多内容请查阅文档 [配置通知模板](https://docs.flashcat.cloud/zh/flashduty/template-settings)。 + +### 如何为不同级别的故障配置不同的通知策略? + +您可以基于告警的严重等级、来源、标签等任意维度,设计精细化的通知流程。这主要通过 **路由规则** 和 **分派策略** 实现。 + +- **路由规则**:**集成中心** → **具体集成** → **路由规则**。它决定了哪些告警应该被路由到哪个协作空间。 +- **分派策略**:**协作空间** → **分派策略**。它决定了故障应该通知给谁、通过什么渠道、以及在无人响应时如何升级。 + +例如,您可以配置一条规则:`P1` 级别的故障,首先通过 **Flashduty App** 和 **飞书应用** 通知主值班人员;如果 5 分钟内无人认领,则通过 **语音电话** 通知其主管。 + +> **技术支持:** 如遇到配置问题或需要进一步帮助,请联系 Flashduty 技术支持团队。 diff --git "a/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.14 \351\205\215\347\275\256\345\221\212\350\255\246 Pipeline.md" "b/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.14 \351\205\215\347\275\256\345\221\212\350\255\246 Pipeline.md" index 6a4bd568..60f845e9 100644 --- "a/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.14 \351\205\215\347\275\256\345\221\212\350\255\246 Pipeline.md" +++ "b/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.14 \351\205\215\347\275\256\345\221\212\350\255\246 Pipeline.md" @@ -1,6 +1,6 @@ --- title: "告警处理pipeline" -description: "告警处理pipeline是FlashDuty中告警处理的核心功能,通过配置告警处理pipeline,可以实现告警的自动化处理和优化告警流程" +description: "告警处理pipeline是Flashduty中告警处理的核心功能,通过配置告警处理pipeline,可以实现告警的自动化处理和优化告警流程" date: "2024-06-18T10:00:00+08:00" url: "https://docs.flashcat.cloud/zh/flashduty/alert-pipelines" --- @@ -17,7 +17,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/alert-pipelines" 配置路径:**集成中心** => **集成详情** => **告警处理** -- 在配置告警处理时,可以添加多个告警处理动作,FlashDuty 会按照配置的顺序依次执行告警处理动作。 +- 在配置告警处理时,可以添加多个告警处理动作,Flashduty 会按照配置的顺序依次执行告警处理动作。 - 在配置处理动作时,可以设置告警处理条件,当告警满足条件时,才会执行告警相应的处理动作。 - 每个处理动作的执行结果,都可以作为下一个处理动作的输入条件。 @@ -115,7 +115,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/alert-pipelines" ### 场景三:更新告警严重程度 -默认情况下夜莺的三级告警对应 FlashDuty 的 Info 级别,现可以通过更新告警严重程度处理动作,调整告警的严重级别,从而更灵活定义告警的重要性。 +默认情况下夜莺的三级告警对应 Flashduty 的 Info 级别,现可以通过更新告警严重程度处理动作,调整告警的严重级别,从而更灵活定义告警的重要性。 - **将主机是 demo-01 的告警严重级别改为 Critical** diff --git "a/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.2 \345\244\232\347\247\215\346\226\271\345\274\217\346\216\245\345\205\245\345\221\212\350\255\246.md" "b/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.2 \345\244\232\347\247\215\346\226\271\345\274\217\346\216\245\345\205\245\345\221\212\350\255\246.md" index 9194d5ea..ec8655cb 100644 --- "a/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.2 \345\244\232\347\247\215\346\226\271\345\274\217\346\216\245\345\205\245\345\221\212\350\255\246.md" +++ "b/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.2 \345\244\232\347\247\215\346\226\271\345\274\217\346\216\245\345\205\245\345\221\212\350\255\246.md" @@ -6,7 +6,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/how-to-integrate-alerts" --- -FlashDuty 作为统一告警处理平台,其本身不产生告警数据,需要将第三方监控平台的告警事件接入到 FlashDuty,以实现统一告警接收、降噪、分派、触达、解决、分析和自动化等,如夜莺/Flashcat、Zabbix、Promethues 等监控平台以及各大云厂商的告警,更多类型请参考 [告警集成](https://docs.flashcat.cloud/zh/flashduty/custom-alert-integration-guide)。 +Flashduty 作为统一告警处理平台,其本身不产生告警数据,需要将第三方监控平台的告警事件接入到 Flashduty,以实现统一告警接收、降噪、分派、触达、解决、分析和自动化等,如夜莺/Flashcat、Zabbix、Promethues 等监控平台以及各大云厂商的告警,更多类型请参考 [告警集成](https://docs.flashcat.cloud/zh/flashduty/custom-alert-integration-guide)。 ## 视频介绍 --- diff --git "a/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.5 \351\205\215\347\275\256\346\240\207\347\255\276\345\242\236\345\274\272.md" "b/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.5 \351\205\215\347\275\256\346\240\207\347\255\276\345\242\236\345\274\272.md" index 2377d881..8f71fed7 100644 --- "a/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.5 \351\205\215\347\275\256\346\240\207\347\255\276\345\242\236\345\274\272.md" +++ "b/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.5 \351\205\215\347\275\256\346\240\207\347\255\276\345\242\236\345\274\272.md" @@ -5,7 +5,7 @@ date: "2024-06-18T10:00:00+08:00" url: "https://docs.flashcat.cloud/zh/flashduty/label-enrichment-settings" --- -FlashDuty 故障详情中的故障标签以 key:value 的形式展示告警的各类源数据信息,这些标签信息来源于接入到 FlashDuty 的各类告警事件,**当系统以源数据自动生成的标签无法满足业务时,可以通过标签增强为告警丰富更多标签信息**,提升故障处理效率。 +Flashduty 故障详情中的故障标签以 key:value 的形式展示告警的各类源数据信息,这些标签信息来源于接入到 Flashduty 的各类告警事件,**当系统以源数据自动生成的标签无法满足业务时,可以通过标签增强为告警丰富更多标签信息**,提升故障处理效率。 ## 视频介绍 --- @@ -13,7 +13,7 @@ FlashDuty 故障详情中的故障标签以 key:value 的形式展示告警的 ## 标签的用途 --- -在 FlashDuty 中,标签是告警事件和故障处理的基本数据模型,标签的用途非常广泛,其核心用途包括但不限于: +在 Flashduty 中,标签是告警事件和故障处理的基本数据模型,标签的用途非常广泛,其核心用途包括但不限于: - **故障列表:** 故障列表现支持通过标签进行快速筛选,方便用户集中查看和管理具备相同标签的所有故障记录,提升故障处理的效率与针对性 - **配置路由:** 根据路由规则匹配协作空间时,可以使用标签作为条件,将相同标签的事件接入到某个或多个协作空间 @@ -34,7 +34,7 @@ FlashDuty 故障详情中的故障标签以 key:value 的形式展示告警的 - **映射:** 是将系统中的源键值通过映射关系生成新的键值对,需预先创建映射关系,具体配置参考下文中的配置示例。 - **删除:** 即删除指定名称的标签,如果删除的标签不存在则无效。 -![](https://download.flashcat.cloud/flashduty/doc/zh/fd/label-1.png) +![2025-09-22-13-51-18](https://docs-cdn.flashcat.cloud/images/png/c833e4ac159c9abaea755bad701d95ac.png) ### 配置说明 @@ -43,7 +43,7 @@ FlashDuty 故障详情中的故障标签以 key:value 的形式展示告警的 - **预览:** 配置完成规则后,支持预览,可以直观的观察规则配置效果。 -![](https://download.flashcat.cloud/flashduty/doc/zh/fd/label-2.png) +![2025-09-22-13-51-32](https://docs-cdn.flashcat.cloud/images/png/35d7caf8b95fca29c660d1cc6fec6a40.png) ::: tip @@ -57,30 +57,30 @@ FlashDuty 故障详情中的故障标签以 key:value 的形式展示告警的 **场景:** 告警事件来自邮件集成,需要从描述信息中提取关键信息作为标签应用到其他场景,比如将描述信息中的 IP 和触发值提取为独立的标签。 #### 1.1告警原文 -drawing +![2025-09-22-13-51-58](https://docs-cdn.flashcat.cloud/images/png/4a335b5d80a1b5a8ea9460668f2a25d7.png) #### 1.2 提取规则 -drawing +![2025-09-22-13-52-13](https://docs-cdn.flashcat.cloud/images/png/eaebc7f494e5b0e955fb381813bace74.png) #### 1.3 提取效果 -drawing +![2025-09-22-13-52-27](https://docs-cdn.flashcat.cloud/images/png/33b3f01f2cc7f8b323765b0ed3ee7578.png) ### 2. **标签组合** **场景:** 公司的日志平台可以通过域名+事件ID+时间戳的方式直接访问到日志详情,但告警信息中只有事件ID和时间戳标签,所以需要根据这些信息组合成一个访问地址。 #### 2.1 告警原文 -drawing +![2025-09-22-13-52-42](https://docs-cdn.flashcat.cloud/images/png/7b8eccb938993d2867bf3f7860b0788f.png) #### 2.2 组合规则 -drawing +![2025-09-22-13-52-56](https://docs-cdn.flashcat.cloud/images/png/ea29da12647637b5f46667d8205f65b2.png) #### 2.3 组合效果 -drawing +![2025-09-22-13-53-09](https://docs-cdn.flashcat.cloud/images/png/7f6cf27203660cbd11ae737ed58a52a4.png) ### 3. **标签映射** **场景:** 当源告警信息中的标签值不固定且不能直观定位其含义时可以通过映射的方式,将源标签映射新定义标签和值;比如源告警中只有资源类型ID信息,但希望将每个ID对应的资源类型名称也体现出来,这时可以通过映射实现。 @@ -103,21 +103,21 @@ FlashDuty 故障详情中的故障标签以 key:value 的形式展示告警的 4. 选择`源标签`,如 `ID`,选择`目标标签`,如 `Type`。 5. 点击`创建`,完成映射表创建。 -drawing +![2025-09-22-13-53-26](https://docs-cdn.flashcat.cloud/images/png/95bc8cdf3d3dcb60a52d11cdad4c386b.png) #### 3.3 配置映射关系 -drawing +![2025-09-22-13-53-43](https://docs-cdn.flashcat.cloud/images/png/d25e632242d1a37ce9f159cd3b3086d4.png) ##### 3.3.1 告警原文 上报的告警信息中只有资源ID,没有资源类型名称。 -drawing +![2025-09-22-13-53-55](https://docs-cdn.flashcat.cloud/images/png/c5e636c149f7125c0bde7e479414e130.png) ##### 3.3.2 映射效果 通过配置的映射关系,将资源ID映射出新的资源类型名称标签。 -drawing +![2025-09-22-13-54-09](https://docs-cdn.flashcat.cloud/images/png/8f93f6ae82e76e79196b5bf488663fe8.png) **附:映射表数据管理** @@ -128,7 +128,7 @@ FlashDuty 故障详情中的故障标签以 key:value 的形式展示告警的 4. 数据下载:下载当前映射表数据到本地。 5. 数据展示:展示当前映射表数据,可以编辑或删除。 -drawing +![2025-09-22-13-54-23](https://docs-cdn.flashcat.cloud/images/png/477563cfc4e3759e8584edd34fa5bf9a.png) ::: tip diff --git "a/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.6 \351\205\215\347\275\256\345\200\274\347\217\255\350\247\204\345\210\231.md" "b/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.6 \351\205\215\347\275\256\345\200\274\347\217\255\350\247\204\345\210\231.md" index 00e89b7a..0d205582 100644 --- "a/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.6 \351\205\215\347\275\256\345\200\274\347\217\255\350\247\204\345\210\231.md" +++ "b/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/4.6 \351\205\215\347\275\256\345\200\274\347\217\255\350\247\204\345\210\231.md" @@ -5,7 +5,7 @@ date: "2024-06-18T10:00:00+08:00" url: "https://docs.flashcat.cloud/zh/flashduty/schedule-settings" --- -值班规则是企业内部管理方式的核心之一,可帮助企业合理安排员工的工作时间,确保业务的连续性和高效性。FlashDuty 的值班表提供了丰富的值班规则,企业可根据自己的业务实际情况进行调整和定制。 +值班规则是企业内部管理方式的核心之一,可帮助企业合理安排员工的工作时间,确保业务的连续性和高效性。Flashduty 的值班表提供了丰富的值班规则,企业可根据自己的业务实际情况进行调整和定制。 ## 视频介绍 --- @@ -27,8 +27,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/schedule-settings" - 值班规则+调班规则形成最终的值班规则。 - 值班信息可以按照周、日历的视角进行查看最终值班效果。 -描述 - +![2025-09-22-13-43-17](https://docs-cdn.flashcat.cloud/images/png/3423a4f3133d5caa1f0aaebca970d404.png) ### 编辑规则 #### 1. 创建 @@ -60,7 +59,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/schedule-settings" - 规则/效果: -![zhibanxiaoguo-1.png](https://api.apifox.com/api/v1/projects/4169655/resources/434352/image-preview) +![2025-09-22-13-44-21](https://docs-cdn.flashcat.cloud/images/png/03606643119c4a83c8c87fdf082564a2.png) ### 组合排班 - 需求概述 @@ -71,8 +70,8 @@ url: "https://docs.flashcat.cloud/zh/flashduty/schedule-settings" - 规则展示: -描述 +![2025-09-22-13-44-46](https://docs-cdn.flashcat.cloud/images/png/4741f86ae727b389a89c4a893de9b4a8.png) - 效果展示: -描述 +![2025-09-22-13-45-04](https://docs-cdn.flashcat.cloud/images/png/b6919760c8d46a0d67358c04ca70f65c.png) \ No newline at end of file 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..fb9acc99 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" @@ -247,7 +247,35 @@ CloseTime | int64 | 否 | 关闭时间,EndTime 为告警恢复时间,CloseTi {{jsonGet .Labels.rule_note "#(userId==7777)#.instanceId" }} ``` -10. **如何使用逻辑与、或等条件进行内容显示判断?** + +10. **如何通过图片[Image](#Image)的 Src 属性获取对应的图片 URL** + - imageSrcToURL 可以实现,入参: $root 和 Src + - 若 Src 是 [图片上传](https://developer.flashcat.cloud/api-344943718)接口的 image_key, 则 转换成短时间内可访问的地址 + - 若 Src 是 http/https 可访问地址,则直接返回该地址 + - 钉钉/Slack App 使用本函数来展示图片 + ``` + {{ $root := . }} + {{ range $i, $v := .Images }} + {{ $imageURL := imageSrcToURL $root $v.Src }} + {{ if $imageURL }}![]({{$imageURL}}){{ end }}{{ end }} + ``` + +11. **如何将图片转换并上传到第三方通知平台** + - transferImage 可以实现,入参: $root 和 Src + - Src 可以是 [图片上传](https://developer.flashcat.cloud/api-344943718) 接口的 image_key 或者 http/https 可访问图片地址 + - 图片大小不能超过 10 MB + - 支持上传 JPG、JPEG、PNG、WEBP、GIF、BMP、ICO、TIFF、HEIC 格式的图片 + - 需要开启 应用 获取与上传图片或文件资源 权限 + - 飞书/Lark App 使用本函数来展示图片 + ``` + {{ $root := . }} + {{ range $i, $v := .Images }} + {{ $transferURL := transferImage $root $v.Src }} + {{ if $transferURL }}![]({{$transferURL}}){{ end }} + {{ end }} + ``` + +12. **如何使用逻辑与、或等条件进行内容显示判断?** ``` # 支持的函数 @@ -280,8 +308,7 @@ CloseTime | int64 | 否 | 关闭时间,EndTime 为告警恢复时间,CloseTi ``` - -11. **如何查阅更多的函数及其使用示例?** +13. **如何查阅更多的函数及其使用示例?** - 函数列表:https://github.com/flashcatcloud/sprig/blob/master/functions.go#L97 - 使用示例:查看对应的\_test.go 文件,比如 date 函数测试用例见 https://github.com/flashcatcloud/sprig/blob/master/date_test.go @@ -295,10 +322,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 +377,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 }} ``` 如下图所示: @@ -423,16 +459,24 @@ CloseTime | int64 | 否 | 关闭时间,EndTime 为告警恢复时间,CloseTi ## Slack 应用 --- + 您需要预先配置 `集成中心-即时消息- Slack` 集成,才能发送消息卡片。如果不设置自定义内容,将采用系统默认模板,仅渲染常见标签信息: ```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 }} + {{ $imageURL := imageSrcToURL $root $v.Src }} + {{ if $imageURL }} + --- + ![{{$v.Alt}}]({{$imageURL}}) + {{ end }} +{{ end }} ``` - 如下图所示: drawing @@ -442,6 +486,7 @@ CloseTime | int64 | 否 | 关闭时间,EndTime 为告警恢复时间,CloseTi - 我们列出了一些常见标签,您可自行删减; - 消息可以发送长度为15000左右字符,超出后截断发送; - 在 Slack 应用中,系统会自动帮您删除(因标签不存在导致的)渲染空行,您可放心配置 +- 要展示图片,请用 `---` 把图片和其他内容分割开来, 开头是 `![` 格式, 参考 常见问题 部分 ```go {{if (index .Labels "resource")}}*resource*:{{toHtml (joinAlertLabels . "resource" ", ")}}{{end}} diff --git "a/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/image.png" "b/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/image.png" new file mode 100644 index 00000000..2051c618 Binary files /dev/null and "b/flashduty/zh/1. On-call/3. \351\205\215\347\275\256\347\256\241\347\220\206/image.png" differ diff --git "a/flashduty/zh/1. On-call/4. \351\253\230\347\272\247\345\212\237\350\203\275/4. \344\275\234\346\210\230\345\256\244.md" "b/flashduty/zh/1. On-call/4. \351\253\230\347\272\247\345\212\237\350\203\275/4. \344\275\234\346\210\230\345\256\244.md" new file mode 100644 index 00000000..2c7605ea --- /dev/null +++ "b/flashduty/zh/1. On-call/4. \351\253\230\347\272\247\345\212\237\350\203\275/4. \344\275\234\346\210\230\345\256\244.md" @@ -0,0 +1,80 @@ +--- +title: "作战室" +description: "作战室 (War Room) 是专为故障应急响应设计的自动化协同功能,能够在主流的即时通讯平台为故障创建并管理专属沟通群组。" +url: "https://docs.flashcat.cloud/zh/flashduty/war-room" +--- +Flashduty “作战室”(War Room)是专为故障应急响应设计的自动化协同功能。它能够围绕故障的整个生命周期,在主流的即时通讯(IM)平台中创建并管理专属沟通群组,确保团队能够高效响应与协作。 + +## 关键特性 + +- **多 IM 平台原生支持** + - 无缝接入飞书、钉钉、企业微信、Slack。 +- **故障全生命周期管理** + - **一键创建**:为活跃故障快速创建专属作战室,并在群聊中实时同步故障状态。 + - **成员自动同步**:当故障处理人变更时,自动邀请新成员加入作战室。 + - **状态双向同步**:作战室与 Flashduty 平台的故障状态实时同步。 + - **操作审计**:所有作战室相关操作将自动记录在故障时间线中,便于复盘与审计。 + +## 快速上手 + +1. **配置集成** + - 前往 On-call → 集成中心 → 集成列表 → **即时消息**,按需接入您的 IM 应用,并根据指引开启作战室功能。 +2. **创建作战室** + - 在任一活跃故障的详情页,点击右上角的 **创建作战室**。 + + ![war-room-create-console](https://docs-cdn.flashcat.cloud/images/gif/war-room-create-console.gif) + + ![war-room-create-app](https://docs-cdn.flashcat.cloud/images/gif/war-room-create-app.gif) + +3. **协同处理** + - 故障处理人发生变更时,相关人员将自动同步至作战室。其他成员也可在故障详情页点击 **查看作战室**,快速加入沟通。 + - 在作战室内,成员可以对故障进行认领、关闭和暂缓操作,也可接收来自 Flashduty 的故障状态更新。 + + ![war-room-add-member-console](https://docs-cdn.flashcat.cloud/images/gif/war-room-add-member-console.gif) + + ![war-room-add-member-app](https://docs-cdn.flashcat.cloud/images/gif/war-room-add-member-app.gif) + +4. **解散作战室** + - 故障关闭后,在故障详情页的 **...** 菜单中,点击 **解散作战室**。 + + ![war-room-delete-console](https://docs-cdn.flashcat.cloud/images/gif/warroom-delete-console.gif) + + ![war-room-delete-app](https://docs-cdn.flashcat.cloud/images/gif/war-room-delete-app.gif) + +通过将应急流程与即时通讯工具深度整合,Flashduty 作战室为您带来了 **自动化**、**可视化**、**可追溯** 的故障协同体验。 + +## 常见问题 + +1. **Flashduty 如何实现针对故障的作战室管理?** + - Flashduty 通过在 IM 平台集成应用,调用群聊、消息和用户信息等相关 API 来实现作战室功能。 + - 在创建或接入相关应用时,需您手动授予必要权限,以确保操作的安全性。 +2. **Flashduty 作战室功能支持哪些 IM 平台?** + - 目前已支持以下 IM 平台: + - 飞书 + - 钉钉 + - 企业微信 + - Slack + - 由于各 IM 平台的开放程度不同,接入作战室功能的配置流程也存在差异。Flashduty 已在适配时,尽可能为您简化了配置步骤。 + - 同一时间,系统仅支持为一个 IM 集成开启作战室功能。 +3. **为什么我的作战室功能未按预期工作?** + - 作战室是 IM 集成中的一项高级功能,请确保您已根据官方文档完成了所有必要的配置步骤。您可以在集成配置页或 Flashduty Docs → **集成引导** 中找到相关指引。 + - 为确保 Flashduty 能够成功邀请成员,需要获取其在 IM 平台的用户 ID。请确保相关人员已完成以下至少一项操作: + - (推荐)在 Flashduty 个人中心 → [**基本信息**](https://console.flashcat.cloud/profile) 页面,填写 **通知邮箱** 和 **通知手机**。 + - 如果您使用的 IM 集成支持,可在 **关联用户** 页面使用 **一键关联** 功能。Flashduty 将根据用户在 Flashduty 个人中心 → [**基本信息**](https://console.flashcat.cloud/profile) 配置的 **通知邮箱** 和 **通知手机**,调用应用权限进行用户信息的关联。 + + ![2025-09-18-19-57-46](https://docs-cdn.flashcat.cloud/images/png/869cd0ab96ef916d1b3d1cc28d19745d.png) + + - 如果您使用的 IM 集成支持,可在 IM 应用内完成一次登录以自动绑定账号。 + - 若问题仍然存在,请联系 Flashduty 技术支持。 + +## *AI SRE* + +基于 **作战室** 功能与现有的 **智能聚合**、**AI Summary** 能力,Flashduty 将逐步推出 ***AI SRE*** 功能,为故障处理提供更全面、智能的支持。 + +### 作战室中的 AI 助手 + +- **智能问答**:用户可直接 `@flashduty` 提问,AI 将快速解析意图并返回相关信息或操作建议。 +- **实时分析**:AI 助手将基于故障状态、监控指标和历史数据,实时分析并给出详尽的影响评估。 +- **知识推送**:通过分析团队讨论,主动从知识库中提取摘要,推送相关的处理指南,以辅助根因定位。 +- **故障复盘**:自动汇总故障生命周期,提炼关键决策点与改进建议,生成结构化复盘文档。 +- **更多功能,敬请期待...** \ 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.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的告警事件。 :::
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.10 \351\230\277\351\207\214\344\272\221 SLS \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.10 \351\230\277\351\207\214\344\272\221 SLS \351\233\206\346\210\220\346\214\207\345\274\225.md" index 0f6e2af3..9d28b1ce 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.10 \351\230\277\351\207\214\344\272\221 SLS \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.10 \351\230\277\351\207\214\344\272\221 SLS \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -107,7 +107,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/aliyun-sls-integration-guide" drawing 4. 点击`确定`按钮,提交保存 -5. 针对所有其他规则,重复上述步骤,可以将全部告警推送到 FlashDuty +5. 针对所有其他规则,重复上述步骤,可以将全部告警推送到 Flashduty
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.11 AWS CloudWatch \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.11 AWS CloudWatch \351\233\206\346\210\220\346\214\207\345\274\225.md" index 1e444e5b..027a44d8 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.11 AWS CloudWatch \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.11 AWS CloudWatch \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -51,10 +51,10 @@ url: "https://docs.flashcat.cloud/zh/flashduty/aws-cloudwatch-integration-guide" 1. 登录您的 AWS 控制台,检索 `Simple Notification Service` 产品,并进入对应产品控制台 2. 进入 `Topics` 页面,单击 `Create topic` 按钮,开始创建主题 -3. `Type` 选择 `Standard`,填写名称为 `FlashDuty` +3. `Type` 选择 `Standard`,填写名称为 `Flashduty` 4. 点击 `Create Topic` 按钮,完成主题创建 5. 进入 `Subscriptions` 页面,单击 `Create subscription` 按钮,为主题创建订阅 -6. `Topic ARN` 选择 `FlashDuty`,`Protocal` 选择 `HTTPS`,`Endpoint` 填写集成的推送地址(当前页面填写集成名称,保存后即可生成地址) +6. `Topic ARN` 选择 `Flashduty`,`Protocal` 选择 `HTTPS`,`Endpoint` 填写集成的推送地址(当前页面填写集成名称,保存后即可生成地址) 7. 点击 `Create subscription` 按钮,完成订阅创建 drawing @@ -62,7 +62,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/aws-cloudwatch-integration-guide" 8. 回到 `Subscriptions` 页面,当订阅状态为 `Confirmed`,说明订阅地址校验成功,否则请联系 Flashduty 9. 检索 `CloudWatch` 产品,并进入对应产品控制台 10. 进入 `All alrams` 页面,选择创建或编辑已有的告警策略 -11. 对于 `Notification` 这一步,`In alarm`、`OK` 和 `Insufficient data` 三种状态推送目标 `SNS topic` 均选择 `FlashDuty`,如下图所示: +11. 对于 `Notification` 这一步,`In alarm`、`OK` 和 `Insufficient data` 三种状态推送目标 `SNS topic` 均选择 `Flashduty`,如下图所示: drawing 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.14 \345\215\216\344\270\272\344\272\221\347\233\221\346\216\247 CES \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.14 \345\215\216\344\270\272\344\272\221\347\233\221\346\216\247 CES \351\233\206\346\210\220\346\214\207\345\274\225.md" index 472649fa..cddb0a96 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.14 \345\215\216\344\270\272\344\272\221\347\233\221\346\216\247 CES \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.14 \345\215\216\344\270\272\344\272\221\347\233\221\346\216\247 CES \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -56,7 +56,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/huawei-ces-integration-guide" drawing 5. 进入 `告警-告警通知-通知组` 页面,单击 `创建通知组` 按钮 -6. 组名称填写 `FlashDuty`,通知对象勾选前边创建的 `flashduty` +6. 组名称填写 `Flashduty`,通知对象勾选前边创建的 `flashduty` 7. 点击 `确定` 按钮,完成通知组创建 drawing @@ -64,7 +64,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/huawei-ces-integration-guide" 注意,创建通知组时,华为云会发起请求到 Flashduty,验证推送地址,查看通知组的通知对象列表,仅当通知对象状态为 `已确认` 时,才会正常推送告警 8. 进入 `告警-告警规则` 页面,选择已有的告警规则进行编辑,或者创建新的告警规则,打开 `告警规则详情` 页面 -9. 其中 `通知组` 选择 `FlashDuty`,触发条件勾选 `出现告警` 和 `恢复正常`。点击 `确定` 按钮,保存修改 +9. 其中 `通知组` 选择 `Flashduty`,触发条件勾选 `出现告警` 和 `恢复正常`。点击 `确定` 按钮,保存修改 drawing 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.15 Influxdata \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.15 Influxdata \351\233\206\346\210\220\346\214\207\345\274\225.md" index 285726d1..b243e289 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.15 Influxdata \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.15 Influxdata \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -61,7 +61,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/influxdata-integration-guide" #### 步骤1:创建告警通道 1. 登录您的 `Influxdata` 控制台,进去 `Alerts > Notifycation Endpoints` 页面。 2. 点击 `Create` 创建告警通知通道。 -3. `Destination` 选择 `HTTP`,`Name` 输入 `FlashDuty`。 +3. `Destination` 选择 `HTTP`,`Name` 输入 `Flashduty`。 4. `HTTP Method` 选择 `POST`,`URL` 输入集成的推送地址。 drawing @@ -70,7 +70,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/influxdata-integration-guide" 1. 登录您的 `Influxdata` 控制台,进去 `Alerts > Notifycation Rules` 页面。 2. 点击 `Create` 创建告警通知规则。 3. `About` 和 `Conditions` 按需配置即可。 -4. `Message` 选择步骤1创建的 `FlashDuty`。 +4. `Message` 选择步骤1创建的 `Flashduty`。 drawing 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.17 Pagerduty \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.17 Pagerduty \351\233\206\346\210\220\346\214\207\345\274\225.md" index b00f37ff..3fbaebba 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.17 Pagerduty \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.17 Pagerduty \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -146,7 +146,7 @@ filter: query_string: query: "created_at:*" -# ------- FlashDuty ---------------- +# ------- Flashduty ---------------- alert: pagerduty pagerduty_service_key: xxx pagerduty_client_name: wahaha @@ -156,7 +156,7 @@ pagerduty_v2_payload_component: mysql pagerduty_v2_payload_group: app-stack pagerduty_v2_payload_severity: error pagerduty_v2_payload_source: mysql.host.name -# ------- FlashDuty ---------------- +# ------- Flashduty ---------------- ``` 4. 步骤 4:重启 ElastAlert,等待告警触发 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.18 \350\223\235\351\262\270\346\231\272\344\272\221\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.18 \350\223\235\351\262\270\346\231\272\344\272\221\351\233\206\346\210\220\346\214\207\345\274\225.md" index f2def191..28a85463 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.18 \350\223\235\351\262\270\346\231\272\344\272\221\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.18 \350\223\235\351\262\270\346\231\272\344\272\221\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -49,7 +49,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/tencent-bk-integration-guide" --- 以下内容已经在`蓝鲸V6/7版本`完成验证,V5 及以下版本官方已不再支持,建议您升级。 -蓝鲸告警策略可以触发`处理套餐`,处理套餐可与周边系统打通,来完成复杂功能。我们首先创建一个处理套餐,配置 FlashDuty 的回调地址,然后编辑告警策略,关联动作到该处理套餐,实现告警变更自动推送到 FlashDuty。具体步骤如下: +蓝鲸告警策略可以触发`处理套餐`,处理套餐可与周边系统打通,来完成复杂功能。我们首先创建一个处理套餐,配置 Flashduty 的回调地址,然后编辑告警策略,关联动作到该处理套餐,实现告警变更自动推送到 Flashduty。具体步骤如下: #### 步骤 1、创建处理套餐 @@ -57,7 +57,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/tencent-bk-integration-guide" 1. 登录您的蓝鲸智云桌面,进入`监控平台`; 2. 进入`配置-处理套餐`页面,单击`添加套餐`按钮,开始创建处理套餐; -3. 填写名称为`Send To FlashDuty`,套餐类型选择`HTTP回调`,推送方式选择`POST`,并填写集成的推送地址(保存集成后获得),如下图所示: +3. 填写名称为`Send To Flashduty`,套餐类型选择`HTTP回调`,推送方式选择`POST`,并填写集成的推送地址(保存集成后获得),如下图所示: drawing @@ -75,12 +75,12 @@ url: "https://docs.flashcat.cloud/zh/flashduty/tencent-bk-integration-guide"
1. 进入`配置-告警策略`页面,选择一个已有的策略进行编辑,或新建一个告警策略; -2. 下拉到`告警处理`部分,三种场景均选择`Send To FlashDuty`处理套餐,并关闭`防御规则`,如下图: +2. 下拉到`告警处理`部分,三种场景均选择`Send To Flashduty`处理套餐,并关闭`防御规则`,如下图: drawing 3. 提交保存,完成; -4. 对于其他想要推送到 FlashDuty 的告警,重复以上步骤。 +4. 对于其他想要推送到 Flashduty 的告警,重复以上步骤。
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.2 \345\244\234\350\216\272 Flashcat \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.2 \345\244\234\350\216\272 Flashcat \351\233\206\346\210\220\346\214\207\345\274\225.md" index 99f4b402..d1e38459 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.2 \345\244\234\350\216\272 Flashcat \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.2 \345\244\234\350\216\272 Flashcat \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -75,7 +75,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/nightingale-integration-guide" #### 步骤 1:添加通知媒介 1. 登录您的 n9e 控制台,选择 告警管理 > 通知媒介,并点击新增。 -2. 填写媒介名称和标识,选择 **FlashDuty** 类型,`URL` 填写 Flashduty 的 `推送地址`。 +2. 填写媒介名称和标识,选择 **Flashduty** 类型,`URL` 填写 Flashduty 的 `推送地址`。 3. 点击 **保存** 后,完成。 drawing @@ -84,7 +84,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/nightingale-integration-guide" 1. 登录您的 n9e 控制台,选择 告警管理 > 通知规则,并点击新增或编辑已有的告警规则。 2. 基础信息部分按需配置即可。 -3. 在通知配置中选择上一步添加的 `FlashDuty` 通知媒介。 +3. 在通知配置中选择上一步添加的 `Flashduty` 通知媒介。 4. 选择通过此规则生成的告警应发送到的协作空间(协作空间需提前在 [Flashduty](https://console.flashcat.cloud/channel) 中创建),其他按需选择。 5. 点击 **保存** 后,完成。 @@ -93,7 +93,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/nightingale-integration-guide" #### 步骤 3:告警规则中选择通知规则 1. 登录您的 n9e 控制台,选择 告警管理 > 告警规则,并点击新增或编辑已有的告警规则。 -2. 在通知配置中选择上一步添加的 `FlashDuty` 通知规则,其他按需选择。 +2. 在通知配置中选择上一步添加的 `Flashduty` 通知规则,其他按需选择。 3. 点击 **保存** 后,完成。 drawing 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.21 \350\205\276\350\256\257\344\272\221 Event Bridge \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.21 \350\205\276\350\256\257\344\272\221 Event Bridge \351\233\206\346\210\220\346\214\207\345\274\225.md" index 9e8428b0..3f6ada07 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.21 \350\205\276\350\256\257\344\272\221 Event Bridge \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.21 \350\205\276\350\256\257\344\272\221 Event Bridge \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -51,7 +51,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/tencent-event-bridge-integration-%20%201.%20%E7%99%BB%E5%BD%95%E6%82%A8%E7%9A%84%E8%85%BE%E8%AE%AF%E4%BA%91%E6%8E%A7%E5%88%B6%E5%8F%B0%EF%BC%8C%E9%80%89%E6%8B%A9%E4%BA%8B%E4%BB%B6%E6%80%BB%E7%BA%BF%E4%BA%A7%E5%93%81%202.%20%E8%BF%9B%E5%85%A5%20%E4%BA%8B%E4%BB%B6%E8%A7%84%E5%88%99%20%E9%A1%B5%E9%9D%A2%EF%BC%8C%E5%8D%95%E5%87%BB%20%E6%96%B0%E5%BB%BA%20%E6%8C%89%E9%92%AE%EF%BC%8C%E5%BC%80%E5%A7%8B%E7%BC%96%E8%BE%91%E8%A7%84%E5%88%99-3.%20%E5%A1%AB%E5%86%99%E5%90%8D%E7%A7%B0%E4%B8%BA%20FlashDuty%EF%BC%8C%E5%A6%82%E4%B8%8B%E5%9B%BE%E6%89%80%E7%A4%BA%EF%BC%9A+3.%20%E5%A1%AB%E5%86%99%E5%90%8D%E7%A7%B0%E4%B8%BA%20Flashduty%EF%BC%8C%E5%A6%82%E4%B8%8B%E5%9B%BE%E6%89%80%E7%A4%BA%EF%BC%9A%20%20%3Cimg%20alt="drawing" width="600" src="https://download.flashcat.cloud/tencent-eb-new-rule.png" /> 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.22 OceanBase\345\221\212\350\255\246\344\272\213\344\273\266\351\233\206\346\210\220.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.22 OceanBase\345\221\212\350\255\246\344\272\213\344\273\266\351\233\206\346\210\220.md" index 8a0c3b3e..0697f804 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.22 OceanBase\345\221\212\350\255\246\344\272\213\344\273\266\351\233\206\346\210\220.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.22 OceanBase\345\221\212\350\255\246\344\272\213\344\273\266\351\233\206\346\210\220.md" @@ -61,12 +61,12 @@ url: "https://docs.flashcat.cloud/zh/flashduty/oceanbase-integration-guide" drawing -5. 配置通道中复制以下脚本内容,同时**请将脚本中的 integration_key 参数补充上 FlashDuty 推送地址中的 integration_key 值**。 +5. 配置通道中复制以下脚本内容,同时**请将脚本中的 integration_key 参数补充上 Flashduty 推送地址中的 integration_key 值**。 ``` #!/usr/bin/env bash -function sendToFlashDuty() { +function sendToFlashduty() { URL="${address}/event/push/alert/standard?integration_key=${integration_key}" curl -s -X POST ${URL} -H 'Content-Type: application/json' -d '{ "event_status": "'${alert_level}'", @@ -136,7 +136,7 @@ fi #只有状态是告警中或恢复告警才发通知,屏蔽或抑制的不发通知 if [[ ${statusMd5} == ${active} || ${statusMd5} == ${Inactive} ]];then - sendToFlashDuty + sendToFlashduty fi ``` @@ -175,7 +175,7 @@ OCP告警通知-单条告警 drawing 3. 推送语言选择 **简体中文**。 -4. 告警通道选择 **FlashDuty** 。 +4. 告警通道选择 **Flashduty** 。 5. 开启 **恢复通知**。 6. 提交。 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.23 Graylog.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.23 Graylog.md" index 69542eb0..e217e280 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.23 Graylog.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.23 Graylog.md" @@ -61,7 +61,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/graylog-integration-guide" drawing -6. 输入 FlashDuty 获取到的 URL (第一次输入需要对 URL 加白)。 +6. 输入 Flashduty 获取到的 URL (第一次输入需要对 URL 加白)。 drawing @@ -73,11 +73,11 @@ url: "https://docs.flashcat.cloud/zh/flashduty/graylog-integration-guide" drawing -### 步骤2:在告警事件中使用 FlashDuty 告警通道 +### 步骤2:在告警事件中使用 Flashduty 告警通道 1. 创建或编辑已有的 Event Definition。 2. 此处省略其他告警配置(按业务需求配置告警条件)。 3. 在 Notifications 配置通道。 -4. Add Notifition 选择 FlashDuty 通道。 +4. Add Notifition 选择 Flashduty 通道。 5. 点击 Done。 6. 下一步完成即可。 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.24 Skywalking \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.24 Skywalking \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" index 9446fb21..897b44a4 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.24 Skywalking \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.24 Skywalking \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -67,7 +67,7 @@ rules: tags: level: Warning ``` -4. 添加 FlashDuty 的 webhook 地址。 +4. 添加 Flashduty 的 webhook 地址。 ``` # 在配置文件底部添加 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.25 Sentry \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.25 Sentry \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" index 8fa1410b..68294768 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.25 Sentry \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.25 Sentry \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -55,12 +55,12 @@ Sentry 提供了两类告警机制:Issue Alerts 和 Metric Alerts。Issue Aler ## 二、Sentry 告警推送配置 -### 步骤1:添加 FlashDuty Custom Integrations +### 步骤1:添加 Flashduty Custom Integrations 1. 登录 Sentry 管理控制台。 2. 在左侧导航栏,找到 **Settings => Custom Integrations**。 3. 点击 Create New Integration 并选择 **Internal Integration**。 -4. 在编辑页面。**Name 处填写 FlashDuty,WebhookURL 处复制写入集成的推送地址**。 +4. 在编辑页面。**Name 处填写 Flashduty,WebhookURL 处复制写入集成的推送地址**。 5. 开启 **Alert Rule Action**,参考如下图配置: drawing @@ -73,11 +73,11 @@ Sentry 提供了两类告警机制:Issue Alerts 和 Metric Alerts。Issue Aler drawing **关于 WEBHOOKS 配置的特殊说明:** -1. 勾选 **issue** 后 FlashDuty 可以接收 issue 的 resolved 事件,即在 issue 列表中对某个问题进行手动触发 resolved 时,我们会自动恢复 FlashDuty 中关联的故障。 +1. 勾选 **issue** 后 Flashduty 可以接收 issue 的 resolved 事件,即在 issue 列表中对某个问题进行手动触发 resolved 时,我们会自动恢复 Flashduty 中关联的故障。 2. 不支持 issue 的其他事件,如 create、assigned、archived 和 unresolved。 -3. 如果同时勾选了 error 和 comment ,FlashDuty 并不会接收和处理这类事件。 +3. 如果同时勾选了 error 和 comment ,Flashduty 并不会接收和处理这类事件。 -### 步骤2:在 Alerts 中使用 FlashDuty Integration +### 步骤2:在 Alerts 中使用 Flashduty Integration 1. 在左侧导航栏,找到 **Alerts => Create Alert**。 2. 选择要创建的 Alert 类型,如 Issue 。 @@ -89,7 +89,7 @@ Sentry 提供了两类告警机制:Issue Alerts 和 Metric Alerts。Issue Aler drawing -5. 通知渠道选择上面添加的 **FlashDuty**。 +5. 通知渠道选择上面添加的 **Flashduty**。 drawing 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.26 \347\233\221\346\216\247\345\256\235\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.26 \347\233\221\346\216\247\345\256\235\345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" index 4b0f4c4e..96d10819 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.26 \347\233\221\346\216\247\345\256\235\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.26 \347\233\221\346\216\247\345\256\235\345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -63,7 +63,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/jiankongbao-integration-guide" drawing -4. 自定义名称输入 FlashDuty,回调 URL 输入复制集成的推送地址。 +4. 自定义名称输入 Flashduty,回调 URL 输入复制集成的推送地址。 5. 回调方式选择 **POST**,数据格式选择 **JSON**。 6. 勾选**开启 URL 回调**,其他按需选择即可,参考下图配置。 @@ -72,10 +72,10 @@ url: "https://docs.flashcat.cloud/zh/flashduty/jiankongbao-integration-guide" 7. 点击保存。 -### 步骤2:在监控任务使用 FlashDuty 告警通道 +### 步骤2:在监控任务使用 Flashduty 告警通道 1. 创建或编辑已有的监控任务。 2. 此处省略其他告警配置。 -3. 在 Webhook 通知处,选择 FlashDuty 通道。 +3. 在 Webhook 通知处,选择 Flashduty 通道。 drawing 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.27 AWS EventBridge \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.27 AWS EventBridge \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" index ff00a988..7f285a3b 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.27 AWS EventBridge \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.27 AWS EventBridge \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -61,10 +61,10 @@ url: "https://docs.flashcat.cloud/zh/flashduty/aws-eventbridge-integration-guide%20%20%3Cimg%20alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/aws-eb-3.png" /> -4. 在 `Connection details` 部分中,`Connection name` 处填写 `FlashDuty`。 +4. 在 `Connection details` 部分中,`Connection name` 处填写 `Flashduty`。 5. 在 `Authorization` 部分中,`Destination type` 选择 `Other`。 6. `Authorization type` 选择 `API Key`。 -7. `API key name` 填写 `FlashDuty`,`Value` 填写集成推送地址的 `integration_key`。 +7. `API key name` 填写 `Flashduty`,`Value` 填写集成推送地址的 `integration_key`。 8. 点击 `Create` 保存即可。 drawing @@ -75,10 +75,10 @@ url: "https://docs.flashcat.cloud/zh/flashduty/aws-eventbridge-integration-guide%20%20%3Cimg%20alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/aws-eb-5.png" /> -2. 在 `API destination detail` 编辑界面填写相关信息,`Name` 填写 `FlashDuty` 。 +2. 在 `API destination detail` 编辑界面填写相关信息,`Name` 填写 `Flashduty` 。 3. `API destination endpoint` 填写集成的推送地址(当前页面填写集成名称,保存后即可生成地址)。 4. `HTTP method` 选择 `POST`。 -5. `Connection type` 选择 `Use an existing connection` 并在列表中选择步骤1添加的 `FlashDuty` Connection。 +5. `Connection type` 选择 `Use an existing connection` 并在列表中选择步骤1添加的 `Flashduty` Connection。 6. 点击 `Create` 保存即可。 drawing @@ -88,7 +88,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/aws-eventbridge-integration-guide%202.%20%E5%9C%A8%E5%B7%A6%E4%BE%A7%E5%AF%BC%E8%88%AA%E6%A0%8F%E9%80%89%E6%8B%A9%20%60Buses=%3ERules%60%EF%BC%8C%E5%88%9B%E5%BB%BA%E6%88%96%E7%BC%96%E8%BE%91%E5%B7%B2%E6%9C%89%E7%9A%84%E8%A7%84%E5%88%99%E3%80%82%203.%20%E6%AD%A4%E5%A4%84%E7%9C%81%E7%95%A5%E5%85%B6%E4%BB%96%E9%85%8D%E7%BD%AE%E3%80%82%204.%20%E5%9C%A8%20%60Target%20types%60%20%E5%A4%84%EF%BC%8C%E9%80%89%E6%8B%A9%20%60EventBridge%20API%20destination%60%20%E4%BD%9C%E4%B8%BA%E7%9B%AE%E6%A0%87%E7%B1%BB%E5%9E%8B%E3%80%82-5.%20%E5%9C%A8%20%60API%20destination%60%20%E4%B8%AD%E9%80%89%E6%8B%A9%20%60Use%20an%20existing%20API%20destination%60%EF%BC%8C%E5%B9%B6%E5%9C%A8%E4%B8%8B%E6%8B%89%E6%A1%86%E4%B8%AD%E9%80%89%E6%8B%A9%E6%AD%A5%E9%AA%A42%E5%88%9B%E5%BB%BA%E7%9A%84%20%60FlashDuty%60%20API%20destination%E3%80%82+5.%20%E5%9C%A8%20%60API%20destination%60%20%E4%B8%AD%E9%80%89%E6%8B%A9%20%60Use%20an%20existing%20API%20destination%60%EF%BC%8C%E5%B9%B6%E5%9C%A8%E4%B8%8B%E6%8B%89%E6%A1%86%E4%B8%AD%E9%80%89%E6%8B%A9%E6%AD%A5%E9%AA%A42%E5%88%9B%E5%BB%BA%E7%9A%84%20%60Flashduty%60%20API%20destination%E3%80%82%206.%20%60Next%60%20%E5%90%8E%E6%8C%89%E9%9C%80%E9%85%8D%E7%BD%AE%EF%BC%8C%E5%B9%B6%E4%BF%9D%E5%AD%98%E5%8D%B3%E5%8F%AF%E3%80%82%20%20%3Cimg%20alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/aws-eb-7.png" /> @@ -98,8 +98,8 @@ url: "https://docs.flashcat.cloud/zh/flashduty/aws-eventbridge-integration-guide%20%20%3Cdiv%20class="md-block"> -1. 由于 AWS EventBridge 的事件并没有严重等级,所以推送至 FlashDuty 的事件等级均为 Warning。 -2. AWS EventBridge 的事件只有触发,没有恢复,所以 FlashDuty 接收到的事件也不会自动关联恢复。 +1. 由于 AWS EventBridge 的事件并没有严重等级,所以推送至 Flashduty 的事件等级均为 Warning。 +2. AWS EventBridge 的事件只有触发,没有恢复,所以 Flashduty 接收到的事件也不会自动关联恢复。 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.28 Dynatrace \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.28 Dynatrace \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" index 1a0a9e66..4d09001b 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.28 Dynatrace \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.28 Dynatrace \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -70,7 +70,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/dynatrace-integration-guide" drawing 5. 在 `Notification type` 处,选择 `Custom Integraion`。 -6. `Display name` 填写 `FlashDuty`。 +6. `Display name` 填写 `Flashduty`。 7. `Webhook URL` 填写集成的推送地址(当前页面填写集成名称,保存后即可生成地址)。 8. `Call webhook if problem is closed` 保持开启状态。 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.29 \345\215\216\344\270\272\344\272\221 LTS \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.29 \345\215\216\344\270\272\344\272\221 LTS \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" index 3e0b6cab..c3112179 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.29 \345\215\216\344\270\272\344\272\221 LTS \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.29 \345\215\216\344\270\272\344\272\221 LTS \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -53,14 +53,14 @@ url: "https://docs.flashcat.cloud/zh/flashduty/huaweilts-integration-guide" ## 一、华为云日志服务 LTS 告警推送配置 -### 步骤1:创建 FlashDuty 告警通道 +### 步骤1:创建 Flashduty 告警通道 1. 登录您的华为云控制台,检索 `SMN` 消息通知服务产品,并进入对应产品控制台。 2. 在左侧导航栏选择 `主题管理=>主题`。 -3. 点击 `创建主题`,在编辑页面中的主题名称处输入 `FlashDuty` 并点击确认。 +3. 点击 `创建主题`,在编辑页面中的主题名称处输入 `Flashduty` 并点击确认。 drawing -4. 回到主题列表后,在刚创建的 FlashDuty 主题中点击 `添加订阅`。 +4. 回到主题列表后,在刚创建的 Flashduty 主题中点击 `添加订阅`。 drawing @@ -79,14 +79,14 @@ url: "https://docs.flashcat.cloud/zh/flashduty/huaweilts-integration-guide" drawing -3. 在模版编辑页面中,名称填写 **FlashDuty**,消息头语言选择 `英文`。 +3. 在模版编辑页面中,名称填写 **Flashduty**,消息头语言选择 `英文`。 4. 通知类型选择 `HTTP/HTTPS`,数据类型选择 `JSON`。 5. 点击 `确认` 保存。 drawing 6. 回到 `告警行动规则` 列表,点击 `创建`。 -7. 规则名称填写 **FlashDuty** ,主题和消息模版都选择已创建的 **FlashDuty** 主题和模版。 +7. 规则名称填写 **Flashduty** ,主题和消息模版都选择已创建的 **Flashduty** 主题和模版。 drawing @@ -96,7 +96,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/huaweilts-integration-guide" 2. 创建或编辑已有的告警规则。 3. 此处省略其他配置。 4. 在 `高级设置` 中,通知场景的 `告警触发` 和 `告警恢复` 都要勾选上。 -5. 打开行动规则,并选择 `步骤2` 创建的 **FlashDuty** 规则。 +5. 打开行动规则,并选择 `步骤2` 创建的 **Flashduty** 规则。 6. 语言选择 `英文`,完成配置后点击 `确认` 保存即可。 drawing 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.30 Google \344\272\221\347\233\221\346\216\247\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.30 Google \344\272\221\347\233\221\346\216\247\351\233\206\346\210\220\346\214\207\345\274\225.md" index 0c45078d..80637c74 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.30 Google \344\272\221\347\233\221\346\216\247\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.30 Google \344\272\221\347\233\221\346\216\247\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -61,18 +61,18 @@ url: "https://docs.flashcat.cloud/zh/flashduty/gcpcm-integration-guide" 3. 在 Notification channels 页面找到 `Webhooks` 并点击 `ADD NEW`。 4. 在 `Endpoint URL` 处输入集成的推送地址(当前页面填写集成名称,保存后即可生成地址。 -5. 在 `Display Name` 处输入 **FlashDuty** 。 +5. 在 `Display Name` 处输入 **Flashduty** 。 6. 点击 `TEST CONNECTION` 后,点击 `SAVE` 保存即可。 drawing -### 步骤2:在告警策略中使用 FlashDuty 告警通道 +### 步骤2:在告警策略中使用 Flashduty 告警通道 1. 回到 `Alerting` 页面。 2. 创建或编辑已有的策略。 3. 此处省略其他策略配置(按业务需求配置告警条件)。 4. 在 `Notifications and name` 页面中,将 `Use notification channel` 保持开启状态。 -5. 在 `Notification channels` 下拉框中选择 **步骤1** 创建的 **FlashDuty** 通道,并勾选 `Notify on incident closure`。 +5. 在 `Notification channels` 下拉框中选择 **步骤1** 创建的 **Flashduty** 通道,并勾选 `Notify on incident closure`。 6. 完成其他配置并保存策略即可。 drawing 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.32 AppDynamics \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.32 AppDynamics \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" index 1194a1f1..c14f8b20 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.32 AppDynamics \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.32 AppDynamics \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -60,7 +60,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/appdynamics-integration-guide" drawing -3. 在模版配置中,`Name` 填写 **FlashDuty** 。 +3. 在模版配置中,`Name` 填写 **Flashduty** 。 4. 在 `Request URL` 部分,`Method` 选择 **POST** ,`Raw URL` 填写集成的推送地址(当前页面填写集成名称,保存后即可生成地址)。 drawing @@ -138,7 +138,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/appdynamics-integration-guide" drawing -3. 在弹出的 `Create HTTP Action` 框中,输入 Name,`HTTP Request Template` 选择 `步骤1` 创建的 **FlashDuty** 并点击 `SAVE`。 +3. 在弹出的 `Create HTTP Action` 框中,输入 Name,`HTTP Request Template` 选择 `步骤1` 创建的 **Flashduty** 并点击 `SAVE`。 drawing 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.33 SolarWinds \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.33 SolarWinds \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" index 3c4a4cd0..f2367751 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.33 SolarWinds \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.33 SolarWinds \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -57,7 +57,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/solarwinds-integration-guide" **前提说明** 1. SolarWinds 的告警类型有五种(Anomaly、Entity、Event、Log、Metric Group),每种类型对应不同的告警通道,所以需要创建五个告警通道,以便在不同告警类型中使用。 -2. 在创建 Webhook 通道过程中,其中 Name 字段建议使用: 类型_FlashDuty 组合的形式,例如:Anomaly_FlashDuty。 +2. 在创建 Webhook 通道过程中,其中 Name 字段建议使用: 类型_Flashduty 组合的形式,例如:Anomaly_Flashduty。 3. 在选择 **Select Custom Body Template Based On The Alert Types** 时,系统会默认生成相应的 **HTTP POST Body**, **生成的模版内容请不要修改**。 **开始创建** @@ -67,7 +67,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/solarwinds-integration-guide" drawing 3. 点击 `CREATE CONFIGURATION` 进行创建相应的告警通道。 -4. 在 `Method` 处选择 **POST** ,`Name` 处可以根据前提说明中的建议进行命名,例如:Anomaly_FlashDuty。 +4. 在 `Method` 处选择 **POST** ,`Name` 处可以根据前提说明中的建议进行命名,例如:Anomaly_Flashduty。 5. `Destination URL` 填写集成的推送地址(当前页面填写集成名称,保存后即可生成地址)。 6. `Content Type` 选择 **application/json**。 7. `Select Custom Body Template Based On The Alert Types` 选择需要创建的类型,例如:Anomaly Based Alert。 @@ -83,7 +83,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/solarwinds-integration-guide" 1. 在左侧导航栏找到 `Alerts`,选择 `Alert Settings`。 2. 创建或编辑已有的策略(告警规则按需配置即可,此处省略告警规则的配置)。 3. 在配置策略页面的 `Actions` 部分中,`Services` 选择 **Webhook** 。 -4. `Configuration` 选择步骤1创建的 Anomaly_FlashDuty 通道。 +4. `Configuration` 选择步骤1创建的 Anomaly_Flashduty 通道。 5. `Send an additional notification when the Alert is cleared` 保持开启状态。 drawing 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.34 \347\201\253\345\261\261\345\274\225\346\223\216CM \346\214\207\346\240\207\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.34 \347\201\253\345\261\261\345\274\225\346\223\216CM \346\214\207\346\240\207\351\233\206\346\210\220\346\214\207\345\274\225.md" index 30978b0b..8555db0e 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.34 \347\201\253\345\261\261\345\274\225\346\223\216CM \346\214\207\346\240\207\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.34 \347\201\253\345\261\261\345\274\225\346\223\216CM \346\214\207\346\240\207\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -53,14 +53,14 @@ url: "https://docs.flashcat.cloud/zh/flashduty/volcengine-metric-integration-gui%20%20##%20%E4%B8%80%E3%80%81%E7%81%AB%E5%B1%B1%E5%BC%95%E6%93%8E%E4%BA%91%E7%9B%91%E6%8E%A7%E5%91%8A%E8%AD%A6%E6%8E%A8%E9%80%81%E9%85%8D%E7%BD%AE%20-###%20%E6%AD%A5%E9%AA%A41%EF%BC%9A%E5%88%9B%E5%BB%BA%20FlashDuty%20%E5%91%8A%E8%AD%A6%E9%80%9A%E9%81%93+###%20%E6%AD%A5%E9%AA%A41%EF%BC%9A%E5%88%9B%E5%BB%BA%20Flashduty%20%E5%91%8A%E8%AD%A6%E9%80%9A%E9%81%93%201.%20%E7%99%BB%E5%BD%95%E6%82%A8%E7%9A%84%E7%81%AB%E5%B1%B1%E5%BC%95%E6%93%8E%E6%8E%A7%E5%88%B6%E5%8F%B0%EF%BC%8C%E6%A3%80%E7%B4%A2%20%60%E4%BA%91%E7%9B%91%E6%8E%A7%60%20%E4%BA%A7%E5%93%81%EF%BC%8C%E5%B9%B6%E8%BF%9B%E5%85%A5%E5%AF%B9%E5%BA%94%E4%BA%A7%E5%93%81%E6%8E%A7%E5%88%B6%E5%8F%B0%E3%80%82%202.%20%E5%9C%A8%E5%B7%A6%E4%BE%A7%E5%AF%BC%E8%88%AA%E6%A0%8F%E9%80%89%E6%8B%A9%20%60%E9%80%9A%E7%9F%A5%E7%BB%84=%3E%E5%9B%9E%E8%B0%83%60%E3%80%82%203.%20%E7%82%B9%E5%87%BB%20%60%E5%88%9B%E5%BB%BA%E5%9B%9E%E8%B0%83%E5%9C%B0%E5%9D%80%60%E3%80%82%20%20%3Cimg%20alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-m-1.png" /> -4. 在编辑页面中填写相应的信息,回调地址名称填写 `FlashDuty_Metric`。 +4. 在编辑页面中填写相应的信息,回调地址名称填写 `Flashduty_Metric`。 5. 回调地址类型选择 `通用回调地址`。 6. 回调地址填写**集成的推送地址**(当前页面填写集成名称,保存后即可生成地址)。 7. 点击 `确认` 即可完成创建(不支持连通性测试,即使点击测试出现连通性失败,也不会影响告警的接收)。 @@ -73,7 +73,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/volcengine-metric-integration-gui%202.%20%E5%88%9B%E5%BB%BA%E6%88%96%E7%BC%96%E8%BE%91%E5%B7%B2%E6%9C%89%E7%9A%84%E5%91%8A%E8%AD%A6%E7%AD%96%E7%95%A5%EF%BC%88%E7%AD%96%E7%95%A5%E8%AF%B7%E6%8C%89%E9%9C%80%E9%85%8D%E7%BD%AE%EF%BC%8C%E6%AD%A4%E5%A4%84%E7%95%A5%E8%BF%87%EF%BC%89%E3%80%82%203.%20%E5%9C%A8%E7%AD%96%E7%95%A5%E7%BC%96%E8%BE%91%E9%A1%B5%E9%9D%A2%E4%B8%AD%EF%BC%8C%60%E5%8F%91%E9%80%81%E8%81%9A%E5%90%88%E7%AD%96%E7%95%A5%60%20%E9%80%89%E6%8B%A9%20%60%E8%A7%84%E5%88%99%E5%92%8C%E8%B5%84%E6%BA%90%60%E3%80%82%204.%20%60%E5%91%8A%E8%AD%A6%E6%81%A2%E5%A4%8D%E9%80%9A%E7%9F%A5%60%20%E4%BF%9D%E6%8C%81%E5%BC%80%E5%90%AF%E7%8A%B6%E6%80%81%E3%80%82-5.%20%E5%9C%A8%20%60%E5%91%8A%E8%AD%A6%E6%B8%A0%E9%81%93%60%20%E4%B8%AD%E5%8B%BE%E9%80%89%20%60%E5%91%8A%E8%AD%A6%E5%9B%9E%E8%B0%83%60%20%EF%BC%8C%E5%B9%B6%E5%9C%A8%E5%91%8A%E8%AD%A6%E5%9B%9E%E8%B0%83%E4%B8%8B%E6%8B%89%E6%A1%86%E4%B8%AD%E9%80%89%E6%8B%A9**%E6%AD%A5%E9%AA%A41**%E5%88%9B%E5%BB%BA%E7%9A%84%20%60FlashDuty_Metric%60%20%E9%80%9A%E9%81%93%E3%80%82+5.%20%E5%9C%A8%20%60%E5%91%8A%E8%AD%A6%E6%B8%A0%E9%81%93%60%20%E4%B8%AD%E5%8B%BE%E9%80%89%20%60%E5%91%8A%E8%AD%A6%E5%9B%9E%E8%B0%83%60%20%EF%BC%8C%E5%B9%B6%E5%9C%A8%E5%91%8A%E8%AD%A6%E5%9B%9E%E8%B0%83%E4%B8%8B%E6%8B%89%E6%A1%86%E4%B8%AD%E9%80%89%E6%8B%A9**%E6%AD%A5%E9%AA%A41**%E5%88%9B%E5%BB%BA%E7%9A%84%20%60Flashduty_Metric%60%20%E9%80%9A%E9%81%93%E3%80%82%206.%20%E5%85%B6%E4%BB%96%E9%85%8D%E7%BD%AE%E5%AE%8C%E6%88%90%E5%90%8E%EF%BC%8C%E7%82%B9%E5%87%BB%20%60%E7%A1%AE%E8%AE%A4%60%20%E5%8D%B3%E5%8F%AF%E5%AE%8C%E6%88%90%E3%80%82%20%20%3Cimg%20alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-m-6.png" /> 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.35 \347\201\253\345\261\261\345\274\225\346\223\216CM \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.35 \347\201\253\345\261\261\345\274\225\346\223\216CM \344\272\213\344\273\266\351\233\206\346\210\220\346\214\207\345\274\225.md" index 3c1fbcb7..f1d1af37 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.35 \347\201\253\345\261\261\345\274\225\346\223\216CM \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.35 \347\201\253\345\261\261\345\274\225\346\223\216CM \344\272\213\344\273\266\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -53,14 +53,14 @@ url: "https://docs.flashcat.cloud/zh/flashduty/volcengine-event-integration-guid%20%20##%20%E4%B8%80%E3%80%81%E7%81%AB%E5%B1%B1%E5%BC%95%E6%93%8E%E4%BA%91%E7%9B%91%E6%8E%A7%E4%BA%8B%E4%BB%B6%E4%B8%AD%E5%BF%83%E5%91%8A%E8%AD%A6%E6%8E%A8%E9%80%81%E9%85%8D%E7%BD%AE%20-###%20%E6%AD%A5%E9%AA%A41%EF%BC%9A%E5%88%9B%E5%BB%BA%20FlashDuty%20%E5%91%8A%E8%AD%A6%E9%80%9A%E9%81%93+###%20%E6%AD%A5%E9%AA%A41%EF%BC%9A%E5%88%9B%E5%BB%BA%20Flashduty%20%E5%91%8A%E8%AD%A6%E9%80%9A%E9%81%93%201.%20%E7%99%BB%E5%BD%95%E6%82%A8%E7%9A%84%E7%81%AB%E5%B1%B1%E5%BC%95%E6%93%8E%E6%8E%A7%E5%88%B6%E5%8F%B0%EF%BC%8C%E6%A3%80%E7%B4%A2%20%60%E4%BA%91%E7%9B%91%E6%8E%A7%60%20%E4%BA%A7%E5%93%81%EF%BC%8C%E5%B9%B6%E8%BF%9B%E5%85%A5%E5%AF%B9%E5%BA%94%E4%BA%A7%E5%93%81%E6%8E%A7%E5%88%B6%E5%8F%B0%E3%80%82%202.%20%E5%9C%A8%E5%B7%A6%E4%BE%A7%E5%AF%BC%E8%88%AA%E6%A0%8F%E9%80%89%E6%8B%A9%20%60%E9%80%9A%E7%9F%A5%E7%BB%84=%3E%E5%9B%9E%E8%B0%83%60%E3%80%82%203.%20%E7%82%B9%E5%87%BB%20%60%E5%88%9B%E5%BB%BA%E5%9B%9E%E8%B0%83%E5%9C%B0%E5%9D%80%60%E3%80%82%20%20%3Cimg%20alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-m-1.png" /> -4. 在编辑页面中填写相应的信息,回调地址名称填写 `FlashDuty_Event`。 +4. 在编辑页面中填写相应的信息,回调地址名称填写 `Flashduty_Event`。 5. 回调地址类型选择 `通用回调地址`。 6. 回调地址填写**集成的推送地址**(当前页面填写集成名称,保存后即可生成地址)。 7. 点击 `确认` 即可完成创建(不支持连通性测试,即使点击测试出现连通性失败,也不会影响告警的接收)。 @@ -71,7 +71,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/volcengine-event-integration-guid%20%201.%20%E5%9C%A8%E5%B7%A6%E4%BE%A7%E5%AF%BC%E8%88%AA%E6%A0%8F%E9%80%89%E6%8B%A9%20%60%E4%BA%8B%E4%BB%B6%E4%B8%AD%E5%BF%83=%3E%E4%BA%8B%E4%BB%B6%E8%A7%84%E5%88%99%60%E3%80%82%202.%20%E5%88%9B%E5%BB%BA%E6%88%96%E7%BC%96%E8%BE%91%E5%B7%B2%E6%9C%89%E7%9A%84%E4%BA%8B%E4%BB%B6%E8%A7%84%E5%88%99%EF%BC%88%E8%A7%84%E5%88%99%E8%AF%B7%E6%8C%89%E9%9C%80%E9%85%8D%E7%BD%AE%EF%BC%8C%E6%AD%A4%E5%A4%84%E7%95%A5%E8%BF%87%EF%BC%89%E3%80%82-3.%20%E5%9C%A8%E8%A7%84%E5%88%99%E7%BC%96%E8%BE%91%E9%A1%B5%E9%9D%A2%E4%B8%AD%EF%BC%8C%E6%8A%95%E9%80%92%E6%B8%A0%E9%81%93%E5%A4%84%E5%8B%BE%E9%80%89%20%60%E5%91%8A%E8%AD%A6%E5%9B%9E%E8%B0%83%60%EF%BC%8C%E5%B9%B6%E5%9C%A8%E5%91%8A%E8%AD%A6%E5%9B%9E%E8%B0%83%E4%B8%8B%E6%8B%89%E6%A1%86%E4%B8%AD%E9%80%89%E6%8B%A9**%E6%AD%A5%E9%AA%A41**%E5%88%9B%E5%BB%BA%E7%9A%84%20%60FlashDuty_Event%60%20%E9%80%9A%E9%81%93%E3%80%82+3.%20%E5%9C%A8%E8%A7%84%E5%88%99%E7%BC%96%E8%BE%91%E9%A1%B5%E9%9D%A2%E4%B8%AD%EF%BC%8C%E6%8A%95%E9%80%92%E6%B8%A0%E9%81%93%E5%A4%84%E5%8B%BE%E9%80%89%20%60%E5%91%8A%E8%AD%A6%E5%9B%9E%E8%B0%83%60%EF%BC%8C%E5%B9%B6%E5%9C%A8%E5%91%8A%E8%AD%A6%E5%9B%9E%E8%B0%83%E4%B8%8B%E6%8B%89%E6%A1%86%E4%B8%AD%E9%80%89%E6%8B%A9**%E6%AD%A5%E9%AA%A41**%E5%88%9B%E5%BB%BA%E7%9A%84%20%60Flashduty_Event%60%20%E9%80%9A%E9%81%93%E3%80%82%204.%20%E5%85%B6%E4%BB%96%E9%85%8D%E7%BD%AE%E5%AE%8C%E6%88%90%E5%90%8E%EF%BC%8C%E7%82%B9%E5%87%BB%20%60%E7%A1%AE%E8%AE%A4%60%20%E5%8D%B3%E5%8F%AF%E5%AE%8C%E6%88%90%E3%80%82%20%20%3Cimg%20alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-m-3.png" /> 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.36 \347\201\253\345\261\261\345\274\225\346\223\216 TLS \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.36 \347\201\253\345\261\261\345\274\225\346\223\216 TLS \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" index 74199c23..738dd9ec 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.36 \347\201\253\345\261\261\345\274\225\346\223\216 TLS \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.36 \347\201\253\345\261\261\345\274\225\346\223\216 TLS \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -53,14 +53,14 @@ url: "https://docs.flashcat.cloud/zh/flashduty/volcengine-tls-integration-guide" ## 一、火山引擎日志服务 TLS 告警推送配置 -### 步骤1:创建 FlashDuty 告警通道 +### 步骤1:创建 Flashduty 告警通道 1. 登录您的火山引擎控制台,检索 `TLS`日志服务产品,并进入对应产品控制台。 2. 在左侧导航栏选择 `日志告警=>通知管理`。 3. 选择 `webhook 告警集成`,并点击 `创建 webhook 告警集成`。 drawing -4. 在弹出的编辑框中填写相应的信息,名称填写 `FlashDuty`。 +4. 在弹出的编辑框中填写相应的信息,名称填写 `Flashduty`。 5. 类型选择 `自定义 Webhook`,请求方法选择 `POST`。 6. 请求地址填写**集成的推送地址**(当前页面填写集成名称,保存后即可生成地址)。 7. 请求头保持默认的即可,配置完成点击 `创建`。 @@ -71,7 +71,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/volcengine-tls-integration-guide" 1. 回到 `通知管理` 页面。 2. 选择 `内容模版`,并点击 `创建内容模版`。 -3. 在创建模版页面中填写相关信息,模版名称填写 `FlashDuty`。 +3. 在创建模版页面中填写相关信息,模版名称填写 `Flashduty`。 4. 其他类型的通道内容可为空,在 `自定义Webhook` 的通知内容处,填写以下模版内容。 ``` @@ -104,7 +104,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/volcengine-tls-integration-guide" 1. 回到 `通知管理` 页面。 2. 选择 `通知组`,并点击 `创建通知组`。 -3. 在编辑通知组页面中填写相关信息,通知组名称填写 `FlashDuty`。 +3. 在编辑通知组页面中填写相关信息,通知组名称填写 `Flashduty`。 4. 通知规则和其他配置可按需配置(此处略过)。 5. 在通知渠道配置中,接收渠道的 `自定义webhook` 保持勾选状态。 6. `Webhook` 选择**步骤1**创建的 **FlahDuty** 通道。 @@ -119,7 +119,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/volcengine-tls-integration-guide" 2. 创建或编辑已有的告警策略。 3. 告警规则可按需配置(此处略过)。 4. 在 `通知组` 处,点击 `关联通知组`。 -5. 在弹出的选择框中,选择**步骤3**创建的 **FlashDuty** 通知组,选择好后,点击 `关联`。 +5. 在弹出的选择框中,选择**步骤3**创建的 **Flashduty** 通知组,选择好后,点击 `关联`。 6. 配置好其他内容后,点击 `创建/保存` 即可完成。 drawing 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.37 OpManager \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.37 OpManager \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" index 3e4bdb57..a7b3789b 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.37 OpManager \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.37 OpManager \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -117,7 +117,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/opmanager-integration-guide" 10. 选择希望应用此配置文件的设备,使用右箭头将它们移动到选定设备窗口,然后点击下一步。 11. Time Window/Delayed Trigger/Recurring Trigger 可按需配置,然后点击下一步。 -12. 为该配置文件添加名称 `FlashDuty`,然后点击 `Save` 保存即可完成配置。 +12. 为该配置文件添加名称 `Flashduty`,然后点击 `Save` 保存即可完成配置。 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.38 Meraki \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.38 Meraki \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" index d1a83159..e7603fab 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.38 Meraki \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.38 Meraki \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -55,7 +55,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/meraki-integration-guide" 1. 登录您的 `Meraki` 控制台,选择需要配置告警的设备。 2. 在 `Alerts` 页面中,按需配置 `Cellular gateway` 和其他部分。 3. 在 `Webhooks` 处,配置 `HTTPS receivers`。 -4. `Name` 填写 `FlashDuty`,`URL` 填写**告警集成的推送地址**。 +4. `Name` 填写 `Flashduty`,`URL` 填写**告警集成的推送地址**。 5. `Shared secret` 留空,`Payload template` 保持默认的 `Meraki(included)` 即可。 6. 点击 `Save` 保存。 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.40 \350\247\202\346\265\213\344\272\221\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.40 \350\247\202\346\265\213\344\272\221\345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" index b45ec176..8fffe78b 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.40 \350\247\202\346\265\213\344\272\221\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.40 \350\247\202\346\265\213\344\272\221\345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -64,7 +64,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/guance-integration-guide" 1. 登录您的 `观测云` 控制台,在 `监控` 中,选择 `告警策略管理` 。 2. 在 `告警策略` 页面, 新建或修改告警策略。 -3. 在告警策略编辑页面的通知配置部分,选择 `等级`,`通知对象` 选择步骤1中创建的 `FlashDuty`。 +3. 在告警策略编辑页面的通知配置部分,选择 `等级`,`通知对象` 选择步骤1中创建的 `Flashduty`。 4. 其他按需配置,点击 `保存` 完成创建。 drawing 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.42 \345\215\216\344\270\272\344\272\221 APM \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.42 \345\215\216\344\270\272\344\272\221 APM \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" index cccd97a2..541e009f 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.42 \345\215\216\344\270\272\344\272\221 APM \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.42 \345\215\216\344\270\272\344\272\221 APM \345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -53,14 +53,14 @@ url: "https://docs.flashcat.cloud/zh/flashduty/huawei-apm-integration-guide" ## 一、华为云 APM 告警推送配置 -### 创建 FlashDuty 告警通道 +### 创建 Flashduty 告警通道 1. 登录您的华为云控制台,检索 `SMN` 消息通知服务产品,并进入对应产品控制台。 2. 在左侧导航栏选择 `主题管理=>主题`。 -3. 点击 `创建主题`,在编辑页面中的主题名称处输入 `FlashDuty` 并点击确认。 +3. 点击 `创建主题`,在编辑页面中的主题名称处输入 `Flashduty` 并点击确认。 drawing -4. 回到主题列表后,在刚创建的 FlashDuty 主题中点击 `添加订阅`。 +4. 回到主题列表后,在刚创建的 Flashduty 主题中点击 `添加订阅`。 drawing @@ -76,7 +76,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/huawei-apm-integration-guide" #### 步骤1:添加通知配置 1. 登录您的 `华为云 APM` 控制台,在 `应用监控=>指标` 中,点击 `通知配置`。 -2. 选择对应的区域后,点击 `新增`,在主题处选择已创建的 `FlashDuty` 主题。 +2. 选择对应的区域后,点击 `新增`,在主题处选择已创建的 `Flashduty` 主题。 3. 点击 `确认` 完成配置。 drawing @@ -86,7 +86,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/huawei-apm-integration-guide" 2. 选择 `告警策略`,点击 `新增自定义告警策略` 或编辑已有的告警策略。 3. 在 `告警策略` 编辑页面中,告警指标、告警条件等请按业务需要进行配置。 4. `告警内容` 中在引用变量时,建议以K:V的格式进行配置,便于后续告警事件的解析,比如 host:${hostInfo}。 -5. `通知对象` 中选择已创建的 `FlashDuty` 通知渠道。 +5. `通知对象` 中选择已创建的 `Flashduty` 通知渠道。 6. 点击 `确认` 完成配置。 drawing 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.45 ElastAlert2 \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.45 ElastAlert2 \351\233\206\346\210\220\346\214\207\345\274\225.md" index 85494f28..8bc3f875 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.45 ElastAlert2 \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.45 ElastAlert2 \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -49,7 +49,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/elastalert2-alert-integration-gui%20---%20%20###%20%E9%85%8D%E7%BD%AE%20ElastAlert%202%20%E5%91%8A%E8%AD%A6-%E9%81%B5%E5%BE%AA%20[ElastAlert%20FlashDuty](https://elastalert2.readthedocs.io/en/latest/alerts.html#flashduty)%20%E6%8E%A8%E9%80%81%E9%85%8D%E7%BD%AE%E6%96%87%E6%A1%A3+%E9%81%B5%E5%BE%AA%20[ElastAlert%20Flashduty](https://elastalert2.readthedocs.io/en/latest/alerts.html#flashduty)%20%E6%8E%A8%E9%80%81%E9%85%8D%E7%BD%AE%E6%96%87%E6%A1%A3%20%201.%20%E5%88%9B%E5%BB%BA%E6%88%96%E7%BC%96%E8%BE%91%E5%91%8A%E8%AD%A6%E8%A7%84%E5%88%99%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BE%8B%E5%A6%82%20%60rules/elastalert2_alert.yaml%60%E3%80%82%202.%20%E5%9C%A8%20%60alert%60%20%E5%AD%97%E6%AE%B5%E4%B8%AD%E5%A1%AB%E5%86%99%20%60flashduty%60%20%E5%91%8A%E8%AD%A6%E7%B1%BB%E5%9E%8B%E3%80%82@@%20-101,7%20+101,7%20@@%20filter:%20%20%20%20%20%20%20query_string:%20%20%20%20%20%20%20%20%20query:"created_at:*" -# ------- FlashDuty ---------------- +# ------- Flashduty ---------------- alert: flashduty flashduty_integration_key: "xxxx" flashduty_title: "elastalert2 告警" @@ -116,7 +116,7 @@ flashduty_group: "group1" flashduty_cluster: "bj" flashduty_app: "app1 " flashduty_env: "dev" -# ------- FlashDuty ---------------- +# ------- Flashduty ---------------- ``` 5.重启 ElastAlert,等待告警触发。 \ 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.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.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..4b71f392 --- /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/monit-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.5 Zabbix \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.5 Zabbix \351\233\206\346\210\220\346\214\207\345\274\225.md" index 28095e5f..8c531f2e 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.5 Zabbix \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.5 Zabbix \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -89,7 +89,7 @@ media type 必须关联至某个 user 才能发送事件。user 至少拥有对 1. 登录 Zabbix 控制台,选择 `Users > Users`,选择 Admin 用户,选择 media,选择 Add,进入编辑窗口: - Type: 选择以上创建的快猫星云 media type -- Send To:填写 FlashDuty +- Send To:填写 Flashduty - 其他配置使用默认配置,保持不变 drawing @@ -107,7 +107,7 @@ media type 必须关联至某个 user 才能发送事件。user 至少拥有对 1. 点击 `Create action`,进入 action 编辑页面 -- Name:填写为“Send To FlashDuty” +- Name:填写为“Send To Flashduty” 2. 选择 `Operations`,分别添加三种场景的通知发送配置: @@ -199,7 +199,7 @@ media type 必须关联至某个 user 才能发送事件。user 至少拥有对 1. 点击 `Create action`,进入 action 编辑页面 -- Name:填写为“Send To FlashDuty” +- Name:填写为“Send To Flashduty” 2. 选择 `Operations`,分别添加三种场景的通知发送配置: @@ -245,7 +245,7 @@ media type 必须关联至某个 user 才能发送事件。user 至少拥有对 - `{ALERT.SUBJECT}`:告警标题,保持在第一个参数 - `{ALERT.MESSAGE}`:告警信息,保持在第二个参数 - - `FlashDuty webhook 推送请求地址`,复制集成的推送地址即可,保持在第三个参数 + - `Flashduty webhook 推送请求地址`,复制集成的推送地址即可,保持在第三个参数 - `Zabbix 控制台地址`,直接复制即可(如果您的页面配置了 tomcat/nginx 转发路径,请同时携带),用于生成告警详情页面连接。如果没有空着即可,保持在第四个参数 - `HTTPProxy`:如果您的 Zabbix Server 不能直接访问快猫星云服务,可以将该参数设置为一个代理地址。如果没有空着即可,保持在第五个参数 @@ -299,7 +299,7 @@ media type 必须关联至某个 user 才能发送事件。user 至少拥有对 1. 点击`Create action`,进入 action 编辑页面 - - Name:填写为“Send To FlashDuty” + - Name:填写为“Send To Flashduty” 2. 选择 `Operations`,分别更新三种场景的通知用户配置: @@ -314,11 +314,11 @@ media type 必须关联至某个 user 才能发送事件。user 至少拥有对 3. 选择 `Operations`,分别更新三种场景的通知内容配置: - - **在 Default Message 配置项,完整复制以下内容,粘贴在默认内容之后**,FlashDuty 收到事件后将解析对应文字,找到告警属性信息: + - **在 Default Message 配置项,完整复制以下内容,粘贴在默认内容之后**,Flashduty 收到事件后将解析对应文字,找到告警属性信息: ``` ------FlashDuty Required Starts-----event_severity={TRIGGER.SEVERITY}||event_name={TRIGGER.NAME}||event_id={EVENT.ID}||event_tags={EVENT.TAGS}||event_ack={EVENT.ACK.STATUS}||event_value={EVENT.VALUE}||trigger_id={TRIGGER.ID}||trigger_desc={TRIGGER.DESCRIPTION}||trigger_expr={TRIGGER.EXPRESSION}||host_group={TRIGGER.HOSTGROUP.NAME}||host_ip={HOST.IP}||host_name={HOST.NAME}||item_name={ITEM.NAME}||item_value={ITEM.VALUE}-----FlashDuty Required Ends----- +-----Flashduty Required Starts-----event_severity={TRIGGER.SEVERITY}||event_name={TRIGGER.NAME}||event_id={EVENT.ID}||event_tags={EVENT.TAGS}||event_ack={EVENT.ACK.STATUS}||event_value={EVENT.VALUE}||trigger_id={TRIGGER.ID}||trigger_desc={TRIGGER.DESCRIPTION}||trigger_expr={TRIGGER.EXPRESSION}||host_group={TRIGGER.HOSTGROUP.NAME}||host_ip={HOST.IP}||host_name={HOST.NAME}||item_name={ITEM.NAME}||item_value={ITEM.VALUE}-----Flashduty Required Ends----- ``` 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 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..c011dcc8 --- /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,70 @@ +--- +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. 点击 `保存和测试` 完成配置。 + +配置 Webhook 通道后,即可在通知策略中使用。 + + +## 二、状态对照 + +
+ +当前 Cloudflare 集成推送到 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.52 \344\274\201\345\276\256\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.52 \344\274\201\345\276\256\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..18f7a967 --- /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.52 \344\274\201\345\276\256\345\221\212\350\255\246\351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -0,0 +1,81 @@ +--- +title: "企微告警集成" +description: "在 Flashduty 生成唯一的企微机器人地址,通过企微的方式将告警的发生与恢复同步到 Flashduty" +date: "2025-05-19T10:00:00+08:00" +url: "https://docs.flashcat.cloud/zh/flashduty/wecom-alert-integration-guide" +--- + +在 Flashduty 生成唯一的企微机器人告警地址,通过企微机器人告警地址将告警的发生与恢复同步到 Flashduty。 + +
+ +## 操作步骤 +--- + +### 创建企微告警集成 + +您可通过以下2种方式,获取一个企微机器人告警集成地址,任选其一即可。 + +#### 使用专属集成 + +当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。 + +
+ 展开 + + 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面 + 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面 + 3. 选择 **企微告警** 集成,点击 **保存**,生成卡片。 + 4. 点击生成的卡片,可以查看到 **企微告警集成地址**,复制备用,完成。 + +
+ +#### 使用共享集成 + +当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。 + +
+ 展开 + + 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。 + 2. 选择 **企微告警** 集成: + - **集成名称**:为当前集成定义一个名称。 + - **消息类型**:选择企微告警消息类型,目前仅支持 Text、Markdown。 + - **推送模式**:选择企微告警在何种情况下触发或恢复告警。 + 3. 复制当前页面的 **企微告警集成地址** 备用。 + 4. 配置默认路由,并选择对应的协作空间(集成创建后可以前往 `路由` 进行更多路由规则的配置)。 + 5. 完成。 + +
+
+ +### 定制企微告警集成 + +#### 企微告警集成地址 + +系统会帮您生成一个唯一的企微告警集成地址,该地址兼容企微机器人消息的协议,在有的平台仅支持企微机器人通道时,您可以使用该地址来接收对应的消息。 + +#### 推送模式 + +默认系统总是为每一条消息创建新的告警,但您可以切换模式为: + +**根据规则触发或关闭告警**:该模式下,每当接收到新消息,系统会根据您的规则进行消息匹配,匹配到的消息按照规则去触发新告警或关闭已有告警。 + + - 您至少需要填写一条**触发**规则; + - 您必须设置 Alert Key 的正则提取规则。系统使用该字段来查找历史告警,以便对其进行更新或关闭;**如果正则提取失败,系统将随机来生成 Alert Key**,以确保告警不会因为配置错误而丢失; + - 您可以选择,当所有的规则都不匹配时,是否丢弃消息。 + + 配置示例: + + - 接收所有消息,当消息内容中包含 **RESOVED** 字样时,关闭告警,否则触发新告警; + - Alert Key 从消息内容中提取,规则为 **/(.\*)/**。 + + +### 注意事项 +- 企微告警集成地址仅支持接收 Text、Markdown 消息类型,其他消息无法接收。 +- Flashduty 会生成默认告警标题: “企微机器人告警”,如果您需要更改标题,可以通过[告警处理 Pipeline](https://docs.flashcat.cloud/zh/flashduty/alert-pipelines) 来自定义标题。 + +## 严重程度映射关系 +--- + +当前企微告警集成推送到 Flashduty 的严重程度均为Warning,但您可以通过[告警处理 Pipeline](https://docs.flashcat.cloud/zh/flashduty/alert-pipelines) 来自定义严重程度。 \ 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.6 Uptime Kuma \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.6 Uptime Kuma \351\233\206\346\210\220\346\214\207\345\274\225.md" index 0964ccc8..97867482 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.6 Uptime Kuma \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.6 Uptime Kuma \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -50,7 +50,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/uptime-kuma-integration-guide" **步骤 1:设置通知渠道** 1. 进入 `Settings -> Notifications` 页面,单击 Setup 进行编辑,如下图所示; -2. `Notification Type` 选择 `FlashDuty( Flashduty )`; +2. `Notification Type` 选择 `Flashduty( Flashduty )`; 3. `Integration Key` 复制写入集成推送地址中的 integration_key 参数值; 4. `Severity` 为严重程度,按需选择; 5. 提交保存 @@ -63,7 +63,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/uptime-kuma-integration-guide" 1. 点击 `Add New Monitor` 或编辑已有的监控项,按需完成监控配置; 2. 如图,右侧 `Notifications` 部分启用上一步创建的通知方式; -3. 如需设置标签,可以添加 `Tags`,注意仅同时存在 Key/Value 的标签才会推送到 FlashDuty; +3. 如需设置标签,可以添加 `Tags`,注意仅同时存在 Key/Value 的标签才会推送到 Flashduty; 4. 提交保存,等待告警触发。 drawing 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..b6ae5b82 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,10 +1,10 @@ --- -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,120 +18,136 @@ 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)。 +![2025-09-18-10-37-08](https://docs-cdn.flashcat.cloud/images/png/d456a3be638252127dde907617d63fb7.png) ### 2. 复制凭证信息 -前往 **凭证与基础信息** 页面,复制 `App ID` 和 `App Secret`备用。 +前往 **凭证与基础信息** 页面,复制 `App ID` 和 `App Secret` 备用。 + -drawing +![2025-09-18-10-38-52](https://docs-cdn.flashcat.cloud/images/png/69f98fad9e5a076aac5f9b0058ebd8dc.png) ### 3. 复制事件回调的 Token 信息 -前往 **开发配置-事件与回调-加密策略** 页面,复制 `Encrypt Key`(推荐启用,更安全) 和 `Verification Token`备用。 +前往 开发配置 → 事件与回调 → **加密策略** 页面,生成并复制 `Encrypt Key`(推荐启用,更安全)和 `Verification Token` 备用。 -drawing +![2025-09-18-10-42-01](https://docs-cdn.flashcat.cloud/images/png/ac558d48464310fe27ef97912b298df1.png) ## 二、添加飞书集成 --- -回到 Flashduty **集成中心** 页面,选择 **即时消息=>飞书**,在表单中填入 `名称` 以及上一步复制的`App ID`、`App Secret`、`Verification Token` 和 `Encrypt Key`后,点击保存创建。 +回到 Flashduty **集成中心** 页面,选择 即时消息 → **飞书**,在表单中填入 `名称` 以及上一步复制的 `App ID`、`App Secret`、`Verification Token` 和 `Encrypt Key` 后,点击 **保存** 完成创建。 -drawing +创建成功后,您将在列表中看到已添加的飞书集成。点击其名称进入详情页面,即可查看 **网页配置** 地址、**重定向 URL** 和 **消息卡片请求网址**,这些信息将在后续步骤中使用。 -创建后在列表中会看到刚才添加的飞书集成,点击名称进入详情后,会看到 **网页配置** 地址、**重定向 URL** 地址以及 **消息卡片请求网址** 等信息,后边流程会用到。 - -drawing +![2025-09-18-10-44-00](https://docs-cdn.flashcat.cloud/images/png/1e8ffb6c39f99ef12bd85ae49992ebad.png) ## 三、配置飞书应用 --- ### 1. 开通并配置应用能力 -1). 回到飞书开发者后台,进入刚才创建的飞书应用,进入 **添加应用能力-按能力添加** 页面,同时开通 **网页应用** 和 **机器人** 能力。 +1. 回到飞书开发者后台,进入刚才创建的飞书应用,进入 添加应用能力 → **按能力添加** 页面,同时开通 **网页应用** 和 **机器人** 能力。 -drawing +![2025-09-18-10-45-48](https://docs-cdn.flashcat.cloud/images/png/5ab84aec1593c7118782765676a51c6a.png) -2). 前往 **网页应用** 页面,配置 `桌面端主页` 和 `移动端主页`,内容均为集成详情中的 **网页配置** 地址。 +2. 前往 **网页应用** 页面,配置 `桌面端主页` 和 `移动端主页`,内容均为集成详情中的 **网页配置** 地址。详见飞书开发文档 [配置应用主页地址](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#8366b844)。 -drawing +![2025-09-18-10-47-46](https://docs-cdn.flashcat.cloud/images/png/d91efc598bda17e1bfcb367aec47c779.png) -(详见飞书开发文档-[配置应用主页地址](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#8366b844)) +3. 前往 事件回调 → **事件配置** 页面,配置 `订阅方式`(内容为集成详情中的 **消息卡片请求网址**)。然后,添加以下两项事件: -3). 前往 **事件回调-回调配置** 页面,配置 `消息卡片请求网址`(内容为集成详情中的 **消息卡片请求网址**)并添加回调。 +- `im.chat.disbanded_v1` +- `im.message.receive_v1` -drawing -drawing +![2025-09-18-11-06-05](https://docs-cdn.flashcat.cloud/images/png/71910d8af8d60b5f30baf009081646df.png) -### 2. 添加重定向 URL 到飞书应用中 +4. 前往 事件回调 → **回调配置** 页面,配置 `订阅方式`(内容为集成详情中的 **消息卡片请求网址**)。然后,订阅以下两项回调: -进入 **安全设置** 页面,配置 `重定向URL`,内容为集成详情中的 **重定向 URL**。 +- `card.action.trigger` +- `card.action.trigger_v1` -drawing - -(详见飞书开发文档-[配置重定向 URL](https://open.feishu.cn/document/uYjL24iN/uYjN3QjL2YzN04iN2cDN?lang=zh-CN#c863e533)) - -### 3. 申请应用权限 +![2025-09-19-18-43-03](https://docs-cdn.flashcat.cloud/images/png/f58b20e52fc53f428bc493e18f0a567f.png) -进入 **权限管理** 页面,申请 `im:chat` 和 `im:message` 两项权限。此两项权限将允许当前应用获取自身所在群聊信息以及向群聊或个人发送消息的能力。 +### 2. 添加重定向 URL 到飞书应用 -drawing +进入 **安全设置** 页面,配置 `重定向URL`,内容为集成详情中的 **重定向 URL**。 -## 四、应用发布与使用 ---- +详见飞书开发文档 [配置重定向 URL](https://open.feishu.cn/document/uYjL24iN/uYjN3QjL2YzN04iN2cDN?lang=zh-CN#c863e533)。 -完成上述步骤后,进行应用的发布与使用,管理员审核后即可使用。 -注意:**可用范围** 需要特别配置,推荐 **所有员工**。 +![2025-09-18-10-53-24](https://docs-cdn.flashcat.cloud/images/png/00a7cdd10c09c90c2d7b2f0a99ee4d8d.png) -drawing +### 3. 申请应用权限 -详见飞书开发文档-[应用发布与使用](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step-4)。 +进入 **权限管理** 页面,为先前步骤创建的群应用申请以下权限: -应用发布后,就可以使用 手机端/PC 端 访问应用。首次访问需要登录并关联(飞书< - >Flashduty)账号,后续可以免登录使用。 +- `im:chat`:获取与更新群组信息 +- `im:message`:获取与发送单聊、群组消息 +- `contact:user.id:readonly`:通过手机号或邮箱获取用户 ID -1. 手机端:手机端通过 飞书 > 工作台 > 搜索应用名称 > 打开应用 使用网页应用。 -2. PC 端:桌面(PC)端通过 飞书 > 工作台 > 搜索应用名称 > 打开应用 使用网页应用。 +![2025-09-18-10-55-14](https://docs-cdn.flashcat.cloud/images/png/d919be62107f6b9d0c662f440d620e61.png) -## 五、常见问题 +## 四、应用发布与使用 --- -1. **消息无法投递到个人**,操作记录提示`未关联应用`? +完成上述所有配置后,请发布应用。待管理员审核通过后即可使用。 - - 前往 飞书 > 工作台 > 搜索应用名称 > 打开应用,完成一次登录并关联(飞书< - >Flashduty)账号,系统才能拿到用户身份进行消息推送 +详见飞书开发文档 [应用发布与使用](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step-4)。 -2. **消息卡片按钮点击无效或报错**? +> 为了确保所有人可以使用应用,需将应用 **可见范围** 调整为全部员工,再进行应用发布。 - - 确保账户已经完成关联,前往 飞书 > 工作台 > 搜索应用名称 > 打开应用,完成一次登录并关联(飞书< - >Flashduty)账号。如果已经登录过,尝试点击右上角菜单,切换账户,重新登录来绑定账号 - - 确保已购买足够的 license,已使用 license 情况,可以在控制台 > 费用中心查看 +![2025-09-18-10-56-20](https://docs-cdn.flashcat.cloud/images/png/6bbc285986808af14c29d0eb633a2bf7.png) -3. **分派策略飞书群聊列表为空**? - - 前往 飞书,选择群聊会话,添加已创建的Flashduty机器人,如下图所示: - - 回到分派策略配置页面,刷新后重新选择群聊列表 +应用发布后,即可通过 **手机端** 或 **PC 端** 访问应用。首次访问需要登录并关联飞书与 Flashduty 账号,后续可以免登录使用。 -drawing -drawing +- **手机端**:通过 飞书 → 工作台 → 搜索应用名称 → **打开应用** 使用网页应用。 +- **PC 端**:通过 飞书 → 工作台 → 搜索应用名称 → **打开应用** 使用网页应用。 -4. **飞书自建应用 API 限制:** [飞书文档说明](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/platform-updates-/custom-app-api-call-limit) +![2025-09-18-10-57-46](https://docs-cdn.flashcat.cloud/images/png/eed8557808874a0c488b958c4049ea72.png) - **调用量限制:** +## 五、配置作战室 - | 飞书版本 | 调用总量/月 | 刷新时间 | - | :----------: | :--: | :----: | - |基础免费版|10,000 次|每个自然月的 1 号| - |其他版本|不限制|-| +> 确保应用已被授权使用作战室功能所需的[额外权限](#war-room-scope)。 - **频控限制:** +完成先前步骤后,在 Flashduty 集成配置页面的 **增强功能** 模块,勾选 **开启作战室** 即可启用该功能,无需额外配置。 - | 场景 | 限制 | - | :----------: | :--: | - |所有接口|每个应用最高频率 50 次/秒| - |发消息接口|每个应用最高频率 1000 次/分钟| - |群机器人 Webhook|最高频率 100 次/分钟| - |给同一个用户或同一个群发消息|最高频率 5 次/秒| +## 六、常见问题 +--- - **注意:** 超出限制后将无法正常推送消息,建议合理使用通知渠道 +1. **消息无法投递到个人,操作记录提示 `未关联应用`?** + - 前往 飞书 → 工作台 → 搜索应用名称 → **打开应用**,完成一次登录以关联飞书与 Flashduty 账号,系统才能获取用户身份进行消息推送。 +2. **消息卡片按钮点击无效或报错?** + - 确保账户已经完成关联。您可以前往 飞书 → 工作台 → 搜索应用名称 → **打开应用**,完成一次登录。如果已经登录过,请尝试点击右上角菜单,切换账户后重新登录以绑定账号。 + - 确保已购买足够的 License。已使用 License 情况,可以在 控制台 → **费用中心** 查看。 +3. **分派策略飞书群聊列表为空?** + - 前往飞书,在指定群聊会话中添加已创建的 Flashduty 机器人。 + - 回到分派策略配置页面,刷新后重新选择群聊列表。 + +![2025-09-18-14-24-40](https://docs-cdn.flashcat.cloud/images/png/0e21e9e689855d9a636fb94848f58c13.png) + +4. **飞书自建应用 API 限制?** + - **调用量限制:** + + | **飞书版本** | **调用总量/月** | **刷新时间** | + | :---: | :---: | :---: | + | 基础免费版 | 10,000 次 | 每月 1 日 | + | 其他版本 | 不限制 | - | + + - **频控限制:** + + | **场景** | **限制** | + | :---: | :--- | + | 所有接口 | 每个应用最高频率 50 次/秒 | + | 发消息接口 | 每个应用最高频率 1000 次/分钟 | + | 群机器人 Webhook | 最高频率 100 次/分钟 | + | 给同一个用户或同一个群发消息 | 最高频率 5 次/秒 | + + > 超出 API 调用量限制后,飞书应用将无法正常推送消息,建议合理使用通知渠道。详见 [飞书官方文档](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/platform-updates-/custom-app-api-call-limit)。 +5. **为什么作战室功能未按预期工作?** + - 请再次检查是否为应用配置了作战室功能[所需权限](#war-room-scope)。 + - 请参考 Flashduty [作战室介绍文档](https://docs.flashcat.cloud/zh/flashduty/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.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..a1b7ed64 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" @@ -5,157 +5,229 @@ date: "2025-05-19T10:00:00+08:00" 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-18-15-02-55](https://docs-cdn.flashcat.cloud/images/png/3a66cc08c2a9ecb5669c985e05deb129.png) -应用图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 +应用图标可使用 [Flashduty 官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 -### 2. 复制企业 CorpId +### 2. 复制企业 `CorpId` -点击页面右上角企业,在下拉菜单中复制 `CorpId` 备用。 +点击页面右上角企业头像,在下拉菜单中复制 `CorpId`。 -drawing +![2025-09-18-15-03-12](https://docs-cdn.flashcat.cloud/images/png/3abe7ce647a78264290a8d311b62a842.png) + +回到 Flashduty 集成配置页面,在表单中填入对应的 `CorpId`。 ### 3. 复制应用凭证信息 -前往 **凭证与基础信息** 页面,复制 `AgentID`、 `ClientID` 和 `ClientSecret` 备用。 +进入创建的应用详情界面,通过左侧菜单栏前往 应用能力 → **凭证与基础信息** 页面,复制 `AgentId`、`Client ID` 和 `Client Secret`。 + +![2025-09-18-15-04-39](https://docs-cdn.flashcat.cloud/images/png/075fc5989770ef3e76aa39320fe55bdf.png) -drawing +回到 Flashduty 集成配置页面,在表单中填入对应的 `AgentId`、 `Client ID` 和 `Client Secret`。 ### 4. 复制事件订阅信息 -前往 **开发配置 - 事件与回调** 页面。 +前往 开发配置 → **事件与回调** 页面。设置推送方式为 `HTTP推送`,然后点击按钮生成 `加密 aes_key` 和 `签名 Token`,并复制保存。 -生成 `加密 aes_key` 和 `签名 Token` 备用。 +![2025-09-18-15-05-10](https://docs-cdn.flashcat.cloud/images/png/0369b205a2fcf0f798267a4573e54996.png) -**(注意:生成 aes_key 和 Token 后请将信息临时保存到其它地方,离开页面后信息会消失,后续会用到)** +回到 Flashduty 集成配置页面,在表单中填入对应的 `加密 aes_key` 和 `签名 Token`,点击 **保存** 按钮。 -drawing +### 5. 配置事件订阅 -## 二、添加钉钉集成 ---- +进入 开发配置 → **事件订阅** 页面。 -回到Flashduty **集成中心** 页面,选择即时消息 > 钉钉,在表单中填入 `集成名称` 以及上一步复制的 应用信息后,点击保存创建。 +根据 Flashduty 集成详情中的 `事件订阅请求地址`,配置 **事件订阅请求网址**。配置完成后 **保存**。 -drawing +![2025-09-18-15-05-34](https://docs-cdn.flashcat.cloud/images/png/4f2f07c6bfd852b5c47ce2ae63559212.png) -保存后会看到 **网页配置** 地址、**服务器出口 IP** 地址以及 **事件订阅请求网址** 等信息,后边流程会用到。 +在 **保存** 按钮下方,选中 `群会话更换群名称`、`群内安装酷应用` 和 `群内卸载酷应用` 三种群会话事件,配置完成后点击 **保存**。 -drawing +![2025-09-18-15-08-07](https://docs-cdn.flashcat.cloud/images/png/e4fadf912cdad71dbfcc8c3d678f3277.png) -## 三、配置钉钉应用 ---- +### 6. 添加应用能力 -### 1. 添加酷应用、网页应用和机器人 -drawing +创建酷应用。进入 开发配置 → 添加应用能力 → 酷应用 → **酷应用列表** 页面,点击 **创建酷应用** 按钮,选择 **扩展到群会话**。 -1)创建酷应用 **酷应用-酷应用列表** 页面,点击 **创建酷应用** 按钮,选择 **扩展到群会话** +进入 **编辑酷应用** 页面,完成以下步骤: -drawing +1. 填写基本信息。图标可使用 [Flashduty 官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 -2)进入到 **编辑酷应用** 页面,完成以下步骤: +![2025-09-18-15-11-03](https://docs-cdn.flashcat.cloud/images/png/d5191000378f4df25bb96bc1f19b0db2.png) -2.1) 第一步,填写基本信息,图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 +2. 配置功能设计。在左侧选中 **群快捷入口** 和 **消息卡片**。群快捷入口图标可使用 [Flashduty 官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png),桌面和移动端访问地址请复制集成详情里的 **酷应用网页地址**。 -drawing +![2025-09-18-15-13-08](https://docs-cdn.flashcat.cloud/images/png/88385f8c5aa382d13bc9f5c0d0b8b18f.png) -2.2) 第二步,配置功能设计,左侧选中 **群快捷入口** 和 **消息卡片**。群快捷入口图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png),桌面和移动端访问地址请复制集成详情里的 **酷应用网页地址**。 +3. 跳过第三步功能开发,进入第四步 **预览发布**,点击 **发布** 按钮并确认。 -drawing +### 7. 配置机器人与消息推送 -2.3) 跳过第三步功能开发,来到第四步 **预览发布**,点击 **发布** 按钮并确认。 +进入 应用能力 → **机器人** 页面,打开机器人配置,填写名称并上传图标,然后点击 **保存**。图标可使用 [Flashduty 官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。 -### 2. 配置机器人与消息推送 +![2025-09-18-15-17-17](https://docs-cdn.flashcat.cloud/images/png/62f4d4582baa0b446876e41e1a9d8eca.png) -进入 **应用能力-机器人** 页面,打开机器人配置,填写名称并上传图标,图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png),保存即可。 +### 8. 配置应用地址 -drawing +进入 应用能力 → **网页应用** 页面。 -### 3. 配置应用地址 +根据 Flashduty 集成详情中的 `应用首页地址` 和 `PC 端首页地址`,配置 **应用首页地址** 和 **PC 端首页地址**。完成后点击 **保存**。 -进入 **应用能力-网页应用** 页面 +![2025-09-18-15-20-13](https://docs-cdn.flashcat.cloud/images/png/9c430307d54f27eaedb009235540f6c5.png) -1)配置 **应用首页地址** 和 **PC 端首页地址**,内容为集成详情中的 **应用首页地址** 和 **PC 端首页地址**。 +### 9. 申请应用权限 -2)点击右上角 **保存**。 +进入 开发配置 → **权限管理** 页面,为先前步骤创建的群应用申请以下权限: -drawing +- `qyapi_chat_manage`:获取群聊信息 +- `qyapi_robot_sendmsg`:向群聊或个人发送消息 -### 4. 配置事件订阅 +![2025-09-18-15-20-36](https://docs-cdn.flashcat.cloud/images/png/4417440194002a011e2feca5fa5c9469.png) -1)**开发配置-事件订阅** 页面,配置 **请求网址**,内容为集成详情中的 **事件订阅请求网址**,配置完成后**保存**。 +## 二、配置作战室 -drawing +> 若您无需配置作战室功能,可跳过本步骤,直接进入 [**应用发布与使用**](#publish)。 -2)**保存**按钮下方,选中`群会话更换群名称`、`群内安装酷应用`和`群内卸载酷应用`三种群会话事件,配置完成后**保存**。 + -drawing +### 1. 申请应用权限 -### 5. 申请应用权限 +进入 开发配置 → **权限管理** 页面,为先前步骤创建的群应用申请以下权限: -进入 权限管理 页面,申请 `qyapi_chat_manage` 和 `qyapi_robot_sendmsg` 两项权限。此两项权限将允许当前应用获取自身所在群聊信息以及向群聊或个人发送消息的能力。 +- `qyapi_chat_read`:获取群聊信息 +- `qyapi_chat_base_read`:获取群聊信息 +- `qyapi_get_member_by_mobile`:允许当前应用根据手机号获取钉钉用户以便邀请用户加入群聊 -drawing +![2025-09-18-15-21-28](https://docs-cdn.flashcat.cloud/images/png/39142395390ce09726e3a95991549116.png) -## 四、应用发布与使用 ---- +### 2. 配置群模板 + +通过钉钉开放平台顶部菜单栏,前往 开放能力 → **场景群**。 + +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-18-15-22-05](https://docs-cdn.flashcat.cloud/images/png/75e853ae6c420d69916e17f5d8922945.png) -drawing -drawing +2. 配置 **群模板**。在左侧菜单栏中选择 **群模板**,点击 **创建群模板**。 -应用发布后,就可以使用 手机端/PC 端 访问应用。首次访问需要登录并关联(钉钉< - >Flashduty)账号,后续可以免登录使用。 + 将 **企业类型** 设置为 `企业内部`,将 **可选应用** 设置为先前步骤创建的自建应用。然后,在下一步骤中填写模板信息。 -1. 手机端:手机端通过 钉钉 > 工作台 > 搜索应用名称 > 打开应用 使用网页应用。 -2. PC 端:桌面(PC)端通过 钉钉 > 工作台 > 搜索应用名称 > 打开应用 使用网页应用。 + **模板名称**、**图标**、**描述**、**文案介绍**、**模板描述**、**图片介绍** 等介绍性信息不会影响群模板功能的使用,您可选择任意满足要求的值进行配置。 + **示例配置**: + + | **配置项** | **值** | + | ---------- | --------------------------------------------------------------------------------- | + | 模板名称 | Flashduty 作战室 | + | 图标 | [Flashduty 官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png) | + | 描述 | 为活跃故障一键创建作战室。 | + | 文案介绍 | 为活跃故障一键创建作战室。 | + | 模板描述 | 为活跃故障一键创建作战室。 | + | 图片介绍 | [Flashduty 官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png) | + + 在 **选择机器人** 配置项中,点击 **选择已创建的机器人**,选择上一步骤中创建的群机器人。其他配置项保持默认。最后点击 **保存编辑**。 + + ![2025-09-18-15-22-35](https://docs-cdn.flashcat.cloud/images/png/9292a8418a96fcb3fee1d424a41d33a2.png) + ![2025-09-18-15-23-06](https://docs-cdn.flashcat.cloud/images/png/c76433b0962fb0f0531b4f56b60ce903.png) + + 在 **填写灰度群** 步骤中,点击 **创建灰度群**,然后点击 **发布灰度**。 + + 最后,再次点击左侧菜单栏的 **群模板**,然后点击进入刚才创建的群模板。点击 **提交审核**,待钉钉自动通过审核后,最后点击 **发布**。 + +3. 在已经发布的群模板详细信息页,复制 **模板 ID** 和 **机器人 ID**。 + + ![2025-09-18-15-23-46](https://docs-cdn.flashcat.cloud/images/png/315acf0b5951100781f96cd4d854d0c6.png) + + 回到 Flashduty 集成配置页面,在表单中填入对应的 `模版 ID` 和 `机器人 ID`,点击 **保存** 按钮。 + + + +## 三、应用发布与使用 -## 五、常见问题 --- -1. **消息无法投递到个人**,操作记录提示`未关联应用`? - - 前往 钉钉 > 工作台 > 搜索应用名称 > 打开应用,完成一次登录并关联(钉钉< - >Flashduty)账号,系统才能拿到用户身份进行消息推送 +完成上述步骤后,前往 应用发布 → **版本管理与发布**,创建新版本并发布。 -2. **消息卡片按钮点击无效或报错?** +> 为了确保所有人可以使用应用,需将应用 **可见范围** 调整为全部员工,再进行应用发布。 + +![2025-09-18-16-08-17](https://docs-cdn.flashcat.cloud/images/png/86df5b6148cf1264745d957bd2d43fcf.png) + +应用发布后,即可通过 **手机端** 或 **PC 端** 访问应用。首次访问需要登录并关联钉钉与 Flashduty 账号,后续可以免登录使用。 - - 前往 钉钉 > 工作台 > 搜索应用名称 > 打开应用,完成一次登录并关联(钉钉< - >Flashduty)账号。如果已经登录过,尝试点击右上角菜单,切换账户,重新登录来绑定账号 - - 确保已购买足够的 license,已使用 license 情况,可以在控制台 > 费用中心查看 +- **手机端**:通过 钉钉 → 工作台 → 搜索应用名称 → **打开应用** 使用网页应用。 +- **PC 端**:通过 钉钉 → 工作台 → 搜索应用名称 → **打开应用** 使用网页应用。 +## 四、常见问题 + +--- + +1. **消息无法投递到个人,操作记录提示 `未关联应用`?** + - 前往 钉钉 → 工作台 → 搜索应用名称 → **打开应用**,完成一次登录以关联钉钉与 Flashduty 账号,系统才能获取用户身份并推送消息。 +2. **消息卡片按钮点击无效或报错?** + - 前往 钉钉 → 工作台 → 搜索应用名称 → **打开应用**,完成一次登录以关联钉钉与 Flashduty 账号。如果已经登录过,尝试点击右上角菜单,切换账户,重新登录来绑定账号。 + - 确保您已购买足够的 License。已使用 License 情况,可以在 控制台 → [**费用中心**](https://console.flashcat.cloud/wallet) 查看。 3. **分派策略钉钉群聊列表为空?** + - 前往钉钉,选择群聊会话安装酷应用,否则无法获取群聊列表。 - - 前往 钉钉,选择群聊会话安装酷应用,否则无法拿到群聊列表 - - 回到分派策略配置页面,刷新后重新选择群聊列表 - - 如果仍然拿不到群聊列表,请尝试群内卸载酷应用后,重试以上步骤。如果还不可以,请联系客户或专属技术支持 + ![2025-09-18-15-34-37](https://docs-cdn.flashcat.cloud/images/png/7f1e931df0ae740a37ce6615ac3b18ba.png) + ![2025-09-18-15-35-44](https://docs-cdn.flashcat.cloud/images/png/367dfd391bf4d57c22088d20a4844e33.png) -drawing -drawing + - 回到分派策略配置页面,刷新后重新选择群聊列表。 + - 如果仍然无法获取群聊列表,请尝试在群内卸载酷应用后,重试以上步骤。如果问题依旧,请联系客户或专属技术支持。 -drawing +4. **为什么作战室功能未按预期工作?** + - 请再次检查是否为应用配置了作战室功能[所需权限](#war-room-scope)。 + - 请参考 Flashduty [作战室介绍文档](https://docs.flashcat.cloud/zh/flashduty/war-room) 的 **常见问题** 部分。 -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) +5. **钉钉自建应用 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 a717213e..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" @@ -1,80 +1,152 @@ --- -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) 两种方式。
## 视频介绍 + --- + +
-## 一、安装应用 +> **集成第三方应用** 和 **集成自建应用** 两种方式只需按需配置其中一种。 + + + +## 一、集成第三方应用 + --- -1. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) - `应用管理` - `第三方`,选择添加第三方应用 +> Flashduty 作为企业微信服务商,为您提供 Flashduty 应用的长期免费版本。该应用需要获得企业微信接口调用许可才能使用(免密登录 + 消息发送)。 +> +> 该许可目前支持 **最多 60 天** 免费,超出该使用时长后,Flashduty 需要为您购买企业微信许可,您方可继续使用。 + +1. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps),进入 应用管理 → **应用** 页面,点击 **添加第三方应用**。 -drawing + ![2025-09-18-11-36-22](https://docs-cdn.flashcat.cloud/images/png/ae4d35a354aaf22dd41b7493200517bc.png) -2. 搜索栏输入 `flashduty`,检索到应用,并点击 `添加` 按钮 +2. 在搜索栏输入 `Flashduty`,检索到应用后,点击 **添加** 按钮。 -drawing + ![2025-09-18-11-38-57](https://docs-cdn.flashcat.cloud/images/png/77347db478c45f4c9d238d587d323a78.png) -3. 修改应用 `可见范围`,推荐全员或具体部门节点,防止新增成员时还要修改范围。点击 `同意以上授权并添加`,完成安装 +3. 修改应用 **可见范围**,推荐选择全员或具体部门节点,以避免新增企业成员时仍需修改。然后,点击 **同意以上授权并添加** 完成安装。 -drawing + ![2025-09-18-12-05-07](https://docs-cdn.flashcat.cloud/images/png/0821d1afdeb5db34c4c9b5548d5c8ca1.png) -4. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) - `我的企业` 页面,复制 `企业ID` 作为当前页面的 `Corp ID` 填写到集成配置,点击保存,完成集成配置 +4. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps),进入 **我的企业** 页面,获取 `企业 ID`。 -drawing + ![2025-09-18-11-44-54](https://docs-cdn.flashcat.cloud/images/png/c032dc755a72550d57658dd5962dafe4.png) -5. **请注意:Flashduty作为企业微信服务商,为您提供 `FlashDuty` 应用的长期免费版本。该应用需要获得企业微信接口调用许可才能使用(免密登录+发消息),该许可目前支持`最多60天`免费,超过后我们必须为您购买企微许可才能使用。** +5. 返回 Flashduty 集成配置页面,填写上一步获取的 `企业 ID`,点击 **保存** 完成集成。 + + + +## 二、集成企业自建应用 -## 二、常见问题 --- -1. **点击集成保存按钮,报错 `authorize app first`?** +1. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps),进入 应用管理 → **应用** 页面,点击 **创建应用**。 - - 请检查您是否完成应用的安装步骤,比如您是否可以在工作台看到 `FlashDuty` 这个应用 - - 请检查您是否正确配置了 `Corp ID` + ![2025-09-18-11-46-44](https://docs-cdn.flashcat.cloud/images/png/ed274f6a897b808678a5a29b23adcb66.png) -2. **如何完成账户关联?或消息发送提示`未关联应用`?** +2. 配置 **应用 Logo**、**应用名称** 和 **应用可见范围**。 - - 登入企业微信客户端(桌面端和移动端均可),进入 `工作台`,找到并进入应用 `FlashDuty` - - 首次进入应用需要登录,选择成员账号 - 密码或单点登录,登入成功后,即完成 `Flashduty` 到 `企业微信` 账户关联 - - 后续进入应用将免密登录 + ![2025-09-18-11-49-18](https://docs-cdn.flashcat.cloud/images/png/26ec124891e580a6d1e1035ba52636ba.png) -3. **如何进行故障通知?** +3. 返回 Flashduty 集成配置页面,根据您的实际情况选择企业微信是否为 `非私有化部署版本`。 - - 必须参照问题 1,先完成账户关联,才能发送通知 - - 进入某个协作空间详情页面-分派策略,在个人渠道部分,选择通知到企业微信集成,完成通知配置 - - 支持对企业微信通知内容进行自定义,您前往模板管理页面,设定自定义模板。注意:**自定义区域展示行数最多 8 行**,超过会被企业微信截断 + 若您的企业微信为私有化部署版本,则需要在配置页面中填写 `Endpoint`。此地址需要能够被 Flashduty 服务访问,您可以考虑为其设置 **白名单授权**。 - drawing +4. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps),进入 **我的企业** 页面,获取 `企业 ID`,并将其填写至 Flashduty 集成配置页面。 -4. **如何在微信内处理告警?** +5. 返回 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps),进入 **应用管理** 页面,点击您所创建的应用进入详情页。获取页面中的 `AgentId`,并将其填写至 Flashduty 集成配置页面。 - - 点击卡片消息,直接进入告警详情页面 - - 点击 `开始处理`,直接将告警置为 `处理中` 状态 - - 点击 `直接关闭`,直接将告警置为 `已关闭` 状态 - - 点击 `屏蔽2小时`,直接将告警屏蔽 2 小时,如果想屏蔽更多时间,点击卡片右上角 `...`有更多屏蔽选项 +6. 在应用详情页,获取 `Secret`,并将其填写至 Flashduty 集成配置页面。 -5. **为什么卡片消息提供了 `状态刷新` 按钮?** +7. 在应用详情页,进入 **网页授权及 JS-SDK** 页面,点击 **设置可信域名**,并按要求配置。 + + > 可信域名需要指向 Flashduty 的后端地址 `{api_host}`(可通过 CNAME 或代理转发实现)。 + > + > 关于可信域名的要求,详见企业微信官方文档 [《企业内部开发配置域名指引》](https://open.work.weixin.qq.com/wwopen/common/readDocument/40754)。 + + ![2025-10-15-10-30-56](https://docs-cdn.flashcat.cloud/images/png/09a91d682198d1c8f830b5ed523965ef.png) + + 返回 Flashduty 集成配置页面,填写该域名,并完成验证。 + +8. 在应用详情页,进入 **接收消息** 页面,并 **设置 API 接收**。分别对 `Token` 和 `EncodingAESKey` 点击 **随机获取**,然后复制并保存所生成的值。 - - 企业微信限制一次卡片交互后 72 小时只可更新一次。每一次按钮操作,都是一次交互 - - 当告警的状态发生变化时,Flashduty会请求卡片内容更新 - - 当告警状态频繁变化时,可能因为超过更新次数限制,导致卡片无法实时更新,这时可以点击刷新按钮,来获得一次更新卡片状态机会 + ![2025-09-18-11-58-45](https://docs-cdn.flashcat.cloud/images/png/919bd2722c75513ce1d301779b39c3bf.png) -6. **Mac 桌面端点击卡片消息如何使用 `系统默认浏览器` 打开?** + 返回 Flashduty 集成配置页面,填写已保存的 `Token` 和 `EncodingAESKey`,点击 **保存** 完成集成。 - - Mac 桌面端默认使用端内浏览器打开链接 - - 您可以尝试快捷键 `ctrl` + `command` + `shift` + `d` 开启调试模式,然后选择 `调试 - 浏览器、webView相关 - 系统浏览器打开网页`,来更改链接打开模式。使用同样的快捷键可以关闭调试模式,并保持设置。 +9. 复制 Flashduty 集成详情页中的 `回调地址`,返回企业微信刚才的 **接收消息** 页面。在 **API 接收** 设置中,填入该 `回调地址` 以及上一步保存的 `Token` 和 `EncodingAESKey`,然后点击 **保存**。 -7. **故障通知失败,提示`未开通企微许可`?** + ![2025-09-18-11-56-43](https://docs-cdn.flashcat.cloud/images/png/c990c27f7ad90af172e159fc4acfead7.png) - - 联系 Flashduty 客服或专属支持,为您购买开通 +10. 配置**前端可信域名** + + > 可信域名需要指向 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-10-14-20-26-45](https://docs-cdn.flashcat.cloud/images/png/fe3b2b788dda5d331148ba0946631b91.png) + +## 三、配置作战室 + +--- + +> 作战室功能仅支持在 **企业自建应用** 模式下开启。 + +完成先前步骤后,在 Flashduty 集成配置页面的 **增强功能** 模块,勾选 **开启作战室** 即可启用该功能,无需额外配置。 + +## 四、常见问题 + +--- + +1. **点击集成保存按钮后,系统报错 `authorize app first`?** + - 请检查您是否已完成应用的安装步骤。例如,您是否可以在企业微信工作台中看到 Flashduty 应用。 + - 请检查您是否正确配置了 `Corp ID`。 +2. **如何完成账户关联或消息发送提示 `未关联应用`?** + - 登录企业微信客户端(桌面端和移动端均可),进入 **工作台**,找到并打开 Flashduty 应用。 + - 首次进入应用需要登录。选择您的成员账号,通过密码或单点登录方式登入成功后,即可完成 Flashduty 账号与企业微信账号的关联。 + - 后续进入应用将自动免密登录。 +3. **如何发送故障通知?** + - 发送通知前,必须参照上一问题完成账户关联。 + - 进入指定协作空间,导航至 `分派策略` → **个人渠道**,选择 `企业微信` 作为通知方式即可。 + - Flashduty 支持对企业微信通知内容进行自定义。您可以前往 **模板管理** 页面,设定自定义模板。**自定义区域最多可展示 8 行**,超出部分将被企业微信截断。 + ![2025-09-18-12-02-26](https://docs-cdn.flashcat.cloud/images/png/9cb6a325b4b16875fec3e0c5054be25b.png) + +4. **如何在企业微信内处理告警?** + - 点击卡片消息,可直接进入告警详情页面。 + - 点击 **开始处理**,可直接将告警置为 `处理中` 状态。 + - 点击 **直接关闭**,可直接将告警置为 `已关闭` 状态。 + - 点击 **屏蔽 2 小时**,可直接将告警屏蔽 2 小时。如果想屏蔽更长时间,可点击卡片右上角的 `...` 查看更多屏蔽选项。 +5. **为什么卡片消息提供了 `状态刷新` 按钮?** + - 根据企业微信的限制,一次卡片交互后,72 小时内只可更新一次。每一次按钮操作,都视为一次交互。 + - 当告警状态发生变化时,Flashduty 会请求更新卡片内容。 + - 当告警状态频繁变化时,可能因超出更新次数限制导致卡片无法实时更新。此时,您可以点击 **刷新** 按钮,手动获取一次更新卡片状态的机会。 +6. **在 Mac 桌面端,如何设置点击卡片消息时使用 `系统默认浏览器` 打开?** + - Mac 桌面端默认使用企业微信的内置浏览器打开链接。 + - 您可以尝试使用快捷键 `ctrl` + `command` + `shift` + `d` 开启调试模式,然后选择 **调试** → **浏览器、webView 相关** → **系统浏览器打开网页**,来更改链接的打开方式。使用相同的快捷键可以关闭调试模式,设置将会保留。 +7. **故障通知失败,并提示 `未开通企微许可`?** + - 请联系 Flashduty 客服或您的专属技术支持,为您购买并开通许可。 +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 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..638b185a 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,55 @@ --- 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`, 表明添加成功 - -2. **分派策略的群聊列表中没有想要的公共频道** - - 将应用授权人添加到公共频道中 - - 或者参考 `常见问题 1` 将应用添加到频道中 +1. 访问 Flashduty 集成中心 → 即时消息 → **Slack**,点击 **添加**。 +2. 在跳转的 Slack 页面,于右上角选择 **工作区**,然后点击 **允许**。 + ![2025-09-18-15-03-58](https://docs-cdn.flashcat.cloud/images/png/01a96bb9a8bf1d6c4c6f176542f12722.png) +3. 输入数据源名称,点击 **保存**。 -3. **点击 安装步骤2的 允许 按钮,报错** - - 重新操作,可能是服务器跟 Slack 通信有问题,导致授权出现问题,回到添加数据源页面重新操作 - - 重试后仍然报错,联系客服 +## 二、配置作战室 -4. **点击 安装步骤3的 保存 按钮,报错** - - 重新操作,可能是服务器跟 Slack 通信有问题,FlashDuty去获取永久授权码错误,回到添加数据源页面重新操作 - - 重试后仍然报错,联系客服 +完成先前步骤后,在 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. **分派策略的群聊列表中没有想要的私有频道?** + - 确保 [**安装应用**](#install-app) 步骤已成功完成且未报错。 + - 进入相关的 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 提示其他未知错误?** + - 请重新操作。 + - 如果重试后仍然报错,请联系客服以记录和解决新问题。 +9. **为什么作战室功能未按预期工作?** + - 对于之前授权的 Slack IM 集成,需要您在 Flashduty 集成配置页中对 Slack 手动进行重新授权,以使应用获得作战室功能所需的额外权限。 + - 请参考 Flashduty [作战室介绍文档](https://docs.flashcat.cloud/zh/flashduty/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.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..abcbe4e7 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,118 @@ --- -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) +![2025-09-18-13-48-04](https://docs-cdn.flashcat.cloud/images/png/bfa4afaf489c3582e858cad99eb76ae5.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) +![2025-09-18-13-49-11](https://docs-cdn.flashcat.cloud/images/png/ea961e7965a2d0c69f8575c4252fb333.png) #### 查看是否添加成功 -等待几分钟,组织成员即可在 [+Apps] - [Built for your org] 找到此应用集成 +等待几分钟,组织成员即可在 +Apps → **Built for your org** 找到此应用。 -![](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/find-bot.png) +![2025-09-18-17-05-37](https://docs-cdn.flashcat.cloud/images/png/f7827638d1877005ca674cbbd2aaa4a3.png) ### 3. 更新应用 ::: caution -若您已安装应用版本低于 1.0.3,请按照以下流程更新 +若您已安装的应用版本低于 1.0.3,请按照以下流程更新。 ::: -进入 [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 - -![update-bot-2](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/update-bot-2.png) +1. 进入 [Microsoft Teams 管理中心](https://admin.teams.microsoft.com/policies/manage-apps),找到并进入 Flashduty 应用详情页。 -等待客户端内应用版本更新(可能需要几十分钟) + ![2025-09-18-13-50-41](https://docs-cdn.flashcat.cloud/images/png/32a62878f9e765cd8b2eb79ceb00bb02.png) -![update-bot-3](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/update-bot-3.png) +2. 上传新版 `FlashdutyBot.zip`。 +![2025-09-18-13-51-56](https://docs-cdn.flashcat.cloud/images/png/f18ac3504516750c31f8357e65f6d680.png) -## 二、关联团队 +3. 等待客户端内应用版本更新(可能需要几十分钟)。 +![2025-09-18-13-52-56](https://docs-cdn.flashcat.cloud/images/png/290f609c30055031ab0ccf6636cdbb01.png) -### 1. 添加 FlashDuty 应用到目标 Team 中 +## 二、关联团队 (Team) +--- +### 1. 添加 Flashduty 应用 +1. 在应用市场中找到 Flashduty 应用。 + > 如无应用,请联系您的 Microsoft Teams 组织管理员。 -#### 1.1 找到 FlashDuty 应用 -如无应用,请联系您的 Microsoft Teams 组织管理员 + ![2025-09-18-17-06-34](https://docs-cdn.flashcat.cloud/images/png/0905e663241ce448a1381ef8c08aa777.png) -![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) + ![2025-09-18-17-11-29](https://docs-cdn.flashcat.cloud/images/png/01fa86b63d01d2735aa6c4a53efb3c69.png) ### 2. 发送关联指令 -@FlashDuty 并发送 linkTeam {ID} 到添加的 Team 中,点击立即关联 - -![link-bot-team-2](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-team-2.png) - -## 三、关联团队 - -### 1. 添加 FlashDuty 应用到目标 Chat 中 +在 Team 中 @Flashduty 并发送指令 `linkTeam {ID}`,然后点击 **立即关联**。 -#### 1.1 找到 FlashDuty 应用 -如无应用,请联系您的 Microsoft Teams 组织管理员 + ![2025-09-18-13-55-05](https://docs-cdn.flashcat.cloud/images/png/3192b5481b0595fcb58e5cc43abad125.png) -![link-bot](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-1.png) +## 三、关联群聊 (Chat) +--- +### 1. 添加 Flashduty 应用 +1. 在应用市场中找到 Flashduty 应用。 +> 如无应用,请联系您的 Microsoft Teams 组织管理员。 -#### 1.2 添加到目标 Chat +![2025-09-18-17-06-34](https://docs-cdn.flashcat.cloud/images/png/0905e663241ce448a1381ef8c08aa777.png) -![link-bot-chat-1](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-chat-1.png) +2. 将应用添加到目标 Chat。 +![2025-09-18-17-14-23](https://docs-cdn.flashcat.cloud/images/png/6e56d7de341737fe495e5ff18eb1af34.png) ### 2. 发送关联指令 -@FlashDuty 并发送 linkChat {ID} {ChatName} 到添加的 Team 中,点击立即关联 - -![link-bot-chat-2](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-chat-2.png) - +在 Chat 中 @Flashduty 并发送指令 `linkChat {ID} {ChatName}`,然后点击 **立即关联**。 +![2025-09-18-13-56-17](https://docs-cdn.flashcat.cloud/images/png/d0beee141db63714ccecb095affee79b.png) ## 四、关联用户 +--- +### 1. 添加 Flashduty 应用 +1. 在应用市场中找到 Flashduty 应用。 +> 如无应用,请联系您的 Microsoft Teams 组织管理员。 -### 1. 添加 FlashDuty 应用 - -#### 1.1 找到 FlashDuty 应用 -如无应用,请联系您的 Microsoft Teams 组织管理员 +![2025-09-18-17-06-34](https://docs-cdn.flashcat.cloud/images/png/0905e663241ce448a1381ef8c08aa777.png) -![link-bot](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-1.png) +2. 点击 **打开应用**。 -#### 1.2 点击打开应用 -![link-bot-user-1](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-user-1.png) +![2025-09-18-13-56-55](https://docs-cdn.flashcat.cloud/images/png/2e6862103d718a913d2b3c449cbf2366.png) ### 2. 发送关联指令 -复制指令:linkUser {} 发送到聊天中,再点击立即关联 - -![link-bot-user-2](https://flashduty-docs.oss-cn-beijing.aliyuncs.com/imges/png/link-bot-user-2.png) +复制并发送指令 `linkUser {}` 到聊天中,然后点击 **立即关联**。 -## 常见问题 -
-团队或个人收不到消息 -请前往集成中心=>即时消息=>Microsoft Teams中的团队和用户是否有关联成功 -
+![2025-09-18-13-57-13](https://docs-cdn.flashcat.cloud/images/png/671ae7883bbba839419e539762db99de.png) -
-怎么查看已关联的团队和用户 -请前往集成中心=>即时消息=>Microsoft Teams中的关联Teams和关联用户中查看 -
+## 五、常见问题 +--- -
-怎么取消关联的团队和用户 -暂不支持 -
+1. **团队或个人收不到消息?** + - 请前往 集成中心 → 即时消息 → **Microsoft Teams**,检查团队和用户是否已成功关联。 +2. **如何查看已关联的团队和用户?** + - 请前往 集成中心 → 即时消息 → **Microsoft Teams**,在 **关联 Teams** 和 **关联用户** 中查看。 +3. **如何取消已关联的团队和用户?** + - 暂不支持此功能。 diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.4 \345\215\225\347\202\271\347\231\273\345\275\225/Authing \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.4 \345\215\225\347\202\271\347\231\273\345\275\225/Authing \351\233\206\346\210\220\346\214\207\345\274\225.md" index b9628f4f..3d55323b 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.4 \345\215\225\347\202\271\347\231\273\345\275\225/Authing \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.4 \345\215\225\347\202\271\347\231\273\345\275\225/Authing \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -8,7 +8,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/authing-integration-guide" 快速了解 --- -[Authing](https://www.authing.cn/)是一家提供身份识别和访问控制管理的供应商,通过Authing平台,可实现以OIDC、SAML2.0或CAS协议的方式登录FlashDuty管理控制台 +[Authing](https://www.authing.cn/)是一家提供身份识别和访问控制管理的供应商,通过Authing平台,可实现以OIDC、SAML2.0或CAS协议的方式登录Flashduty管理控制台 ## 准备工作 --- @@ -27,16 +27,16 @@ url: "https://docs.flashcat.cloud/zh/flashduty/authing-integration-guide" |字段|描述| |---|---| -|App ID|对应 FlashDuty 的 Client ID| -|APP Secret|对应 FlashDuty 的 Client Secret| -|Issuer|对应 FlashDuty 的 Issuer| +|App ID|对应 Flashduty 的 Client ID| +|APP Secret|对应 Flashduty 的 Client Secret| +|Issuer|对应 Flashduty 的 Issuer| |认证地址|通过 SSO 登录时跳转的地址| ## 开始配置 OIDC 协议 --- -### 1. 打开 [FlashDuty](console.flashcat.cloud) 控制台并开启单点登录配置 +### 1. 打开 [Flashduty](console.flashcat.cloud) 控制台并开启单点登录配置 drawing @@ -68,7 +68,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/authing-integration-guide" 4.1 在 Authing 中创建用户 :::tip -FlashDuty 只支持用户邮箱关联,所以需要用邮箱创建用户 +Flashduty 只支持用户邮箱关联,所以需要用邮箱创建用户 ::: drawing @@ -88,7 +88,7 @@ FlashDuty 只支持用户邮箱关联,所以需要用邮箱创建用户 :::tip -使用在 Authing 创建的用户,登录 FlashDuty 控制台 +使用在 Authing 创建的用户,登录 Flashduty 控制台 ::: @@ -105,7 +105,7 @@ FlashDuty 只支持用户邮箱关联,所以需要用邮箱创建用户 drawing -1.2 将 FlashDuty 的单点登录协议改成 SAML 协议,并复制 acs 地址 +1.2 将 Flashduty 的单点登录协议改成 SAML 协议,并复制 acs 地址 drawing @@ -113,13 +113,13 @@ FlashDuty 只支持用户邮箱关联,所以需要用邮箱创建用户 drawing -### 2.在 FlashDuty 中配置 +### 2.在 Flashduty 中配置 2.1 下载 metadata 数据,点击链接并保存到本地 drawing -2.2 上传到 FlashDuty 的单点登录配置中并保存 +2.2 上传到 Flashduty 的单点登录配置中并保存 drawing @@ -128,13 +128,13 @@ FlashDuty 只支持用户邮箱关联,所以需要用邮箱创建用户 drawing :::tip -以上是两种方式的全部配置方式,两个平台在配置时有穿插,所以请务必小心不要遗忘关键信息,如在配置过程中有任何问题,可以联系 FlashDuty 技术支持协助 +以上是两种方式的全部配置方式,两个平台在配置时有穿插,所以请务必小心不要遗忘关键信息,如在配置过程中有任何问题,可以联系 Flashduty 技术支持协助 ::: ## 开始配置 CAS 协议 --- -### 1. 打开 [FlashDuty](console.flashcat.cloud) 控制台并开启单点登录配置 +### 1. 打开 [Flashduty](console.flashcat.cloud) 控制台并开启单点登录配置 drawing @@ -167,7 +167,7 @@ FlashDuty 只支持用户邮箱关联,所以需要用邮箱创建用户 4.1 在 Authing 中创建用户 :::tip -FlashDuty 只支持用户邮箱关联,所以需要用邮箱创建用户 +Flashduty 只支持用户邮箱关联,所以需要用邮箱创建用户 ::: drawing @@ -181,5 +181,5 @@ FlashDuty 只支持用户邮箱关联,所以需要用邮箱创建用户 drawing :::tip -使用在 Authing 创建的用户,登录 FlashDuty 控制台 +使用在 Authing 创建的用户,登录 Flashduty 控制台 ::: \ 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.4 \345\215\225\347\202\271\347\231\273\345\275\225/Keycloak \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.4 \345\215\225\347\202\271\347\231\273\345\275\225/Keycloak \351\233\206\346\210\220\346\214\207\345\274\225.md" index c005d5ce..d24b2d34 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.4 \345\215\225\347\202\271\347\231\273\345\275\225/Keycloak \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.4 \345\215\225\347\202\271\347\231\273\345\275\225/Keycloak \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -18,8 +18,8 @@ Keycloak 是一个开源的身份和访问管理解决方案,它提供了一 ## 基于 SAML2.0 协议 --- -### 1.登录 FlashDuty 控制台 -1.1 从 FlashDuty 获取 acs 地址(第2步会用到) +### 1.登录 Flashduty 控制台 +1.1 从 Flashduty 获取 acs 地址(第2步会用到) 1.2 路径:访问控制=>单点登录=>设置=>SAML2.0协议=>Flashduty服务提供商信息=>Assertion Consumer Service URL drawing @@ -32,7 +32,7 @@ Keycloak 是一个开源的身份和访问管理解决方案,它提供了一 drawing -2.4 Valid redirect URIs: 填写从 FlashDuty 获取的 acs 地址 +2.4 Valid redirect URIs: 填写从 Flashduty 获取的 acs 地址 drawing @@ -83,7 +83,7 @@ src="https://api.apifox.com/api/v1/projects/4169655/resources/437038/image-previ%20%20%3Cimg%20alt="drawing" width="600" src="https://api.apifox.com/api/v1/projects/4169655/resources/437039/image-preview" /> -4.2 上传 XML 文件到 FlashDuty 的单点登录配置中 +4.2 上传 XML 文件到 Flashduty 的单点登录配置中 drawing @@ -100,8 +100,8 @@ src="https://api.apifox.com/api/v1/projects/4169655/resources/437038/image-previ%20%20##%20%E5%9F%BA%E4%BA%8E%20OIDC%20%E5%8D%8F%E8%AE%AE%20----###%201.%E7%99%BB%E5%BD%95%20FlashDuty%20%E5%B9%B3%E5%8F%B0-1.1%20%E4%BB%8EFlashDuty%E8%8E%B7%E5%8F%96Redirect%20URL%EF%BC%88%E7%AC%AC2%E6%AD%A5%E4%BC%9A%E7%94%A8%E5%88%B0%EF%BC%89+###%201.%E7%99%BB%E5%BD%95%20Flashduty%20%E5%B9%B3%E5%8F%B0+1.1%20%E4%BB%8EFlashduty%E8%8E%B7%E5%8F%96Redirect%20URL%EF%BC%88%E7%AC%AC2%E6%AD%A5%E4%BC%9A%E7%94%A8%E5%88%B0%EF%BC%89%202.2%20%E8%B7%AF%E5%BE%84%EF%BC%9A**%E8%AE%BF%E9%97%AE%E6%8E%A7%E5%88%B6=%3E%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95=%3E%E8%AE%BE%E7%BD%AE=%3EOIDC%E5%8D%8F%E8%AE%AE=%3EFlashduty%20%E6%9C%8D%E5%8A%A1%E6%8F%90%E4%BE%9B%E5%95%86%E4%BF%A1%E6%81%AF==%3ERedirect%20URL**%20%20%3Cimg%20alt="drawing" width="600" src="https://api.apifox.com/api/v1/projects/4169655/resources/437183/image-preview" /> @@ -132,7 +132,7 @@ src="https://api.apifox.com/api/v1/projects/4169655/resources/437038/image-previ%20%20%3Cimg%20alt="drawing" width="600" src="https://api.apifox.com/api/v1/projects/4169655/resources/437187/image-preview" /> -### 4.FlashDuty 单点登录配置样式 +### 4.Flashduty 单点登录配置样式 drawing diff --git "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.4 \345\215\225\347\202\271\347\231\273\345\275\225/OpenLDAP \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.4 \345\215\225\347\202\271\347\231\273\345\275\225/OpenLDAP \351\233\206\346\210\220\346\214\207\345\274\225.md" index 44f615f8..902deb12 100644 --- "a/flashduty/zh/1. On-call/5. \351\233\206\346\210\220\345\274\225\345\257\274/8.4 \345\215\225\347\202\271\347\231\273\345\275\225/OpenLDAP \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.4 \345\215\225\347\202\271\347\231\273\345\275\225/OpenLDAP \351\233\206\346\210\220\346\214\207\345\274\225.md" @@ -129,8 +129,8 @@ docker-compose down ::: -## FlashDuty 集成 -结合上述OpenLDAP配置,FlashDuty集成信息如下图所示: +## Flashduty 集成 +结合上述OpenLDAP配置,Flashduty集成信息如下图所示: ![image.png](https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/kb/ldap-duty-config.png) 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.1 \345\221\212\350\255\246 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.1 \345\221\212\350\255\246 webhook.md" index 926a7974..d6fad4fd 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.1 \345\221\212\350\255\246 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.1 \345\221\212\350\255\246 webhook.md" @@ -109,7 +109,7 @@ curl -X POST 'https://example.com/alert/webhook?a=a' \ "data_source_name":"阿里云 SLS", "data_source_ref_id":"", "data_source_type":"aliyun-sls.alert", - "description":"测试发送到FlashDuty告警触发", + "description":"测试发送到Flashduty告警触发", "end_time":0, "event_cnt":1, "incident":{ @@ -121,7 +121,7 @@ curl -X POST 'https://example.com/alert/webhook?a=a' \ "alert_type":"sls_alert", "alert_url":"https://sls.console.aliyun.com/lognext/project/sls-api-testing/alert/alert-1683548531-071659", "aliuid":"1082109605037616", - "check":"测试发送到FlashDuty", + "check":"测试发送到Flashduty", "fire_results":"{\"_col0\":\"true\"}", "fire_results_count":"1", "project":"sls-api-testing", @@ -133,7 +133,7 @@ curl -X POST 'https://example.com/alert/webhook?a=a' \ "last_time":1683809153, "progress":"Triggered", "start_time":1683766013, - "title":"测试发送到FlashDuty告警触发", + "title":"测试发送到Flashduty告警触发", "title_rule":"$resource::$check", "updated_at":1683809170 }, @@ -152,11 +152,14 @@ curl -X POST 'https://example.com/alert/webhook?a=a' \ 1. **服务是否有响应超时时间?** - - 服务需要在 1 秒内返回响应,超过 1 秒则认为响应失败 + - 服务需要在 2 秒内返回响应,超过 2 秒则认为响应失败 2. **推送失败后是否会持续推送?** - - 目前 FlashDuty 最多推送一次,未来可能会引入重试机制,也可能因为中间链路超时导致重试,您需要做好幂等处理 + 针对特定的网络错误,会进行重试,最多重试2次: + - context deadline exceeded (排除 awaiting headers) + - i/o timeout + - eof 3. **如何保证推送顺序?** 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..26d0eac5 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 | 否 | 协作空间名称 | @@ -193,11 +193,14 @@ curl -X POST 'https://example.com/incident/webhook?a=a' \ 1. **服务是否有响应超时时间?** - - 服务需要在 1 秒内返回响应,超过 1 秒则认为响应失败 + - 服务需要在 2 秒内返回响应,超过 2 秒则认为响应失败 2. **推送失败后是否会持续推送?** - - 目前 FlashDuty 最多推送一次,未来可能会引入重试机制,也可能因为中间链路超时导致重试,您需要做好幂等处理 + 针对特定的网络错误,会进行重试,最多重试2次: + - context deadline exceeded (排除 awaiting headers) + - i/o timeout + - eof 3. **如何保证推送顺序?** 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.3 \350\207\252\345\256\232\344\271\211\346\223\215\344\275\234.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.3 \350\207\252\345\256\232\344\271\211\346\223\215\344\275\234.md" index 5c3b364e..8b7bb0e8 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.3 \350\207\252\345\256\232\344\271\211\346\223\215\344\275\234.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.3 \350\207\252\345\256\232\344\271\211\346\223\215\344\275\234.md" @@ -2,7 +2,7 @@ ## 一、创建操作 -1. 登录 FlashDuty 控制台,进入【集成中心-Webhook】 +1. 登录 Flashduty 控制台,进入【集成中心-Webhook】 2. 点击添加 自定义操作 集成 3. 配置 操作名称,此名称将以按钮的形式体现在故障详情中 4. 配置 协作空间,可以配置多个,但每个协作空间至多添加三个 自定义操作 @@ -238,7 +238,7 @@ curl -X POST 'https://example.com/incident/action?a=a' \ ### 信息丰富 -当故障发生时,回调您的服务,根据告警详情调取 Tracing、Logging、拓扑等信息,主动调用 FlashDuty Open API 来更新故障信息,比如增加标签或设定自定义字段,辅助排障。 +当故障发生时,回调您的服务,根据告警详情调取 Tracing、Logging、拓扑等信息,主动调用 Flashduty Open API 来更新故障信息,比如增加标签或设定自定义字段,辅助排障。 ### 回滚变更 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..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` 添加 **admin 和 itil** 角色。 +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 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..4dc4658f --- /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:将 ServiceDesk Plus 的 Request 同步至 Flashduty。 + - Two-way:Flashduty 和 ServiceDesk Plus 互相同步。 + +4. **触发模式**: + - 自动触发:需要配置相应的条件,Flashduty 会自动将符合条件的故障同步到 ServiceDesk Plus 中。 + - 手动触发:需要在故障详情页的更多操作中手动触发 ServiceDesk Plus 同步(该集成配置的名称为触发器名称)。 + +5. **协作空间**:选择该集成生效的协作空间。 +6. **请求模版**:选择创建 request 时使用的模版。 +7. **严重程度映射**:Flashduty 的严重程度与 ServiceDesk Plus 优先级的映射关系,默认映射关系,请参考[优先级映射](#优先级映射)。 +8. **自定义字段映射**:可以将故障中的标签或自定义字段,映射到 ServiceDesk Plus 工单中的对应文本字段,实现信息自动填充。该功能支持将常见上下文信息(如服务名、实例地址、指标名称等)同步至 ServiceDesk Plus,便于后续排查与跟踪。 + - 仅支持目标为单行文本或多行文本类型的字段。 + - 支持从故障标签(如 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/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 7307faf2..d95ce719 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,34 +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` | -| 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/2. \345\272\224\347\224\250\347\256\241\347\220\206/3. \351\253\230\347\272\247\351\205\215\347\275\256.md" "b/flashduty/zh/2. RUM/2. \345\272\224\347\224\250\347\256\241\347\220\206/3. \351\253\230\347\272\247\351\205\215\347\275\256.md" index ee51df84..9d807791 100644 --- "a/flashduty/zh/2. RUM/2. \345\272\224\347\224\250\347\256\241\347\220\206/3. \351\253\230\347\272\247\351\205\215\347\275\256.md" +++ "b/flashduty/zh/2. RUM/2. \345\272\224\347\224\250\347\256\241\347\220\206/3. \351\253\230\347\272\247\351\205\215\347\275\256.md" @@ -7,7 +7,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/rum/advanced-configuration" ## 概述 -FlashDuty 真实用户监控(RUM)提供多种高级配置选项,允许您根据需求修改收集的数据和上下文,支持以下场景: +Flashduty 真实用户监控(RUM)提供多种高级配置选项,允许您根据需求修改收集的数据和上下文,支持以下场景: - **保护敏感数据**:屏蔽个人身份信息等敏感数据。 - **关联用户会话**:将用户会话与内部用户标识关联,便于支持和问题排查。 @@ -18,13 +18,13 @@ FlashDuty 真实用户监控(RUM)提供多种高级配置选项,允许您 ## 覆盖默认 RUM 视图名称 -FlashDuty RUM 浏览器 SDK 会在用户访问新页面或单页应用(SPA)中 URL 更改时自动生成视图事件。视图名称默认从当前页面 URL 计算,并自动移除变量 ID(包含数字的路径段)。例如,`/dashboard/1234` 和 `/dashboard/9a` 会被归一化为 `/dashboard/?`。 +Flashduty RUM 浏览器 SDK 会在用户访问新页面或单页应用(SPA)中 URL 更改时自动生成视图事件。视图名称默认从当前页面 URL 计算,并自动移除变量 ID(包含数字的路径段)。例如,`/dashboard/1234` 和 `/dashboard/9a` 会被归一化为 `/dashboard/?`。 您可以通过设置 `trackViewsManually` 选项手动跟踪视图事件,并为视图指定自定义名称以及关联的服务和版本。 ### 配置手动跟踪视图 -在初始化 FlashDuty RUM SDK 时,设置 `trackViewsManually` 为 `true`: +在初始化 Flashduty RUM SDK 时,设置 `trackViewsManually` 为 `true`: ```javascript import { flashcatRum } from "@flashcatcloud/browser-rum"; @@ -119,7 +119,7 @@ flashcatRum.setViewName("Checkout"); ## 丰富和控制 RUM 数据 -FlashDuty RUM 浏览器 SDK 会自动捕获 RUM 事件并填充其主要属性。通过 `beforeSend` 回调函数,您可以在事件发送到 FlashDuty 之前对其进行拦截和修改,支持以下操作: +Flashduty RUM 浏览器 SDK 会自动捕获 RUM 事件并填充其主要属性。通过 `beforeSend` 回调函数,您可以在事件发送到 Flashduty 之前对其进行拦截和修改,支持以下操作: - **丰富事件**:添加额外的上下文属性。 - **修改事件**:更改事件内容或屏蔽敏感信息。 @@ -279,7 +279,7 @@ flashcatRum.clearUser(); ## 采样 -默认情况下,FlashDuty RUM 会收集所有会话的数据。您可以通过 `sessionSampleRate` 参数设置采样率(百分比)来减少收集的会话数量。例如,采集 90% 的会话: +默认情况下,Flashduty RUM 会收集所有会话的数据。您可以通过 `sessionSampleRate` 参数设置采样率(百分比)来减少收集的会话数量。例如,采集 90% 的会话: ```javascript flashcatRum.init({ @@ -294,9 +294,9 @@ flashcatRum.init({ ## 用户跟踪同意 -为遵守 GDPR、CCPA 等隐私法规,FlashDuty RUM 允许在初始化时设置用户跟踪同意状态(`trackingConsent`)。可选值: +为遵守 GDPR、CCPA 等隐私法规,Flashduty RUM 允许在初始化时设置用户跟踪同意状态(`trackingConsent`)。可选值: -- **"granted"**:开始收集数据并发送到 FlashDuty。 +- **"granted"**:开始收集数据并发送到 Flashduty。 - **"not-granted"**:不收集任何数据。 您可以通过 `setTrackingConsent` API 在初始化后更改同意状态: @@ -413,11 +413,11 @@ flashcatRum.init({ - 不建议在上下文中存储个人身份信息,因为 `localStorage` 数据会超出用户会话生命周期。 - 与 `trackSessionAcrossSubdomains` 选项不兼容,因为 `localStorage` 仅在同一域名下共享。 -- `localStorage` 容量限制为 5 MiB,需确保应用数据、FlashDuty 上下文及其他第三方数据总和在此范围内。 +- `localStorage` 容量限制为 5 MiB,需确保应用数据、Flashduty 上下文及其他第三方数据总和在此范围内。 ## 微前端支持 -FlashDuty RUM 支持微前端架构,通过堆栈跟踪(stacktrace)机制识别事件来源。您需要从应用文件路径和文件名中提取 `service` 和 `version` 属性。 +Flashduty RUM 支持微前端架构,通过堆栈跟踪(stacktrace)机制识别事件来源。您需要从应用文件路径和文件名中提取 `service` 和 `version` 属性。 ### 使用方法 @@ -574,5 +574,5 @@ allowedTracingUrls 匹配完整 URL(`://[:]/[?`, `<`, `,`, `(`, `)`, `[`, `]`, `\` 和空格 (Space)。 + +## 属性检索 + +您可以使用 `attribute:term` 来检索特定属性: + +| 查询语句 | 描述 | +| :---------------------- | -------------------------------- | +| browser_name:Chrome | 检索值为 `Chrome` 的浏览器 | +| view_name:\*/detail | 检索以 `/detail` 结尾的视图名称 | +| -resource_status_code:0 | 检索状态码不为 `0` 的资源 | +| os_name:"Mac OS X" | 检索值为 `"Mac OS X"` 的系统名称 | + +## 数值检索 + +对于数值类型的属性,我们可以使用比较操作符 `>` `>=` `<` `<=` 检索: + +| 查询语句 | 描述 | +| :-------------------------- | -------------------------------------- | +| session_error_count:>5 | 检索错误数大于 `5` 的会话 | +| view_time_spent:>=1.00min | 检索停留时间大于 `1min` 的视图 | +| session_view_count:[2 TO 8] | 检索视图访问量在 `2` 和 `8` 之间的会话 | + +## 复杂检索 + +对于复杂的情况,我们可以任意组合条件进行检索。 + +### 错误分析检索 + +``` +error_message:Warning\:* view_url_path:/wallet/* +``` + +检索钱包页面中发生的 Warning 类型的错误。 + +### 性能分析检索 + +``` +view_loading_time:>=5s view_url_path:/incident/detail/* +``` + +检索加载时间超过 5 秒,且 以 `/incident/detail/` 开头的视图。 + +### 错误请求分析 + +``` +-resource_status_code:200 resource_type:(fetch OR xhr) +``` + +检索请求类型为 `fetch` 或者 `xhr`,且状态码不为 `200` 的资源。 + +### 页面行为分析 + +``` +view_url_path:/incident (view_action_count:>=2 OR view_error_count:>=3) +``` + +检索 URL 为 `/incident`,且操作数大于 `2` 或者错误数大于 `3` 的视图 + +## 高级检索技巧 + +### 1. 时间范围检索 + +结合时间范围进行精确检索: + +``` +view_loading_time:>2s client_time:>1758253826081 +``` + +### 2. 用户行为检索 + +``` +action_type:click view_url_path:/checkout/* +``` + +检索结账页面的用户点击行为。 + +### 3. 设备类型检索 + +``` +device_type:mobile view_loading_time:>3s +``` + +检索移动设备上加载时间超过 3 秒的视图。 + +### 4. 地理位置检索 + +``` +geo_country:China session_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) diff --git "a/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" "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" new file mode 100644 index 00000000..e916eab3 --- /dev/null +++ "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" @@ -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/6.\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" new file mode 100644 index 00000000..60aac3c4 --- /dev/null +++ "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" @@ -0,0 +1,93 @@ +--- +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, // 默认会话重放的session采样率10% + // ... +}); +``` + +::: tip + +采样方式:在客户端 sdk 初始化 session 时生成 0-1 之间的随机数,与 `rate/100` 进行大小比较。如落在区间内,则该 session 会作为采集样本,回放数据会在 session 周期内采集与上报。 + +在 session 被采样的基础上,会话重放的采样率(sessionReplaySampleRate)会被进行二次计算和采样。 +::: + +默认配置采样率后,会在`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 以上浏览器。 + +## 下一步 + +- [查看会话回放](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/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" "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" new file mode 100644 index 00000000..63f4ddeb --- /dev/null +++ "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" @@ -0,0 +1,53 @@ +--- +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/cc05420113db42bef5a770af8656db4b.png) +:::tip +为方便快速浏览,列表中仅展示持续时间 **大于 3 秒** 的回放 +::: + +## 播放器 + +播放器支持播放、暂停、快进、快退、重播、倍速播放、全屏和 Seek 等功能,并支持快捷键操作,提升使用效率。播放过程中,时间轴上会以不同颜色的图标标记用户行为(Action)和异常(Error),便于快速概览会话中的关键事件。 +![播放器界面](https://docs-cdn.flashcat.cloud/imges/png/c43b87b7764c5b0a136b0d721eb538cf.png) + +默认情况下,播放器会自动跳过非活跃片段以提高查看效率。您也可以通过配置关闭此功能,按实际时序完整播放。 +![非活跃片段配置](https://docs-cdn.flashcat.cloud/imges/png/02db89ad438312f34fbfcc95e0aa5916.png) + +## Devtools + +通过「查看全部事件和异常」功能,可进入宽屏模式,查看会话的操作时间线和详细分析。Devtools 包含以下功能: + +- **Events Tab**:展示会话中的所有用户操作,支持以下功能: + + - 切换相对时间与绝对时间显示。 + - 按事件类型筛选(如点击、页面跳转等)。 + - 点击具体事件,播放器将自动跳转至对应时间戳。 + + ![事件时间线](https://docs-cdn.flashcat.cloud/imges/png/e903b09dd88de3837e9c88959181dba9.png) + +- **Error Tab**:列出会话中的所有异常和问题,支持点击跳转至详细错误信息,便于快速定位和分析。 + +- **Attributes Tab**:展示会话的上下文信息(如设备、浏览器、地理位置等),帮助开发者深入了解问题背景并进行精准定位。 + +## 下一步 + +- [了解隐私保护设置](https://docs.flashcat.cloud/zh/flashduty/rum/privacy-settings) diff --git "a/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" "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" new file mode 100644 index 00000000..954f9fc4 --- /dev/null +++ "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" @@ -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" +--- + +## 概述 + +为满足不同场景的隐私需求,会话重放功能内置了灵活的隐私保护策略。通过配置 `defaultPrivacyLevel` 字段,开发者可控制数据采集的敏感度,支持从显示所有文本(除密码外)到完全隐藏页面文本的多种模式,确保用户数据的安全性和合规性 + +## 隐私策略 + +会话重放功能通过 `defaultPrivacyLevel` 字段提供灵活的隐私保护配置,确保在采集用户操作数据时兼顾功能性和数据安全。以下为三种主要隐私级别配置及其效果: +:::tip +input 类型为 password 的输入为敏感信息,所有场景都不会收集。 +::: + +### 隐藏页面所有文本 + +配置 `defaultPrivacyLevel: "mask"` 将完全隐藏页面中的所有文本内容,仅保留操作行为和页面结构,适合对数据隐私要求校高的场景。 + +```js +window.FC_RUM.init({ + applicationId: "YOUR_APPLICATION_ID", + clientToken: "YOUR_CLIENT_TOKEN", + // ... + sessionReplaySampleRate: 10, // 默认采样率10% + defaultPrivacyLevel: "mask", + // ... +}); +``` + +![隐藏页面所有文本](https://docs-cdn.flashcat.cloud/imges/png/3c123bbf8fd30482da766ab009c16b0e.png) + +### 隐藏数据框内容 + +配置 `defaultPrivacyLevel: "mask-user-input"` 将隐藏用户输入框中的内容(如文本输入、选择框等),但保留页面其他文本,适用于需要保护用户输入隐私的场景。 + +```js +window.FC_RUM.init({ + applicationId: "YOUR_APPLICATION_ID", + clientToken: "YOUR_CLIENT_TOKEN", + // ... + sessionReplaySampleRate: 10, // 默认采样率10% + defaultPrivacyLevel: "mask-user-input", + // ... +}); +``` + +![隐藏数据框内容](https://docs-cdn.flashcat.cloud/imges/png/5c43c6f6196a95334a8b253fa33360c9.png) + +### 显示所有文本(除密码) + +配置 `defaultPrivacyLevel: "allow"` 允许采集页面中除密码字段外的所有文本内容,适合需要完整用户交互细节的场景。 + +```js +window.FC_RUM.init({ + applicationId: "YOUR_APPLICATION_ID", + clientToken: "YOUR_CLIENT_TOKEN", + // ... + sessionReplaySampleRate: 10, // 默认采样率10% + defaultPrivacyLevel: "allow", + // ... +}); +``` + +![显示所有文本](https://docs-cdn.flashcat.cloud/imges/png/4cae182c91c7df152cbcf86c2978f443.png) 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..edd07baf --- /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,218 @@ +--- +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 追踪** 功能 + ::: tip + 在配置的跳转链接中,系统会自动将 ${trace_id} 替换为实际的 trace_id。 + ::: + +![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 系统查看详细的请求链路 + ![2025-09-19-14-54-17](https://docs-cdn.flashcat.cloud/imges/png/6a34dfabea8e5ed490bd1ea2024581e6.png) + +### 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) + + ::: 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. 定位是前端问题还是服务问题,或是网络问题 + +## 最佳实践 + +### 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/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/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/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/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/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/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/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/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/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/8. \345\205\266\344\273\226/4. \346\225\260\346\215\256\345\256\211\345\205\250.md" similarity index 85% 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/8. \345\205\266\344\273\226/4. \346\225\260\346\215\256\345\256\211\345\205\250.md" index d0a8c99b..c4650547 100644 --- "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/8. \345\205\266\344\273\226/4. \346\225\260\346\215\256\345\256\211\345\205\250.md" @@ -7,15 +7,15 @@ url: "https://docs.flashcat.cloud/zh/flashduty/rum/data-security" ## 概述 -真实用户监控(RUM)涉及从最终用户的浏览器和移动设备收集数据。为了保护用户隐私和确保数据安全,FlashDuty 提供了多种配置选项和工具来管理数据收集、存储和访问。 +真实用户监控(RUM)涉及从最终用户的浏览器和移动设备收集数据。为了保护用户隐私和确保数据安全,Flashduty 提供了多种配置选项和工具来管理数据收集、存储和访问。 ## 隐私选项 ### 客户端令牌 -浏览器 RUM 客户端令牌用于将最终用户浏览器的数据与 FlashDuty 中的特定 RUM 应用程序匹配。它是未加密的,可以从应用程序的客户端看到。 +浏览器 RUM 客户端令牌用于将最终用户浏览器的数据与 Flashduty 中的特定 RUM 应用程序匹配。它是未加密的,可以从应用程序的客户端看到。 -虽然客户端令牌仅用于向 FlashDuty 发送数据,不会造成数据泄露风险,但我们建议采取以下良好的令牌管理措施: +虽然客户端令牌仅用于向 Flashduty 发送数据,不会造成数据泄露风险,但我们建议采取以下良好的令牌管理措施: - 定期轮换客户端令牌,确保它只被您的应用程序使用 - 在捕获 RUM 数据时自动过滤掉机器人 @@ -24,7 +24,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/rum/data-security" 使用客户端令牌过滤机器人的一种方法是认证代理。在这种方法中,初始化 RUM SDK 时使用占位符字符串替代 `clientToken`。代理知道真实的客户端令牌,但最终用户不知道。 -代理配置为在将会话数据传递给 FlashDuty 之前检查有效的用户信息,从而确认真实用户已登录并正在传输要监控的流量。接收流量时,代理验证数据是否包含占位符字符串,并在将数据转发给 FlashDuty 之前将其替换为真实的 `clientToken`。 +代理配置为在将会话数据传递给 Flashduty 之前检查有效的用户信息,从而确认真实用户已登录并正在传输要监控的流量。接收流量时,代理验证数据是否包含占位符字符串,并在将数据转发给 Flashduty 之前将其替换为真实的 `clientToken`。 ### 事件追踪 @@ -32,7 +32,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/rum/data-security" ### 通过代理服务器传输 RUM 事件 -您可以通过自己的代理服务器传输所有 RUM 事件,这样最终用户设备就永远不会直接与 FlashDuty 通信。 +您可以通过自己的代理服务器传输所有 RUM 事件,这样最终用户设备就永远不会直接与 Flashduty 通信。 ### 用户身份追踪 @@ -40,7 +40,7 @@ url: "https://docs.flashcat.cloud/zh/flashduty/rum/data-security" ### 数据保留 -配置事件捕获后,事件将存储在 FlashDuty 中。您可以决定捕获的事件和属性在 FlashDuty 中保留多长时间。 +配置事件捕获后,事件将存储在 Flashduty 中。您可以决定捕获的事件和属性在 Flashduty 中保留多长时间。 默认情况下,生产环境的数据保留期为: @@ -63,8 +63,8 @@ url: "https://docs.flashcat.cloud/zh/flashduty/rum/data-security" 初始化 RUM 应用程序后,您可以在**用户数据收集**选项卡中选择是否要包含 IP 或地理位置数据。 -禁用 IP 数据收集后,更改将立即生效。在禁用之前收集的任何事件不会删除 IP 数据。这是在后端执行的,这意味着浏览器 SDK 仍在发送数据,但 IP 地址在处理时会被 FlashDuty 后端管道省略和丢弃。 +禁用 IP 数据收集后,更改将立即生效。在禁用之前收集的任何事件不会删除 IP 数据。这是在后端执行的,这意味着浏览器 SDK 仍在发送数据,但 IP 地址在处理时会被 Flashduty 后端管道省略和丢弃。 #### 地理位置 -除了删除客户端 IP 外,您还可以选择禁用从所有未来收集的数据中收集地理位置(国家、城市、县)或 GeoIP 信息。如果取消选中**收集地理位置数据**框,更改将立即生效。在禁用之前收集的任何事件不会删除相应的地理位置数据。数据省略在后端级别完成,这意味着浏览器 SDK 仍在发送数据,但地理位置数据在处理时会被 FlashDuty 后端管道省略和丢弃。 +除了删除客户端 IP 外,您还可以选择禁用从所有未来收集的数据中收集地理位置(国家、城市、县)或 GeoIP 信息。如果取消选中**收集地理位置数据**框,更改将立即生效。在禁用之前收集的任何事件不会删除相应的地理位置数据。数据省略在后端级别完成,这意味着浏览器 SDK 仍在发送数据,但地理位置数据在处理时会被 Flashduty 后端管道省略和丢弃。 diff --git "a/flashduty/zh/3. \345\271\263\345\217\260\345\212\237\350\203\275/3. \351\205\215\347\275\256\345\215\225\347\202\271\347\231\273\345\275\225.md" "b/flashduty/zh/3. \345\271\263\345\217\260\345\212\237\350\203\275/3. \351\205\215\347\275\256\345\215\225\347\202\271\347\231\273\345\275\225.md" index f4db2c62..89a75acb 100644 --- "a/flashduty/zh/3. \345\271\263\345\217\260\345\212\237\350\203\275/3. \351\205\215\347\275\256\345\215\225\347\202\271\347\231\273\345\275\225.md" +++ "b/flashduty/zh/3. \345\271\263\345\217\260\345\212\237\350\203\275/3. \351\205\215\347\275\256\345\215\225\347\202\271\347\231\273\345\275\225.md" @@ -5,7 +5,7 @@ date: "2024-05-10T10:00:00+08:00" url: "https://docs.flashcat.cloud/zh/flashduty/single-sign-on" --- -FlashDuty 目前提供 SAML2.0、 OIDC、CAS 和 LDAP(仅私有化版本) 协议的单点登录(SSO)接入,使您能够轻松地集成到各种不同的应用和平台中,这些功能能够帮助您快速实现与其他平台共享身份信息,用户只需在一个平台登录一次,便可访问多个相关联的应用程序和服务,无需为每个应用程序单独进行身份验证,从而提高了工作效率,提高用户体验,简化登录流程,并增强安全性。 +Flashduty 目前提供 SAML2.0、 OIDC、CAS 和 LDAP(仅私有化版本) 协议的单点登录(SSO)接入,使您能够轻松地集成到各种不同的应用和平台中,这些功能能够帮助您快速实现与其他平台共享身份信息,用户只需在一个平台登录一次,便可访问多个相关联的应用程序和服务,无需为每个应用程序单独进行身份验证,从而提高了工作效率,提高用户体验,简化登录流程,并增强安全性。 ## 配置SAML协议 --- @@ -105,15 +105,15 @@ LDAP单点登录,仅 `私有化版本` 支持 :::tip -字段映射,需要和身份提供商的配置保持一致,否则会导致异常。具体的值根据描述来填充,可以参考[OpenLDAP 集成指引](https://docs.flashcat.cloud/zh/flashduty/openldap-integration-guide)进行配置,如果还有问题请联系 FlashDuty 客服。 +字段映射,需要和身份提供商的配置保持一致,否则会导致异常。具体的值根据描述来填充,可以参考[OpenLDAP 集成指引](https://docs.flashcat.cloud/zh/flashduty/openldap-integration-guide)进行配置,如果还有问题请联系 Flashduty 客服。 ::: ## 最佳实践 -通过 [Authing 配置](https://docs.flashcat.cloud/zh/flashduty/introduction) FlashDuty 的 SSO 单点登录。 -通过 [Keycloak 配置](https://docs.flashcat.cloud/zh/flashduty/introduction) FlashDuty 的 SSO 单点登录。 -通过 [Ldap 配置](https://docs.flashcat.cloud/zh/flashduty/introduction) FlashDuty 的 SSO 单点登录。 +通过 [Authing 配置](https://docs.flashcat.cloud/zh/flashduty/introduction) Flashduty 的 SSO 单点登录。 +通过 [Keycloak 配置](https://docs.flashcat.cloud/zh/flashduty/introduction) Flashduty 的 SSO 单点登录。 +通过 [Ldap 配置](https://docs.flashcat.cloud/zh/flashduty/introduction) Flashduty 的 SSO 单点登录。 ## 常见问题 --- diff --git a/flashduty/zh/index.md b/flashduty/zh/index.md index 2e5b5483..a5bc7950 100644 --- a/flashduty/zh/index.md +++ b/flashduty/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/instructions.md b/i18n_instructions.md similarity index 100% rename from instructions.md rename to i18n_instructions.md diff --git a/package.json b/package.json index b0691fe1..08e627c0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "flashduty-knowledge-base", - "version": "1.3.1", + "version": "1.3.5", "description": "flashduty knowledge base", "type": "module", "engines": { diff --git a/polish_instructions.md b/polish_instructions.md new file mode 100644 index 00000000..f93ffbff --- /dev/null +++ b/polish_instructions.md @@ -0,0 +1,132 @@ +# 角色: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 `