flashduty-knowledge-base 1.2.0 → 1.2.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/en.js +6516 -0
- package/dist/esm/zh.js +6998 -0
- package/dist/iife/en.js +6516 -0
- package/dist/iife/zh.js +6998 -0
- package/package.json +7 -5
- package/dist/en.js +0 -897
- package/dist/zh.js +0 -207
package/dist/zh.js
DELETED
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
(function(global) {
|
|
2
|
-
"use strict";
|
|
3
|
-
const CustomAlert = '---\ntitle: "标准告警事件集成指引"\ndescription: "通过标准协议推送自有系统告警事件到 Flashduty,实现告警事件自动化降噪处理。"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/custom-alert-integration-guide"\n---\n\n通过标准协议推送自有系统告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n:::tips\nFlashduty 已经适配了大部分常用告警系统的 webhook 协议,对于这些系统您应该首先使用对应的集成,更加简单方便。本集成提供了一个标准的 HTTP 接口,需要允许您开发适配。好处是您可以推送任何你想进行oncall的告警事件。\n:::\n\n<div class="hide">\n\n## 操作步骤\n---\n\n### 在 Flashduty\n\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n#### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **标准告警事件** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n</details>\n\n#### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **标准告警事件** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n\n## 一、请求描述\n---\n\n### 请求方式\n\n<div class="md-block">\n\nPOST, Content-Type:"application/json"\n\n</div>\n\n### 请求参数:\n\n<div class="md-block">\n\n#### Headers:\n字段|必含|类型|释义\n:-:|:-:|:-:|:---\n| Content-Type | 是 | string | 固定值:`application/json`。\n\n#### Query Strings:\n字段|必含|类型|释义\n:-:|:-:|:-:|:---\n| integration_key | 是 | string | 集成秘钥,用于访问控制。添加集成后获得。\n\n#### Payload:\n\n字段|必含|类型|释义\n:-:|:-:|:-:|:---\n| title_rule | 是 | string | 告警标题,不超过`512`个字符,超出后将自动截断。<br><br>支持根据告警内容动态生成标题,生成规则请参考 [定制故障标题](https://docs.flashcat.cloud/zh/flashduty/customize-incident-attrs)。\n| event_status | 是 | string | 告警状态。<br><br>枚举值(`首字母大写`):*Critical*:严重,*Warning*:警告,*Info*:提醒,*Ok*:恢复。<br><br>当指定为Ok时,意味着对告警进行自动恢复。\n| alert_key | 否 | string | 告警标识,用于对已经存在的告警进行更新或自动恢复。<br><br>您可以自定义此值,但不可超过`255`个字符。您也可以依赖系统自动生成,该值会在响应中返回。<br><br>如果您上报的是恢复事件,则此值必须存在。 \n| description | 否 | string | 告警描述,不超过`2048`个字符,超出后将自动截断。\n| labels | 否 | map | 告警标签集合,key 为标签名称,value 为标签值:<br><br>1. 标签的 key 和 value 均为 string 类型,区分大小写。<br>2. 标签的 key 不要超过`128`个字符,遵循Prometheus标签命名规范。value 不超过`2048`个字符,超出后将自动截断。<br>3. 至多传入`50`个标签。`标签内容参考`[最佳实践](#最佳实践)。<br><br>示例:"resource": "171.26.23.22", "check": "api latency > 500ms"\n \n</div>\n\n### 请求响应\n\n字段名称|必选|类型|描述\n:-:|:-:|:-:|:---\nrequest_id|是|string|请求 ID,用于链路追踪\nerror |否|[Error](#Error)|错误描述,仅当出现错误时返回\ndata |否|[Data](#Data)| 上报信息\n\n<span id="Data"></span>\nData:\n\n| 字段名称 | 必选 | 类型 | 描述 |\n:-:|:-:|:-:|:---\n| alert_key| 否 | string | 告警标识,可依据此值上报恢复事件。如果您上报事件时,已经指定了 alert_key,则此值不变。否则,系统自动生成。 |\n\n<span id="Error"></span>\nError:\n\n| 字段名称 | 必选 | 类型 | 描述 |\n:-:|:-:|:-:|:---\n| code | 是 | string | 错误码,枚举值参考 [Code](#Code) |\n| message | 否 | string | 错误描述 |\n\n<span id="Code"></span>\nCode:\n\n| 错误码 | HTTP Status | 描述 |\n| :-:|:-:| ------------------ |\n| InvalidParameter | 400 | 参数错误 |\n| InvalidContentType | 400 | Conten-Type 不支持 |\n| MethodNotAllowed | 400 | HTTP Method 不支持 |\n| Unauthorized | 401 | 登录认证未通过 |\n| AccessDenied | 403 | 权限认证未通过 |\n| RequestTooFrequently | 429 | 请求过于频繁 |\n| RouteNotFound | 404 | 请求 Method+Path 未匹配 |\n| ResourceNotFound | 400 | 账户未购买资源,先前往费用中心线操作下单|\n| NoLicense | 400 | 账户无充足订阅 License,先前往费用中心升级或购买订阅\n| InternalError | 500 | 内部或未知错误 |\n\n\n### 二、请求示例\n---\n\n请求:\n\n```\ncurl -X POST \'{api_host}/event/push/alert/standard?integration_key={integration_key}\' \\\n-H \'Content-Type: application/json\' \\\n-d \'{\n "event_status": "Warning",\n "title_rule": "cpu idle low than 20%",\n "labels": {\n "service": "engine",\n "cluster":"nj",\n "resource":"es.nj.01",\n "check":"cpu.idle<20%",\n "metric":"node_cpu_seconds_total"\n }\n}\' -v\n\n```\n\n成功响应:\n\n```\n{\n "request_id": "0ace00116215ab4ca0ec5244b8fc54b0",\n "data": {\n "alert_key": "9qJ798NJoXS4UMVB5SHsNj"\n }\n}\n```\n\n失败响应:\n\n```\n{\n "request_id": "0ace00116215abc0ba4e52449bd305b0",\n "error": {\n "code": "InvalidParameter",\n "message": "integration_key is not a valid one"\n }\n}\n```\n\n## 三、最佳实践 <span id="最佳实践"></span>\n---\n\n1. 当告警状态发生变更时,向 Flashduty发送事件\n2. 当告警恢复时,发送一个 status 为 Ok 的事件,来关闭告警。否则,告警将一直处于打开状态。如果您的告警系统没有恢复事件,建议您手动发送恢复事件\n3. 标签是事件的描述,应尽量丰富标签内容(发送时指定,或者通过配置 enrichment 规则来生成新的标签),比如:\n - 告警的发生来源,如 host,cluster,check 或 metric 等\n - 告警的归属信息,如 team,owner 等\n - 告警的类别信息,如 class(api,db,net)\n\n\n## 四、常见问题\n---\n\n<details>\n <summary>为什么在Flashduty没有收到告警?</summary>\n\n #### 在 Flashduty\n \n 1. 查看集成是否展示了 **最新事件时间**?如果没有,代表Flashduty没有收到推送,直接优先您的系统。\n 2. 如果您使用的是 **共享集成**,优先确认您是否配置了 **路由规则**。不设置路由规则,系统会直接拒绝新的推送,因为没有协作空间可以承接您的告警。这种情况下,直接配置路由规则到您期望的空间即可。\n\n #### 在您的系统\n\n 1. 确认您请求的地址,和集成详情中的地址完全一致。\n 2. 确认您的服务可以访问外网 api.flashcat.cloud 域名。如果不可以,您首先需要为 server 开通外网,或单独针对 Flashduty 的域名开通外网访问。\n 3. 打印 Flashduty 服务的响应结果,查看是否有明确信息。\n\n 如果以上步骤执行之后,仍然没有查询到问题根因,请 **携带请求响应中的 request_id** 联系我们。\n \n</details>\n\n<details>\n <summary>为什么推送请求成功?但是没有看到新告警或故障产生?</summary>\n\n Flashduty 使用2层降噪机制:\n\n 1. 首先对告警event进行去重检查,如果您推送的event和之前推送的event内容完全一致,则新的event将被直接丢弃。\n 2. 如果新的event的状态和描述和其对应的告警的上一条event的状态、标题、描述均一致,则新的event将被直接丢弃,同时更新归属告警属性。\n 3. 新的event可能由于匹配到排除、丢弃、抑制或静默规则,而被丢弃。\n 4. 当新的event触发了新告警,则系统会进入第二层降噪检查,判断新告警是否可以被合并到某个活跃的故障中,如果可以,则只会并入已有的故障,而不会产生新故障。\n\n 更多内容请参考 [告警降噪](https://docs.flashcat.cloud/zh/flashduty/what-is-noise-reduction)。\n</details>\n\n';
|
|
4
|
-
const Email = '---\ntitle: "邮件Email集成"\ndescription: "在 Flashduty 生成唯一的邮件地址,通过邮件的方式将告警的发生与恢复同步到 Flashduty"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/email-integration-guide"\n---\n\n在 Flashduty 生成唯一的邮件地址,通过邮件的方式将告警的发生与恢复同步到 Flashduty。\n\n<div class="hide">\n\n## 操作步骤\n---\n\n### 创建邮件集成\n\n您可通过以下2种方式,获取一个邮件地址,任选其一即可。\n\n#### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **邮件 Email** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **邮件地址**,复制备用,完成。\n \n</details>\n\n#### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **邮件 Email** 集成:\n - **集成名称**:为当前集成定义一个名称。\n - **邮件地址**:为邮件设定一个方便记忆的前缀,需要保证在账户下唯一。\n - **推送模式**:选择邮件在何种情况下触发或恢复告警。\n 3. 复制当前页面的 **邮件地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n### 定制邮件集成\n\n#### 邮件地址\n\n默认系统会帮您生成一个唯一的邮件地址。您可以进行修改,但需要注意,**邮件前缀只能由字母和数字组成**,且要在您的账户下保持唯一。\n\n#### 推送模式\n\n默认系统总是为每一封邮件创建新的告警,但您可以切换模式为:\n\n1. **根据邮件标题触发或更新告警**:该模式下,每当接收到新邮件,系统会根据邮件标题查找未关闭告警。如果找到告警则进行更新,否则系统会触发一条新的告警。\n2. **根据规则触发或关闭告警**:该模式下,每当接收到新邮件,系统会根据您的规则进行邮件匹配,匹配到的邮件按照规则去触发新告警或关闭已有告警。\n\n - 您至少需要填写一条**触发**规则;\n - 您必须设置 Alert Key 的正则提取规则。系统使用该字段来查找历史告警,以便对其进行更新或关闭;**如果正则提取失败,系统将使用邮件标题来生成 Alert Key**,以确保告警不会因为配置错误而丢失;\n - 您可以选择,当所有的规则都不匹配时,是否丢弃邮件。\n\n 配置示例:\n\n - 接收所有邮件,当邮件内容中包含 **RESOVED** 字样时,关闭告警,否则触发新告警;\n - Alert Key 从邮件标题中提取,规则为 **/(.\\*)/**。\n\n <img src="https://download.flashcat.cloud/flashduty/integration/email/send-mode.png" alt="drawing" width="800"/>\n\n### 注意事项\n\n1. 如果邮件消息体大于 5MB,系统会直接拒绝接收。\n2. 如果邮件文字内容长度超过 32KB,系统会进行截断,并在故障详情中增加标签提示:\n\n```\nbody_cut = true\n```\n\n3. 如果邮件中包含附件,系统会直接丢弃附件,并在故障详情中增加标签提示:\n\n```\nattachment_stripped = true\n```\n\n4. 邮件触发的新告警中,**标题即邮件标题,描述即邮件内容**。\n\n5. 如果您修改了账户域名,此邮件地址也会变更,务必记得更新推送地址。\n\n\n\n## 严重程度映射关系\n---\n\n当前邮件集成推送到 Flashduty 的告警等级均为Warning。\n\n';
|
|
5
|
-
const N9e = '---\ntitle: "夜莺/FlahCat集成"\ndescription: "通过 webhook 的方式将夜莺(Nightingale / n9e)或 Flashcat 告警事件推送到 Flashduty。当告警触发时,向 Flashduty 发送触发事件,当告警恢复时,向 Flashduty 发送恢复事件"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/nightingale-integration-guide"\n---\n\n通过 webhook 的方式将夜莺(Nightingale / n9e)或 Flashcat 告警事件推送到 Flashduty。当告警触发时,向 Flashduty 发送触发事件,当告警恢复时,向 Flashduty 发送恢复事件。\n\n<div class="hide">\n\n## 使用限制\n---\n\n### 在夜莺\n\n- 您必须拥有修改 **系统配置=>全局通知** 或 **告警管理=>告警规则** 的权限。\n- 您的夜莺 server 必须能够访问域名 api.flascat.cloud,将告警推送到外网。\n\n## 支持版本\n---\n\n本文适配 **夜莺 V5 和 V6** 版本。\n\n## 操作步骤\n---\n\n### 在 Flashduty\n\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n#### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **夜莺/Flashcat** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n 5. (可选)点击生成的卡片,点击 **编辑** 按钮,选择 **控制台地址**,输入夜莺控制台地址(仅域名部分),Flashduty 会为新告警生成一个夜莺详情跳转链接。\n \n</details>\n\n#### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **夜莺/Flashcat** 集成:\n - **集成名称**:为当前集成定义一个名称。\n - **控制台地址**:(可选)输入夜莺控制台地址(仅域名部分),Flashduty 会为新告警生成一个夜莺详情跳转链接。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n## 在夜莺/Flashcat中两种配置方式任选其一\n\n#### 方式 1:按策略配置\n\n<div class="md-block">\n \n批量选择告警规则并配置 webhook。\n\n1. 登录您的 n9e 控制台,选择 告警管理 > 告警规则,进入告警规则列表页面\n2. 批量选中您期望导入的告警规则,右上角选择批量更新告警规则\n3. 在弹窗中选择“回调地址”字段,新增输入框中填写集成的推送地址,如下图所示:\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/saas-n9e-rule.png" />\n\n4. 回到集成列表,如果展示了最新事件时间,说明配置成功且收到事件\n5. 完成\n\n</div>\n\n#### 方式 2:全局配置\n\n<div class="md-block">\n夜莺支持在页面和配置文件中配置全局 webhook 地址,推送所有的告警事件。以下两种方式二选一即可。\n\n##### V6 及以上版本\n\n1. 登录您的 n9e 控制台\n2. 进入`系统配置-通知设置-回调地址`页面\n3. 如下图所示,启用一个新的 webhook,`URL` 部分填写集成的推送地址\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/n9e/n9e_v6_webhook.png" />\n\n4. 完成\n\n##### V5.4~5.15 版本\n\n1. 登录您的 n9e server 实例\n2. 找到并打开配置文件,一般为 etc/server.conf\n3. 更改 Alerting 配置部分,写入 Webhook 配置,如下\n\n ```receiver config\n [Alerting.Webhook]\n Enable = true\n Url = "{api_host}/event/push/alert/n9e?integration_key=$integration_key"\n BasicAuthUser = ""\n BasicAuthPass = ""\n Timeout = "5s"\n Headers = ["Content-Type", "application/json", "X-From", "N9E"]\n ```\n\n 您需要替换 Url 对应的参数值为集成的推送地址。\n\n4. 保存配置文件\n5. 重启 n9e server,使配置生效\n6. 回到集成列表,如果展示了最新事件时间,说明配置成功且收到事件\n7. 完成\n\n</div>\n\n## 严重程度映射关系\n---\n\n夜莺/Flashcat 到 Flashduty 告警等级映射关系:\n\n| n9e | Flashduty | 状态 |\n| --- | -------- | ---- |\n| 1 | Critical | 严重 |\n| 2 | Warning | 警告 |\n| 3 | Info | 提醒 |\n\n## 常见问题\n---\n\n<details>\n <summary>为什么在Flashduty没有收到告警?</summary>\n\n #### 在 Flashduty\n \n 1. 查看集成是否展示了 **最新事件时间**?如果没有,代表Flashduty没有收到推送,直接优先排查夜莺部分。\n 2. 如果您使用的是 **共享集成**,优先确认您是否配置了 **路由规则**。不设置路由规则,系统会直接拒绝新的推送,因为没有协作空间可以承接您的告警。这种情况下,直接配置路由规则到您期望的空间即可。\n\n #### 在夜莺/Flashcat\n\n 1. 首先确认夜莺测是否产生了新的告警:前往 **告警管理=>历史告警**,查看配置完 webhook 之后,是否产生了新的告警,注意新的告警状态必须是 **Triggered**。如没有产生新告警,请继续等待新告警触发后重新验证。\n 2. 找到告警之后,进到告警详情,查看 **回调地址** 部分。验证真实回调地址是否和集成推送地址完全匹配。如果不匹配,请修改 **告警规则**后重新验证。\n 3. 如果匹配,则需要登录到夜莺 server 并确认其可以访问外网 api.flashcat.cloud 域名。如果不可以,您首先需要为 server 开通外网,或单独针对 Flashduty 的域名开通外网访问。\n 4. 如果网络无问题,您需要继续排查server,查找是否存在相关的错误日志。\n\n\n 如果以上步骤执行之后,仍然没有查询到问题根因,请直接联系我们。\n \n</details>\n\n';
|
|
6
|
-
const Prometheus = "---\ntitle: \"Prometheus告警集成\"\ndescription: \"通过 webhook 的方式将 Prometheus 告警事件通过 AlertManager 推送到 Flashduty。当告警触发时,向 Flashduty 发送触发事件,当告警恢复时,向 Flashduty 发送恢复事件。\"\ndate: \"2024-05-11T10:00:00+08:00\"\nurl: \"https://docs.flashcat.cloud/zh/flashduty/prometheus-integration-guide\"\n---\n\n通过 webhook 的方式将 Prometheus 告警事件通过 AlertManager 推送到 Flashduty。当告警触发时,向 Flashduty 发送触发事件,当告警恢复时,向 Flashduty 发送恢复事件。\n\n<div class=\"hide\">\n\n## 使用限制\n---\n\n### 在 AlertManager\n\n- 您必须拥有修改 AlertManager 配置文件的权限。\n- 您的 AlertManager server 必须能够访问域名 api.flascat.cloud,将告警推送到外网。\n\n## 支持版本\n---\n\n本文适配 **Alertmanager 0.16.0 及以上** 版本。\n\n## 操作步骤\n---\n\n### 在 Flashduty\n\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n#### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **Prometheus** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n</details>\n\n#### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 ** Prometheus** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n### 在 AlertManager\n\n#### 步骤 1:配置 Alertmanager\n\n<div class=\"md-block\">\n\n1. 登录您的 Alertmanager 实例\n2. 找到并打开配置文件,一般为 Alertmanager 部署根目录下的 alertmanager.yml\n3. 在 receivers 配置部分,增加一个 Flashduty webhook 类型的 receiver,如下\n\n ```\n receivers:\n - name: 'flashcat'\n webhook_configs:\n - url: '<您的集成推送地址>'\n send_resolved: true\n\n ```\n\n 您需要替换 url 对应的参数值为集成的推送地址,注意 query string 参数部分需要携带 integration_key。\n\n 如果您需要通过代理请求 Flashduty,可以额外设置 http_config 的 proxy_url 参数为代理地址:\n \n ```\n receivers:\n - name: 'flashcat'\n webhook_configs:\n - url: '<您的集成推送地址>'\n send_resolved: true\n http_config:\n proxy_url: 'http://proxyserver:port'\n\n ```\n\n4. 在 route 配置部分,更改默认 route 指定 receiver 为刚才配置的 webhook,如下:\n\n ```route config\n route:\n receiver: 'flashcat'\n ```\n\n 如果希望不影响之前的推送渠道,您也可以把 receiver 添加到 route 的子路由中\n \n ```route config\n route:\n receiver: 'feishu'\n - routes:\n receiver: 'flashcat'\n ```\n\n\n5. 保存配置文件\n6. 通过重新加载配置文件(向进程发送 SIGHUP 信号,或 POST 请求/-/reload api),使更改生效\n7. 完成\n\n</div>\n\n#### 步骤 2:配置 Timestamp\n\n默认情况下,系统使用当前时间作为事件触发时间。如果您希望自定义时间,您可以额外设定一个 timestamp 字段来标识每一次告警发生的准确时间。\n\n<div class=\"md-block\">\n\n1. 登录您的 Prometheus Server 实例\n2. 打开告警规则相关配置文件\n3. 对于每一条告警规则,更改 annotations 部分,添加 timestamp 字段,如下:\n\n ```\n annotations:\n timestamp: '{{ with query \"time()\" }}{{ . | first | value }}{{ end }}'\n ...\n ```\n\n4. 保存配置文件\n5. 通过重新加载配置文件(向进程发送 SIGHUP 信号,或 POST 请求/-/reload api),使更改生效\n6. 完成\n\n</div>\n\n## 严重程度映射关系\n---\n\n系统依次提取告警事件标签中的 `severity`、`priority`和 `level`,对应值将作为 Prometheus 自身的告警等级,如果没有提取到,系统自动设置 Prometheus 告警等级为 `Warning`。\n\nPromtheus 到 Flashduty 告警等级映射关系:\n\n| Prometheus | Flashduty | 状态 |\n| ------------ | -------- | ---- |\n| critical | Critical | 严重 |\n| warning | Warning | 警告 |\n| warn | Warning | 警告 |\n| info | Info | 提醒 |\n| acknowledged | Info | 提醒 |\n| unknown | Info | 提醒 |\n| unk | Info | 提醒 |\n| ok | Ok | 恢复 |\n\n## 常见问题\n---\n\n<details>\n <summary>为什么在Flashduty没有收到告警?</summary>\n\n #### 在 Flashduty\n \n 1. 查看集成是否展示了 **最新事件时间**?如果没有,代表Flashduty没有收到推送,直接优先排查 AlertManager 部分。\n 2. 如果您使用的是 **共享集成**,优先确认您是否配置了 **路由规则**。不设置路由规则,系统会直接拒绝新的推送,因为没有协作空间可以承接您的告警。这种情况下,直接配置路由规则到您期望的空间即可。\n\n #### 在 AlertManager\n\n 1. 首先确认 AlertManager 测是否产生了新的告警。如没有产生新告警,请继续等待新告警触发后重新验证。\n 2. 打开 AlertManager 配置文件,如果您设置了子路由,请确保您的路由设置正确(比如前边的路由设置了 continue,AlertManager 会跳过匹配后续子路由。我们推荐您永远仅设置一个默认路由到 Flashduty)。同时验证,目标回调地址是否和集成推送地址完全匹配。如果不匹配,请修改 **告警规则**后重新验证。\n 3. 如果匹配,请继续确认 AlertManager 实例可以访问外网 api.flashcat.cloud 域名。如果不可以,您首先需要为其开通外网,或单独针对 Flashduty 的域名开通外网访问。\n 4. 如果网络无问题,您需要继续排查 AlertManager,查找是否存在相关的错误日志。\n\n\n 如果以上步骤执行之后,仍然没有查询到问题根因,请直接联系我们。\n \n</details>\n\n\n\n";
|
|
7
|
-
const Grafana = '---\ntitle: "Grafana集成"\ndescription: "通过 webhook 的方式同步 Grafana 告警事件到 Flashduty,实现告警事件自动化降噪处理。"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/grafana-integration-guide"\n---\n\n通过 webhook 的方式同步 Grafana 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **Grafana** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **Grafana** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n## 在 Grafana \n---\nGrafana V4~V8 版本默认开启 Legacy Alerting 功能,在 V9 之后默认开启 Grafana Alerting 功能,功能区分以及启用方式请参考[官方文档](https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/opt-in/#opt-in-to-grafana-alerting),请您根据您部署的版本进行集成,步骤如下。\n\n### Legacy Alerting\n\n<div class="md-block">\n\n1. 打开您的 Grafana 控制台,选择 Alerting > Notification channels 页面\n2. 点击 Add Channel,打开配置 Channel 弹窗页面\n3. 配置名称,Type 选择 webhook,Url 填写集成的推送地址, Method 选择 POST,如下图所示:\n\n<img src="https://download.flashcat.cloud/grafana-legacy-alerting.png" alt="drawing" width="600"/>\n\n4. 保存,回到集成列表,等待产生告警后,如果展示了最新事件时间,说明配置成功且收到事件\n5. 完成\n\n</div>\n\n### Grafana Alerting\n\n<div class="md-block">\n\n1. 打开您的 Grafana 控制台,选择 Alerting > Contact points 页面\n2. 点击 New contact point,打开配置弹窗页面\n3. 配置名称,Type 选择 webhook,Url 填写集成的推送地址, Method 选择 POST,如下图所示:\n\n<img src="https://download.flashcat.cloud/grafana-contact-point.png" alt="drawing" width="600"/>\n\n4. 打开 Notification policies 页面,根据情况编辑或新增 policy,选择上一步创建的 contact point 作为发送渠道,如下图所示:\n\n<img src="https://download.flashcat.cloud/grafana-notification-policy.png" alt="drawing" width="600"/>\n\n5. 保存,回到集成列表,等待产生告警后,如果展示了最新事件时间,说明配置成功且收到事件\n6. 默认告警等级为 warning,如果需要自定义,可以在告警详情页面配置 severity 标签(枚举参考下文状态对照),具体操作如下图所示:\n\n<img src="https://download.flashcat.cloud/grafana-alert-rule.png" alt="drawing" width="600"/>\n\n7. 完成\n\n## 状态对照\n---\n<div class="md-block">\n \nLegacy Alerting 到 Flashduty 告警等级映射关系:\n\n| Legacy Alerting | Flashduty | 状态 |\n| --------------- | -------- | ---- |\n| alerting | Warning | 警告 |\n| no_data | Critical | 严重 |\n| ok | Ok | 恢复 |\n\nGrafana Alerting 到 Flashduty 告警等级映射关系:\n\n系统依次提取告警事件标签中的 `severity`、`priority`和 `level`,对应值将作为 Prometheus 自身的告警等级,如果没有提取到,系统自动设置 Prometheus 告警等级为 `warning`。\n\n| Grafana Alerting | Flashduty | 状态 |\n| ---------------- | -------- | ---- |\n| critical | Critical | 严重 |\n| warning | Warning | 警告 |\n| warn | Warning | 警告 |\n| info | Info | 提醒 |\n| acknowledged | Info | 提醒 |\n| unknown | Info | 提醒 |\n| unk | Info | 提醒 |\n| ok | Ok | 恢复 |\n\n</div>\n';
|
|
8
|
-
const Zabbix = '---\ntitle: "Zabbix集成"\ndescription: "通过 webhook 的方式同步 Zabbix 告警事件到 Flashduty(支持 Zabbix 3.x ~ 6.x 版本,不同版本配置有差异),实现告警事件自动化降噪处理"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/zabbix-integration-guide"\n---\n\n通过 webhook 的方式同步 Zabbix 告警事件到 Flashduty(支持 Zabbix 3.x ~ 6.x 版本,不同版本配置有差异),实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **Zabbix** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **Zabbix** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n## 在 Zabbix \n---\n\n- [7.x 版本](#v7)\n- [5.x~6.x 版本](#v5)\n- [3.x~4.x 版本](#v4)\n\n## 一、Zabbix 配置\n\n<span id="v7"></span>\n\n### 7.x 版本\n\n#### 步骤 1:定义快猫星云 media type\n<div class="md-block">\n\n1. media type 是 Zabbix 中用于发送通知和告警的传输通道。进入终端,通过以下命令,下载完整配置\n\n```\nwget --header="Referer: https://console.flashcat.cloud" https://download.flashcat.cloud/flashduty/integration/zabbix/zbx_mediatype_flashcat_v7.yml\n\n```\n2. 登录 Zabbix 控制台,选择 `Alert > Media Types`,点击右上角 Import 按钮,进入编辑页面,选择上边下载的配置文件,点击 Import 按钮完成导入\n3. 回到 Media Types 页面,可以看到已经导入的 media type。点击名称,进入编辑页面,补全 URL、zabbix_url 以及 HTTPProxy 等内容:\n\n - `URL`:webhook 推送请求地址,复制集成的推送地址即可\n - `zabbix_url`:Zabbix 控制台地址,直接复制即可(如果您的页面配置了 tomcat/nginx 转发路径,请同时携带),系统会在路径后拼接 trigger_id 等参数来生成告警详情页面连接\n - `HTTPProxy`:如果您的 Zabbix Server 不能直接访问快猫星云服务,可以将该参数设置为一个代理地址\n\n <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/zabbix-2.png" />\n\n4. 点击 Update,保存配置\n\n</div>\n\n#### 步骤 2:关联 media type 至 user\n\n<div class="md-block">\n\nmedia type 必须关联至某个 user 才能发送事件。user 至少拥有对 host 的 read 权限。建议直接关联到 Admin 用户。以 Admin 用户为例:\n\n1. 登录 Zabbix 控制台,选择 `Users > Users`,选择 Admin 用户,选择 media,选择 Add,进入编辑窗口:\n\n- Type: 选择以上创建的快猫星云 media type\n- Send To:填写 FlashDuty\n- 其他配置使用默认配置,保持不变\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/zabbix-3.png" />\n\n2. 点击 Add 按钮,退出添加 media 窗口\n3. 点击 Update 按钮,退出编辑 user 页面\n\n</div>\n\n#### 步骤 3:创建 action\n\n<div class="md-block">\n\n发送通知是 Zabbix 中动作(actions)执行的操作之一。因此,为了建立一个通知,登录 Zabbix 控制台,选择 `Alerts > Actions > Trigger actions`,然后:\n\n1. 点击 `Create action`,进入 action 编辑页面\n\n- Name:填写为“Send To FlashDuty”\n\n2. 选择 `Operations`,分别添加三种场景的通知发送配置:\n\n- 在 Operations 配置项,点击 Add 按钮,进入配置窗口\n- Send to users:选择以上新建或配置的 user\n- Send only to:选择快猫星云 media type\n- 其他配置保持默认\n- 点击 Add 按钮,完成该配置项配置\n- 重复以上步骤,完成对 `Recovery operations` 和 `Update operations` 的配置\n\n <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/zabbix-5.png" />\n <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/zabbix-4.png" />\n\n\n</div>\n\n#### 步骤 4:发送事件到快猫星云\n\n<div class="md-block">\n\n登录 Zabbix 控制台,选择 `Monitoring > Problems`,查看最新的告警列表。\n\n1. 点击 Actions,弹窗内可以看到消息通知结果\n2. 找到快猫星云对应日志,如果 Status 为 `Sent`,代表通知成功。否则根据提示排查原因\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/zabbix-6.png" />\n\n3. 回到集成列表,如果展示了最新事件时间,说明配置成功且收到事件\n4. 完成\n\n</div>\n\n\n<span id="v5"></span>\n\n### 5.x~6.x 版本\n\n#### 步骤 1:定义快猫星云 media type\n\n<div class="md-block">\n \n1. media type 是 Zabbix 中用于发送通知和告警的传输通道。进入终端,通过以下命令,下载完整配置\n\n```\n// 5.x版本 XML配置:\nwget --header="Referer: https://console.flashcat.cloud" https://download.flashcat.cloud/flashduty/integration/zabbix/zbx_mediatype_flashcat_v5.xml\n\n// 6.x 版本 YAML 配置:\nwget --header="Referer: https://console.flashcat.cloud" https://download.flashcat.cloud/flashduty/integration/zabbix/zbx_mediatype_flashcat_v6.yml\n```\n\n2. 登录 Zabbix 控制台,选择 `Administration > Media Types`,点击右上角 Import 按钮,进入编辑页面,选择上边下载的配置文件,点击 Import 按钮完成导入\n3. 回到 Media Types 页面,可以看到已经导入的 media type。点击名称,进入编辑页面,补全 URL、zabbix_url 以及 HTTPProxy 等内容:\n\n - `URL`:webhook 推送请求地址,复制集成的推送地址即可\n - `zabbix_url`:Zabbix 控制台地址,直接复制即可(如果您的页面配置了 tomcat/nginx 转发路径,请同时携带),系统会在路径后拼接 trigger_id 等参数来生成告警详情页面连接\n - `HTTPProxy`:如果您的 Zabbix Server 不能直接访问快猫星云服务,可以将该参数设置为一个代理地址\n\n <img alt="drawing" width="600" src="https://download.flashcat.cloud/media.png" />\n\n4. 点击 Update,保存配置\n\n</div>\n\n#### 步骤 2:关联 media type 至 user\n\n<div class="md-block">\n\nmedia type 必须关联至某个 user 才能发送事件。user 至少拥有对 host 的 read 权限。建议直接关联到 Admin 用户。以 Admin 用户为例:\n\n1. 登录 Zabbix 控制台,选择 `Administration > Users`,选择 Admin 用户,选择 media,选择 Add,进入编辑窗口:\n\n- Type: 选择以上创建的快猫星云 media type\n- Send To:填写 N/A\n- 其他配置使用默认配置,保持不变\n\n <img alt="drawing" width="600" src="https://download.flashcat.cloud/user.png" />\n\n2. 点击 Add 按钮,退出添加 media 窗口\n3. 点击 Update 按钮,退出编辑 user 页面\n\n</div>\n\n#### 步骤 3:创建 action\n\n<div class="md-block">\n\n发送通知是 Zabbix 中动作(actions)执行的操作之一。因此,为了建立一个通知,登录 Zabbix 控制台,选择 `Configuration > Actions`,然后:\n\n1. 点击 `Create action`,进入 action 编辑页面\n\n- Name:填写为“Send To FlashDuty”\n\n2. 选择 `Operations`,分别添加三种场景的通知发送配置:\n\n- 在 Operations 配置项,点击 Add 按钮,进入配置窗口\n- Send to users:选择以上新建或配置的 user\n- Send only to:选择快猫星云 media type\n- 其他配置保持默认\n- 点击 Add 按钮,完成该配置项配置\n- 重复以上步骤,完成对 `Recovery operations` 和 `Update operations` 的配置\n\n <img alt="drawing" width="600" src="https://download.flashcat.cloud/action-1.png" />\n <img alt="drawing" width="600" src="https://download.flashcat.cloud/action-2.png" />\n\n</div>\n\n#### 步骤 4:发送事件到快猫星云\n\n<div class="md-block">\n\n登录 Zabbix 控制台,选择 `Monitoring > Problems`,查看最新的告警列表。\n\n1. 点击 Actions,弹窗内可以看到消息通知结果\n2. 找到快猫星云对应日志,如果 Status 为 `Sent`,代表通知成功。否则根据提示排查原因\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/problem.png" />\n\n3. 回到集成列表,如果展示了最新事件时间,说明配置成功且收到事件\n4. 完成\n\n</div>\n\n<span id="v4"></span>\n\n### 3.x~4.x 版本\n\n#### 步骤 1:定义快猫星云 media type\n\n<div class="md-block">\n\n1. 登录 Zabbix 控制台,选择 `Administration > Media Types`,点击右上角 `Create media type` 按钮,进入编辑页面\n2. 在编辑页面,Type 选择`Script`,Parameter 依次填写以下内容(不要调整顺序,没有值的也要留空,脚本按顺序获取参数值):\n\n- `{ALERT.SUBJECT}`:告警标题,保持在第一个参数\n- `{ALERT.MESSAGE}`:告警信息,保持在第二个参数\n\n - `FlashDuty webhook 推送请求地址`,复制集成的推送地址即可,保持在第三个参数\n - `Zabbix 控制台地址`,直接复制即可(如果您的页面配置了 tomcat/nginx 转发路径,请同时携带),用于生成告警详情页面连接。如果没有空着即可,保持在第四个参数\n - `HTTPProxy`:如果您的 Zabbix Server 不能直接访问快猫星云服务,可以将该参数设置为一个代理地址。如果没有空着即可,保持在第五个参数\n\n <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/zabbix/v4_create_fd_media_type.jpg"/>\n\n3. `Script name` 填写 `send-to-flashduty.sh`\n4. 点击 Update,保存配置\n5. 登录 Zabbix server 所在服务器,执行以下命令:\n\n```\n\n#1. 进入告警脚本加载目录(具体地址配置在 Zabbix Server 配置文件中 `AlertScriptsPath` 变量,一般为`/usr/lib/zabbix/alertscripts`)\ncd /usr/lib/zabbix/alertscripts\n\n#2. 下载脚本\nwget --header="Referer: https://console.flashcat.cloud" https://download.flashcat.cloud/flashduty/integration/zabbix/send-to-flashduty.sh\n\n#3. 更改脚本为可执行状态\nchmod +x send-to-flashduty.sh\n\n```\n\n6. 注意,`脚本中使用了 curl 和 jq 命令`,确保这个 Zabbix server 进程可以找到并执行这两个命令,如果没有您需要根据情况安装\n\n</div>\n\n#### 步骤 2:关联 media type 至 user\n\n<div class="md-block">\n\nmedia type 必须关联至某个 user 才能发送事件。user 至少拥有对 host 的 read 权限。建议直接关联到 Admin 用户。以 Admin 用户为例:\n\n1. 登录 Zabbix 控制台,选择 `Administration > Users`,选择 Admin 用户,选择 media,选择 Add,进入编辑窗口:\n\n - Type: 选择以上创建的快猫星云 media type\n - Send To:填写 N/A\n - 其他配置使用默认配置,保持不变\n\n <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/zabbix/v4_bind_media_type.jpg" />\n\n2. 点击 Add 按钮,退出添加 media 窗口\n3. 点击 Update 按钮,退出编辑 user 页面\n\n</div>\n\n#### 步骤 3:创建 action\n\n<div class="md-block">\n\n发送通知是 Zabbix 中动作(actions)执行的操作之一。因此,为了建立一个通知,登录 Zabbix 控制台,选择 `Configuration > Actions`,然后:\n\n1. 点击`Create action`,进入 action 编辑页面\n\n - Name:填写为“Send To FlashDuty”\n\n2. 选择 `Operations`,分别更新三种场景的通知用户配置:\n\n - 在 Operations 配置项,点击 Add 按钮,进入配置窗口\n - Send to users:选择以上新建或配置的 user\n - Send only to:选择快猫星云 media type\n - 其他配置保持默认\n - 点击 Add 按钮,完成该配置项配置\n - 重复以上步骤,完成对 `Recovery operations` 和 `Update operations` 的配置\n\n <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/zabbix/v4_create_action_operation_add.jpg" />\n\n3. 选择 `Operations`,分别更新三种场景的通知内容配置:\n\n - **在 Default Message 配置项,完整复制以下内容,粘贴在默认内容之后**,FlashDuty 收到事件后将解析对应文字,找到告警属性信息:\n\n```\n\n-----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-----\n\n```\n\n- 重复以上步骤,完成对 `Recovery operations` 和 `Update operations` 的配置\n\n <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/zabbix/v4_create_action_trigger_operation.jpg" />\n\n</div>\n\n#### 步骤 4:发送事件到快猫星云\n\n<div class="md-block">\n\n登录 Zabbix 控制台,选择 Monitoring > Problems,查看最新的告警列表。\n\n1. 点击 Actions,弹窗内可以看到消息通知结果\n2. 找到快猫星云对应日志,如果 Status 为 Sent,代表通知成功。否则根据提示排查原因\n\n <img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/zabbix/v4_test_actions.jpg" />\n\n3. 回到集成列表,如果展示了最新事件时间,说明配置成功且收到事件\n4. 完成\n\n</div>\n\n## 二、状态对照\n\n<div class="md-block">\n\nZabbix 到快猫星云告警等级映射关系:\n\n| Zabbix | 快猫星云 | 状态 |\n| -------------- | -------- | ---- |\n| Disaster | Critical | 严重 |\n| High | Critical | 严重 |\n| Average | Warning | 警告 |\n| Warning | Warning | 警告 |\n| Information | Info | 提醒 |\n| Not classified | Info | 提醒 |\n\n</div>\n';
|
|
9
|
-
const UptimeKuma = '---\ntitle: "Uptime Kuma 集成"\ndescription: "通过 webhook 的方式同步 Uptime Kuma 告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/uptime-kuma-integration-guide"\n---\n\n通过 webhook 的方式同步 Uptime Kuma 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **Uptime Kunma** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **Uptime Kunma** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n\n</div>\n\n## 在 Uptime Kuma\n---\n**步骤 1:设置通知渠道**\n\n1. 进入 `Settings -> Notifications` 页面,单击 Setup 进行编辑,如下图所示;\n2. `Notification Type` 选择 `FlashDuty( Flashduty )`;\n3. `Integration Key` 复制写入集成推送地址中的 integration_key 参数值;\n4. `Severity` 为严重程度,按需选择;\n5. 提交保存\n\n<img alt="drawing" width="400" src="https://download.flashcat.cloud/flashduty/integration/uptime-kuma/notify_channel.png" />\n\n**步骤 2:配置监控项**\n\n<div class="md-block">\n\n1. 点击 `Add New Monitor` 或编辑已有的监控项,按需完成监控配置;\n2. 如图,右侧 `Notifications` 部分启用上一步创建的通知方式;\n3. 如需设置标签,可以添加 `Tags`,注意仅同时存在 Key/Value 的标签才会推送到 FlashDuty;\n4. 提交保存,等待告警触发。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/uptime-kuma/monitor.png" />\n\n</div>\n\n## 状态对照\n---\n<div class="md-block">\n \nUptime Kuma 到 Flashduty 告警等级映射关系:\n\n| Uptime Kuma | Flashduty | 状态 |\n| ------------ | -------- | ---- |\n| Critical | Critical | 严重 |\n| Warning | Warning | 警告 |\n| Info | Info | 提醒 |\n\n</div>';
|
|
10
|
-
const AliyunARMS = '---\ntitle: "阿里云 ARMS 集成"\ndescription: "通过 webhook 的方式同步阿里云 ARMS 监控告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/aliyun-arms-integration-guide"\n---\n\n通过 webhook 的方式同步阿里云 ARMS 监控告警事件到 Flashduty,实现告警事件自动化降噪处理。\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **阿里云 ARMS** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **阿里云 ARMS** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n\n</div>\n\n## 在 阿里云 ARMS \n---\n**步骤 1:配置 通知对象**\n\n<div class="md-block">\n\n1. 登录您的阿里云控制台,选择ARMS监控产品;\n2. 进入 `告警管理 -> 通知对象` 页面,选择 `Webhook集成`,单击 新建Webhook 按钮,开始编辑内容;\n3. 如图,设定对象名称,并选择 `Post` ,复制写入集成的推送地址;\n4. 添加 `Header`,输入 `Content-Type` 和 `application/json`;\n5. 通知模板内输入:`$alertmanager_content`;\n6. 点击 确定 按钮,提交保存。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/aliyun-arms/notify_target.png" />\n\n\n**步骤 2:配置 通知策略**\n\n1. 进入 `告警管理 -> 通知策略` 页面,单击 新建通知策略 或 选择已有的策略进行编辑;\n2. 如下图所示,在 `通知对象` 页面,选择已创建好的 `通用Webhook` 对象;\n3. 提交保存,等待告警触发。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/aliyun-arms/notify_rule.png" />\n\n</div>\n\n## 状态对照\n---\n<div class="md-block">\n \n阿里云 ARMS 监控到 Flashduty 告警等级映射关系:\n\n| 阿里云 ARMS 监控 | Flashduty | 状态 |\n| ------------ | -------- | ---- |\n| P1 | Critical | 严重 |\n| P2 | Warning | 警告 |\n| P3 | Warning | 警告 |\n| P4 | Info | 提醒 |\n\n</div>\n';
|
|
11
|
-
const AliyunCmEvent = '---\ntitle: "阿里云监控 CM 事件集成"\ndescription: "通过 webhook 的方式同步阿里云云监控事件中心告警到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/aliyun-cm-event-integration-guide"\n---\n\n通过 webhook 的方式同步阿里云云监控事件中心告警到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **阿里云 CM 事件** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **阿里云 CM 事件** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n## 在阿里云监控 CM 事件\n---\n**步骤 1:添加推送渠道**\n\n<div class="md-block">\n\n1. 登录您的阿里云控制台,选择云监控产品\n2. 进入 **事件中心 -> 事件订阅** 页面,切换到 **推送渠道** 标签页,单击 创建推送渠道 按钮,开始编辑内容\n3. 如图,**请求方法** 选择 **POST**,**地址** 填写集成的推送地址\n4. 点击 确认 按钮,提交更新\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/aliyun-cm-event/aliyun-cm-event-channel.png" />\n\n</div>\n\n**步骤 2:添加订阅策略**\n\n<div class="md-block">\n\n1. 登录您的阿里云控制台,选择云监控产品\n2. 进入 **事件中心 -> 事件订阅** 页面,切换到 **订阅策略** 标签页,单击 创建订阅策略 按钮,开始编辑内容\n3. 填写订阅名称,选择事件类型以及范围,最下方配置推送渠道为为前边创建的 Flashduty 渠道\n4. 点击 确认 按钮,提交更新\n5. 下图为阈值和系统两种类型事件的订阅结果\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/aliyun-cm-event/aliyun-cm-event-subscribe.png" />\n\n</div>\n\n## 状态对照\n---\n<div class="md-block">\n \n阿里云云监控事件告警到 Flashduty 告警等级映射关系:\n\n| 阿里云云监控 | Flashduty | 状态 |\n| ------------ | -------- | ---- |\n| CRITICAL | Critical | 严重 |\n| WARNING | Warning | 警告 |\n| INFO | Info | 提醒 |\n\n</div>\n';
|
|
12
|
-
const AliyunCm = '---\ntitle: "阿里云监控 CM 指标集成"\ndescription: "通过 webhook 的方式同步阿里云云监控告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/aliyun-cm-metric-integration-guide"\n---\n\n通过 webhook 的方式同步阿里云云监控告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **阿里云 CM 指标** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **阿里云 CM 指标** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n\n</div>\n\n## 在阿里云监控\n---\n以下两种方式任选其一。\n\n**方式 1:按规则配置**\n\n<div class="md-block">\n\n1. 登录您的阿里云控制台,选择云监控产品\n2. 进入 报警服务 -> 报警规则 页面,选择一个规则,单击 修改 按钮,开始编辑规则内容\n3. 如图,在 高级设置 下填写回调地址为集成的推送地址\n4. 点击 确认 按钮,提交更新\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/aliyun-cm/aliyun-cm-rule.jpg" />\n\n5. 对于所有期望同步事件的告警规则,重复上述步骤\n6. 回到集成列表,如果展示了最新事件时间,说明配置成功且收到事件\n7. 完成\n\n</div>\n\n**方式 2:按联系人配置**\n\n<div class="md-block">\n\n1. 登录您的阿里云控制台,选择云监控产品\n2. 进入 报警服务 -> 报警联系人 页面,选择修改某一个联系人\n3. 如图,在 Webhook 下填写集成的推送地址\n4. 点击 确认 按钮,提交更新\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/aliyun-cm/aliyun-cm-contact.jpg" />\n\n5. 对于所有期望同步事件的联系人,重复上述步骤\n6. 回到集成列表,如果展示了最新事件时间,说明配置成功且收到事件\n7. 完成\n\n</div>\n\n## 状态对照\n---\n<div class="md-block">\n \n阿里云云监控到 Flashduty 告警等级映射关系:\n\n| 阿里云云监控 | Flashduty | 状态 |\n| ------------ | -------- | ---- |\n| CRITICAL | Critical | 严重 |\n| WARN | Warning | 警告 |\n| INFO | Info | 提醒 |\n| NODATA | Info | 提醒 |\n\n</div>\n';
|
|
13
|
-
const AliyunSLS = '---\ntitle: "阿里云 SLS集成"\ndescription: "通过 webhook 的方式同步阿里云日志服务 SLS 监控告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/aliyun-sls-integration-guide"\n---\n\n通过 webhook 的方式同步阿里云日志服务 SLS 监控告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **阿里云 SLS** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **阿里云 SLS** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n## 在阿里云 SLS\n---\n**步骤 1:配置 Webhook**\n\n<div class="md-block">\n\n1. 登录您的阿里云控制台,选择日志服务 SLS 产品,选择一个 Project\n2. 进入 `告警`->`告警管理`->`Webhook集成` 页面,单击 `新建` 按钮,开始编辑\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/aliyun-sls/aliyun-sls-alert-management.jpg" />\n\n3. 如图,`类型`选择“通用 Webhook”,`请求方法`选择 POST,`请求地址`填写集成的推送地址(保存后得到)\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/aliyun-sls/aliyun-sls-create-webhook.jpg" />\n\n4. 点击`确认`按钮,提交保存\n\n</div>\n\n**步骤 2:配置内容模板**\n\n<div class="md-block">\n\n1. 切换到`内容模板`页面,点击`添加`按钮,开始编辑\n2. 进入`Webhook-自定义`配置项,`发送方式`选择“逐条发送”,`发送内容`复制以下内容:\n\n```\n{{ alert | to_json}}\n```\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/aliyun-sls/aliyun-sls-create-template.jpg" />\n\n3. 点击`确认`按钮,提交保存\n\n</div>\n\n**步骤 3:配置行动策略**\n\n<div class="md-block">\n\n1. 切换到`行动策略`页面,点击`添加`按钮,开始编辑\n2. 进入`第一行动列表`配置项,点击添加一个`行动组`节点。\n3. `渠道`选择“通用 Webhook”,`选择Webhook`和`内容模板`使用前边创建的对象,`发送时段`选择“任意”\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/aliyun-sls/aliyun-sls-create-action-policy.jpg" />\n\n4. 点击`结束`,完成第一行动列表创建\n5. 点击`确认`按钮,提交保存\n\n</div>\n\n**步骤 4:配置监控规则**\n\n<div class="md-block">\n\n1. 切换到`规则/事务`页面,点击`新建告警`按钮或选择一个已有的告警进行更新编辑\n2. 进入`告警规则`编辑页面,`告警策略`。\n3. `告警策略`选择“普通模式”,`行动策略`使用前边创建的对象\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/aliyun-sls/aliyun-sls-update-alert-rule.jpg" />\n\n4. 点击`确定`按钮,提交保存\n5. 针对所有其他规则,重复上述步骤,可以将全部告警推送到 FlashDuty\n\n</div>\n\n## 状态对照\n---\n<div class="md-block">\n \n阿里云SLS监控到 Flashduty 告警等级映射关系:\n\n| 阿里云 SLS 监控 | Flashduty | 状态 |\n| --------------- | -------- | ---- |\n| 10 | Critical | 严重 |\n| 8 | Critical | 严重 |\n| 6 | Warning | 警告 |\n| 4 | Warning | 警告 |\n| 2 | Info | 提醒 |\n\n</div>\n';
|
|
14
|
-
const AWSCW = '---\ntitle: "AWS CloudWatch集成"\ndescription: "通过 webhook 的方式同步 AWS CloudWatch 告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/aws-cloudwatch-integration-guide"\n---\n\n通过 webhook 的方式同步 AWS CloudWatch 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **AWS CLoudWatch** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **AWS CloudWatch** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n \n</div>\n\n## 在 AWS CloudWatch\n---\n<div class="md-block">\n\n1. 登录您的 AWS 控制台,检索 `Simple Notification Service` 产品,并进入对应产品控制台\n2. 进入 `Topics` 页面,单击 `Create topic` 按钮,开始创建主题\n3. `Type` 选择 `Standard`,填写名称为 `FlashDuty`\n4. 点击 `Create Topic` 按钮,完成主题创建\n5. 进入 `Subscriptions` 页面,单击 `Create subscription` 按钮,为主题创建订阅\n6. `Topic ARN` 选择 `FlashDuty`,`Protocal` 选择 `HTTPS`,`Endpoint` 填写集成的推送地址(当前页面填写集成名称,保存后即可生成地址)\n7. 点击 `Create subscription` 按钮,完成订阅创建\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/aws-cloudwatch-subscribe.png" />\n\n8. 回到 `Subscriptions` 页面,当订阅状态为 `Confirmed`,说明订阅地址校验成功,否则请联系 Flashduty \n9. 检索 `CloudWatch` 产品,并进入对应产品控制台\n10. 进入 `All alrams` 页面,选择创建或编辑已有的告警策略\n11. 对于 `Notification` 这一步,`In alarm`、`OK` 和 `Insufficient data` 三种状态推送目标 `SNS topic` 均选择 `FlashDuty`,如下图所示:\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/aws-cloudwatch-alram.png" />\n\n12. 回到集成列表,如果展示了最新事件时间,说明配置成功且收到事件\n13. 完成\n\n</div>\n\n## 状态对照\n---\n<div class="md-block">\n \nCloudWatch 监控所有指标告警均对应到 Flashduty “警告(warning)”级别告警。\n\n</div>\n';
|
|
15
|
-
const AzureMonitor = '---\ntitle: "Azure Monitor集成"\ndescription: "通过 webhook 的方式同步 Azure Monitor 告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/azure-monitor-integration-guide"\n---\n\n通过 webhook 的方式同步 Azure Monitor 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **Azure Monitor** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **Azure Monitor** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n\n</div>\n\n## 在 Azure Monitor\n---\n**步骤 1:配置 Webhook**\n\n<div class="md-block">\n\n1. 登录您的 Azure 门户,选择 Monitor 产品;\n2. 进入 `Alerts -> Action groups` 页面,单击 Create 按钮,开始编辑;\n3. 如图,`Actions` 选项选择 `Action type` 为 `Webhook`;\n4. 填写名称,`URI` 部分复制写入集成的推送地址,注意要 `Enable` 通用 alert 结构;\n5. 点击 Create 按钮,提交保存。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/azure-mon/action_group.png" />\n\n\n**步骤 2:配置 Alert rule**\n\n1. 进入 `Alerts -> Alert rules` 页面,单击 Create 或 选择已有的策略进行编辑;\n2. 如下图所示,在 `Actions` 页面,选择已创建好的 Action group;\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/azure-mon/alert_rule.png" />\n\n3. 提交保存,等待告警触发。\n\n</div>\n\n## 状态对照\n---\n<div class="md-block">\n \nAzure Monitor 到 Flashduty 告警等级映射关系:\n\n| Azure Monitor | Flashduty | 状态 |\n| ------------ | -------- | ---- |\n| Sev0 | Critical | 严重 |\n| Sev1 | Warning | 警告 |\n| Sev2 | Warning | 警告 |\n| Sev3 | Info | 提醒 |\n| Sev4 | Info | 提醒 |\n\n</div>\n';
|
|
16
|
-
const BaiDuBCM = '---\ntitle: "百度云BCM监控集成"\ndescription: "通过 webhook 的方式同步百度云 BCM 告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/baidu-bcm-integration-guide"\n---\n\n通过 webhook 的方式同步百度云 BCM 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **百度云监控BCM** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **百度云监控BCM** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n## 在百度云监控 BCM\n---\n<div class="md-block">\n\n1. 登录您的百度云控制台,检索 `云监控` 产品,并进入对应控制台\n2. 百度云提供了多种方式来配置告警回调,具体可以参考[官方文档](https://cloud.baidu.com/doc/BCM/s/bkdzl6d69),以下仅演示 `报警管理-报警策略` 入口配置方式\n3. 进入 `报警管理-报警策略` 页面,选择编辑已有或创建新的报警策略\n4. 报警策略中 `回调地址` 一栏,填写集成的推送地址(当前页面填写集成名称,保存后即可生成地址)\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/baidu-bcm.png" />\n\n5. 完成\n\n</div>\n\n## 状态对照\n---\n<div class="md-block">\n \n百度云监控到 Flashduty 告警等级映射关系:\n\n| BCM | Flashduty | 状态 |\n| ---- | -------- | ---- |\n| 严重 | Critical | 严重 |\n| 重要 | Critical | 严重 |\n| 警告 | Warning | 警告 |\n| 通知 | Info | 提醒 |\n\n</div>\n';
|
|
17
|
-
const HuaWeiCES = '---\ntitle: "华为云监控 CES集成"\ndescription: 通过 webhook 的方式同步华为云监控 CES 告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/huawei-ces-integration-guide"\n---\n\n通过 webhook 的方式同步华为云监控 CES 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **华为云监控CES** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **华为云监控CES** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n## 在华为云监控 CES\n---\n<div class="md-block">\n\n1. 登录您的 华为云 控制台,检索 `云监控` 产品,并进入对应产品控制台\n2. 进入 `告警-告警通知-通知对象` 页面,单击 `创建通知对象` 按钮\n3. 协议选择 `HTTPS`,名称填写 `flashduty`,终端填写集成地址(当前页面填写集成名称,保存后即可生成地址)\n4. 点击 `确定` 按钮,完成通知对象创建\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/huawei-ces-create-notify-obj.png" />\n\n5. 进入 `告警-告警通知-通知组` 页面,单击 `创建通知组` 按钮\n6. 组名称填写 `FlashDuty`,通知对象勾选前边创建的 `flashduty`\n7. 点击 `确定` 按钮,完成通知组创建\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/huawei-ces-create-notify-group.png" />\n\n注意,创建通知组时,华为云会发起请求到 Flashduty,验证推送地址,查看通知组的通知对象列表,仅当通知对象状态为 `已确认` 时,才会正常推送告警\n\n8. 进入 `告警-告警规则` 页面,选择已有的告警规则进行编辑,或者创建新的告警规则,打开 `告警规则详情` 页面\n9. 其中 `通知组` 选择 `FlashDuty`,触发条件勾选 `出现告警` 和 `恢复正常`。点击 `确定` 按钮,保存修改\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/huawei-ces-create-alarm.png" />\n\n10. 回到 Flashduty 控制台集成列表页面,如果展示了最新事件时间,说明配置成功且收到事件\n11. 完成\n\n</div>\n\n## 状态对照\n---\n<div class="md-block">\n\n华为云监控到 Flashduty 告警等级映射关系:\n\n| CES | Flashduty | 状态 |\n| ---- | -------- | ---- |\n| 紧急 | Critical | 严重 |\n| 重要 | Critical | 严重 |\n| 次要 | Warning | 警告 |\n| 提示 | Info | 提醒 |\n\n</div>\n';
|
|
18
|
-
const InfluxDB = '---\ntitle: "Influxdata 集成"\ndescription: "通过 webhook 的方式同步 Influxdata 告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/influxdata-integration-guide"\n---\n\n通过 webhook 的方式同步 Influxdata 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **Influxdata** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **Influxdata** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n## 在 Influxdata\n---\n\n支持 Influxdata 1.x ~ 2.x 版本,不同版本配置有差异,详看下文\n\n- [2.x 版本](#v2)\n- [1.x 版本](#v1)\n\n## 一、Influxdata 配置\n\n<span id="v2"></span>\n\n### 2.x 版本\n#### 步骤1:创建告警通道\n1. 登录您的 `Influxdata` 控制台,进去 `Alerts > Notifycation Endpoints` 页面。\n2. 点击 `Create` 创建告警通知通道。\n3. `Destination` 选择 `HTTP`,`Name` 输入 `FlashDuty`。\n4. `HTTP Method` 选择 `POST`,`URL` 输入集成的推送地址。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/influxdb-1.png" />\n\n#### 步骤2:在通知规则中使用步骤1创建的通道\n1. 登录您的 `Influxdata` 控制台,进去 `Alerts > Notifycation Rules` 页面。\n2. 点击 `Create` 创建告警通知规则。\n3. `About` 和 `Conditions` 按需配置即可。\n4. `Message` 选择步骤1创建的 `FlashDuty`。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/influxdb-2.png" />\n\n5. 完成。\n\n<span id="v1"></span>\n\n### 1.x 版本\n<div class="md-block">\n\n1. 登录您的 `Influxdata` 控制台,进去 `Alerting > Alert Rules` 页面\n2. 点击需要同步事件的告警规则,进入 `Alert Rule Builder` 页面,开始编辑规则\n3. `Alert Handlers` 部分,选择 `Add Another Handler`,类型选择 `post,HTTP endpoint` 填入集成的推送地址,如下图所示:\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/influxdb-alert-rule.png" />\n\n4. 点击 `Save Rule` 按钮,保存。等待事件触发,如果在集成列表展示了最新事件时间,说明配置成功且收到事件\n5. 完成\n\n## 二、状态对照\n\n<div class="md-block">\n \nInfluxdata 告警事件到快猫星云告警等级映射关系:\n\n| Influxdata | 快猫星云 | 状态 |\n| ---------- | -------- | ---- |\n| CRITICAL | Critical | 严重 |\n| WARNING | Warning | 警告 |\n| INFO | Info | 提醒 |\n| unknow | Info | 提醒 |\n\n</div>\n';
|
|
19
|
-
const OpenFalcon = '---\ntitle: "Open Falcon集成"\ndescription: "通过 webhook 的方式同步 Open-Falcon 告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/open-falcon-integration-guide"\n---\n\n通过 webhook 的方式同步 Open-Falcon 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **Falcon** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **Falcon** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n \n</div>\n\n## 在 Falcon \n---\n选择告警规则,逐一配置 webhook。\n\n<div class="md-block">\n \n1. 登录您的 Falcon 控制台,选择 Templates,进入告警规则模板列表页面\n2. 打开任意一个告警规则模板,填写回调地址为当前集成对应的推送地址\n3. 点击 Save 按钮,保存告警规则\n4. 针对所有要发送事件的告警规则模板,重复步骤2和3\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/open-falcon-tmpls.png" />\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/saas-open-falcon-rule.png" />\n\n同样的,针对 Expressions 告警规则,也可以配置相同的推送地址。\n\n5. 回到集成列表,如果展示了最新事件时间,说明配置成功且收到事件\n6. 完成\n\n</div>\n\n## 状态对照\n---\n<div class="md-block">\n \nOpen-Falcon 到 Flashduty 告警等级映射关系:\n\n| Open-Falcon | Flashduty | 状态 |\n| ----------- | -------- | ---- |\n| 0 | Critical | 严重 |\n| 1 | Critical | 严重 |\n| 2 | Warning | 警告 |\n| 3 | Warning | 警告 |\n| 4 | Info | 提醒 |\n| 5 | Info | 提醒 |\n| 6 | Info | 提醒 |\n\n</div>\n';
|
|
20
|
-
const PagerDuty = '---\ntitle: "PagerDuty集成"\ndescription: "可以通过 PagerDuty 协议推送告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/pagerduty-integration-guide"\n---\n\n通过 webhook 的方式同步\n\n Flashduty 实现了 PagerDuty Events API,输入和响应完全兼容。因此您可以通过 PagerDuty 协议推送告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n同样的,对于已经支持推送事件到 PagerDuty 的告警系统(如 ElastAlert),你仅需要修改目的推送地址,即可利用 PagerDuty 协议推送事件到 Flashduty 。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **PagerDuty** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **PagerDuty** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n\n</div>\n\n## 在 PagerDuty\n---\n### 请求地址\n\n```\n{api_host}/event/push/alert/pagerduty\n```\n\n该地址同时支持 PagerDuty V1 和 V2 Events API。**您必须修改 PagerDuty 地址为该地址。**\n\n### Pagerduty V2 Events\n\n<div class="md-block">\n\n#### 参考文档:\n\n[PagerDuty V2 Events](https://developer.pagerduty.com/api-reference/368ae3d938c9e-send-an-event-to-pager-duty)\n\n#### 鉴权方式:\n\n两种方式任选其一:\n\n- 方式 1:在 QueryString 中包含参数 integration_key\n- 方式 2:将 integration_key 作为 routing_key 参数传入 Payload\n\n</div>\n\n### Pagerduty V1 Events\n\n<div class="md-block">\n\n#### 参考文档:\n\n[PagerDuty V1 Events](https://developer.pagerduty.com/api-reference/f0037990796c8-send-an-event-to-pager-duty)\n\n#### 鉴权方式:\n\n两种方式任选其一:\n\n- 方式 1:在 QueryString 中包含参数 integration_key\n- 方式 2:将 integration_key 作为 service_key 参数传入 Payload\n\n</div>\n\n### 配置示例\n\n以 [ElastAlert2](https://github.com/jertel/elastalert2) 为例:\n\n<div class="md-block">\n\n1. 步骤 1:获得推送地址\n\n在当前页面填写集成名称并保存,重新打开集成详情,复制推送地址,如:\n\n```\n{api_host}/event/push/alert/pagerduty?integration_key=xxx\n```\n\n2. 步骤 2:修改推送地址\n\n修改已经部署好的 ElastAlert 实例对应源码,[查看 diff ](https://github.com/jertel/elastalert2/commit/e815a62a6b1eecef6e1fef13afd99d905b67fc34):\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/pagerduty-replace-endpoint.png" />\n\n3. 步骤 3:上报告警事件\n\n遵循 [ElastAlert PagerDuty 推送配置文档](https://elastalert2.readthedocs.io/en/latest/ruletypes.html#pagerduty) 步骤,配置告警:\n\n```\nname: "b"\ntype: "frequency"\nindex: "pgy_audit*"\nis_enabled: true\nnum_events: 1\nrealert:\n minutes: 1\nterms_size: 50\nscan_entire_timeframe: true\ntimeframe:\n minutes: 60\ntimestamp_field: "created_at"\ntimestamp_type: "unix_ms"\nuse_strftime_index: false\nalert_subject: "Test {0} 123 aa☃ {1}"\nalert_subject_args:\n - "account_id"\n - "operation"\nalert_text: "Test {0} 123 bb☃ {1}"\nalert_text_args:\n - "request_id"\n - "operation_name"\nfilter:\n - query:\n query_string:\n query: "created_at:*"\n\n# ------- FlashDuty ----------------\nalert: pagerduty\npagerduty_service_key: xxx\npagerduty_client_name: wahaha\npagerduty_api_version: v2\npagerduty_v2_payload_class: ping failure\npagerduty_v2_payload_component: mysql\npagerduty_v2_payload_group: app-stack\npagerduty_v2_payload_severity: error\npagerduty_v2_payload_source: mysql.host.name\n# ------- FlashDuty ----------------\n```\n\n4. 步骤 4:重启 ElastAlert,等待告警触发\n\n</div>\n';
|
|
21
|
-
const TencentBK = '---\ntitle: "蓝鲸智云集成"\ndescription: "通过 webhook 的方式同步蓝鲸智云监控事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/tencent-bk-integration-guide"\n---\n\n通过 webhook 的方式同步蓝鲸智云监控事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **蓝鲸智云** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **蓝鲸智云** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n## 在蓝鲸智云\n---\n以下内容已经在`蓝鲸V6/7版本`完成验证,V5 及以下版本官方已不再支持,建议您升级。\n\n蓝鲸告警策略可以触发`处理套餐`,处理套餐可与周边系统打通,来完成复杂功能。我们首先创建一个处理套餐,配置 FlashDuty 的回调地址,然后编辑告警策略,关联动作到该处理套餐,实现告警变更自动推送到 FlashDuty。具体步骤如下:\n\n#### 步骤 1、创建处理套餐\n\n<div class="md-block">\n\n1. 登录您的蓝鲸智云桌面,进入`监控平台`;\n2. 进入`配置-处理套餐`页面,单击`添加套餐`按钮,开始创建处理套餐;\n3. 填写名称为`Send To FlashDuty`,套餐类型选择`HTTP回调`,推送方式选择`POST`,并填写集成的推送地址(保存集成后获得),如下图所示:\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/tencent-bk/create_package.jpg" />\n\n4. 切换到`主体`,选择`JSON`类型,消息体复制并填入以下信息(实际产生告警时,蓝鲸会渲染变量内容作为 Payload 推送到目标回调地址):\n\n```\n{{alarm.callback_message}}\n```\n\n5. 保存套餐,完成创建。\n</div>\n\n#### 步骤 2、编辑告警策略\n\n<div class="md-block">\n\n1. 进入`配置-告警策略`页面,选择一个已有的策略进行编辑,或新建一个告警策略;\n2. 下拉到`告警处理`部分,三种场景均选择`Send To FlashDuty`处理套餐,并关闭`防御规则`,如下图:\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/integration/tencent-bk/update_alert_rule.jpg" />\n\n3. 提交保存,完成;\n4. 对于其他想要推送到 FlashDuty 的告警,重复以上步骤。\n\n</div>\n\n## 状态对照\n---\n<div class="md-block">\n\n蓝鲸智云到 Flashduty 告警等级映射关系:\n\n| 蓝鲸智云 | Flashduty | 状态 |\n| -------- | -------- | ---- |\n| 致命 | Critical | 严重 |\n| 预警 | Warning | 警告 |\n| 提醒 | Info | 提醒 |\n\n</div>\n';
|
|
22
|
-
const TencentCLS = '---\ntitle: "腾讯云日志服务CLS集成"\ndescription: "通过 webhook 的方式同步腾讯云日志服务 CLS 监控告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/tencent-cls-integration-guide"\n---\n\n通过 webhook 的方式同步腾讯云日志服务 CLS 监控告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **腾讯云CLS** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **腾讯云CLS** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n## 在腾讯云的 CLS \n---\n\n**步骤 1:配置 通知渠道组**\n\n<div class="md-block">\n\n1. 登录您的腾讯云控制台,选择日志服务 CLS 产品,进入 监控告警 - 通知渠道组\n2. 单击 `新建` 开始新建\n\n<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/integration/tencent-cls/tencent-cls-notify.png" />\n\n3. 如图,`名称` 填写具体的渠道组名称,`渠道类型`选择“自定义接口回调”,`回调地址` 填写集成的推送地址,`请求方法` 选择POST\n\n4. 点击 `确定` 保存, `添加` 可以添加多个渠道\n\n</div>\n\n**步骤 2:配置 告警策略**\n\n<div class="md-block">\n\n\n1. 登录您的腾讯云控制台,选择日志服务 CLS 产品,进入 监控告警 - 告警策略\n2. 单击 `新建` 开始新建\n\n<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/integration/tencent-cls/tencent-cls-alert.png" />\n\n3. 如图,`告警名称`填写具体的告警名称,日志主题选择具体的日志主题\n\n4. `执行语句` 填写具体的查询语句,查询时间范围选择时间范围,点击预览可以查看执行的结果,触发条件输入具体的触发条件\n\n5. `告警级别`,分为紧急、告警和提醒,根据告警的严重程序选择,执行周期根据需要选择\n\n6. `多维分析`,触发告警时可针对原始日志进行额外的检索分析,将结果附加在告警通知中,以辅助定位告警原因。多维分析不会影响告警触发条件。\n\n7. 告警通知,`通知渠道组`,可以关联到具体的渠道组\n\n</div>\n\n\n**步骤 3:配置 自定义回调**\n\n<div class="md-block">\n\n1. 关联渠道组后,可以看到回调内容配置\n\n2. 请求头,可以添加具体的请求的headers\n\n3. 请求内容,返回具体的请求数据格式,参考:\n\n```json\n{\n "uin": "{{escape .UIN}}",\n "nickname": "{{escape .Nickname}}",\n "region": "{{escape .Region}}",\n "alarm": "{{escape .Alarm}}",\n "alarm_id": "{{escape .AlarmID}}",\n "condition": "{{escape .Condition}}",\n "happen_threshold": "{{escape .HappenThreshold}}",\n "alert_threshold": "{{escape .AlertThreshold}}",\n "topic": "{{escape .Topic}}",\n "topic_id": "{{escape .TopicId}}",\n "level": "{{escape .Level}}",\n "label": {{.Label}},\n "start_time": "{{escape .StartTime}}",\n "start_time_unix": "{{escape .StartTimeUnix}}",\n "notify_time": "{{escape .NotifyTime}}",\n "notify_time_unix": "{{escape .NotifyTimeUnix}}",\n "notify_type": "{{escape .NotifyType}}",\n "consecutive_alert_nums": "{{escape .ConsecutiveAlertNums}}",\n "duration": "{{escape .Duration}}",\n "trigger_params": "{{escape .TriggerParams}}",\n "record_group_id": "{{escape .RecordGroupId}}",\n "detail_url": "{{escape .DetailUrl}}",\n "query_url": "{{escape .QueryUrl}}",\n "message": {{.Message}},\n "query_result": {{.QueryResult}},\n "query_log": {{.QueryLog}},\n "analysis_result": {{.AnalysisResult}}\n}\n```\n\n</div>\n\n\n## 状态对照\n---\n<div class="md-block">\n\n腾讯云CLS监控告警级别到 Flashduty 映射关系:\n\n| 腾讯云 CLS 监控 | Flashduty | 状态\n| ------------- | --------- | --- |\n| Info | Info | 提醒\n| Warn | Warning | 警告\n| Critical | Critical | 紧急\n\n</div>\n';
|
|
23
|
-
const TencentCm = '---\ntitle: "腾讯云监控 CM集成"\ndescription: "通过 webhook 的方式同步腾讯云监控 CM 告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/tencent-cm-integration-guide"\n---\n\n通过 webhook 的方式同步腾讯云监控 CM 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **腾讯云监控CM** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **腾讯云监控CM** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n## 在腾讯云监控 CM\n---\n<div class="md-block">\n\n1. 登录您的腾讯云控制台,选择云监控产品\n2. 进入 告警管理 -> 通知模板 页面,单击 新建 按钮,开始编辑通知模板\n3. 填写回调地址为集成的推送地址,通知语言选择 英文\n4. 点击 保存 按钮,保存模板\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/saas-tecent-cm-template.png" />\n\n5. 进入 告警配置 -> 告警策略 页面,选择针对所有要发送事件的告警策略,进入详情,添加上步新建的通知模板\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/tecent-cm-rule.png" />\n\n6. 回到集成列表,如果展示了最新事件时间,说明配置成功且收到事件\n7. 完成\n\n</div>\n\n## 状态对照\n---\n<div class="md-block">\n \n腾讯云监控所有指标告警均对应到 Flashduty “警告(warning)”级别告警。\n\n</div>\n';
|
|
24
|
-
const TencentEb = '---\ntitle: "腾讯云EventBridge"\ndescription: "通过 webhook 的方式同步腾讯云事件总线 EB 事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/tencent-event-bridge-integration-guide"\n---\n\n通过 webhook 的方式同步腾讯云事件总线 EB 事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **腾讯云EventBridge** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **腾讯云EventBridge** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n\n</div>\n## 在腾讯云 EventBridge\n---\n<div class="md-block">\n\n1. 登录您的腾讯云控制台,选择事件总线产品\n2. 进入 事件规则 页面,单击 新建 按钮,开始编辑规则\n3. 填写名称为 FlashDuty,如下图所示:\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/tencent-eb-new-rule.png" />\n\n4. 事件匹配部分可以通过表单模式选择特定事件,也可以自定义填写以下 JSON 内容,匹配全部事件:\n\n```\n{\n "source": [\n {\n "suffix": ".cloud.tencent"\n }\n ]\n}\n```\n\n图示如下:\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/tencent-eb-match-rule.png" />\n\n5. 下一步,配置事件目标,分别选择”消息推送“、”通用通知模板“、”英文“,”接口回调“和”自定义 webhook“,webhook 地址填写集成的推送地址\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/tencent-eb-target-webhook.png" />\n\n6. 点击 保存 按钮,回到 事件集 页面,选择一个事件集,点击 发送事件,进行测试\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/tencent-eb-test-send.png" />\n\n7. 回到集成列表,如果展示了最新事件时间,说明配置成功且收到事件\n8. 完成\n\n</div>\n\n## 状态对照\n---\n<div class="md-block">\n \n腾讯云事件总线所有事件均对应到 Flashduty “警告(warning)”级别告警。\n\n</div>\n';
|
|
25
|
-
const OceanBase = '---\ntitle: "OceanBase 告警事件"\ndescription: "通过 webhook 的方式同步OceanBase告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-05-23T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/oceanbase-integration-guide"\n---\n\n通过 webhook 的方式同步OceanBase告警事件到 Flashduty,实现告警事件自动化降噪处理\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **OceanBase** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **OceanBase** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n\n## 在 OceanBase\n---\n\n<div class="md-block">\n\n## 一、OceanBase告警推送配置\n\n### 步骤1:配置告警通道\n1. 登录您的OceanBase控制台,选择告警中心。\n2. 进入**告警通道** ,单击**新建通道**按钮,开始新建。\n3. 通道类型选择 **自定义脚本** 。\n4. 基本配置内容,如下图所示:\n\n<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/oceanbase-1.png" />\n\n5. 配置通道中复制以下脚本内容,同时**请将脚本中的 integration_key 参数补充上 FlashDuty 推送地址中的 integration_key 值**。\n\n```\n#!/usr/bin/env bash\n\nfunction sendToFlashDuty() {\n URL="${address}/event/push/alert/standard?integration_key=${integration_key}"\n curl -s -X POST ${URL} -H \'Content-Type: application/json\' -d \'{\n "event_status": "\'${alert_level}\'",\n "alert_key": "\'${alarm_id}\'",\n "description": "\'"${alarm_description//\\"/\\\\\\"}"\'",\n "title_rule": "$app_types::$name::$alarm_targets",\n "event_time":\'${timestamp}\',\n "labels": {\n "app_types":"\'${app_type}\'",\n "id":"\'${alarm_id}\'",\n "name":"\'${alarm_name}\'",\n "alarm_level":"\'${alarm_level}\'",\n "alarm_status":"\'${alarm_status}\'",\n "alarm_active_at":"\'${alarm_active_at}\'",\n "alarm_threshold":"\'${alarm_threshold}\'",\n "alarm_type":"\'${alarm_type}\'",\n "alarm_targets":"\'${alarm_target}\'",\n "ob_cluster_group":"\'${ob_cluster_group}\'",\n "ob_cluster":"\'${ob_cluster}\'",\n "hostIP":"\'${host_ip}\'",\n "app_cluster":"\'${app_cluster}\'",\n "alarm_description":"\'"${alarm_description//\\"/\\\\\\"}"\'",\n "alarm_url":"\'${alarm_url}\'"\n }\n }\'\n\n return $?\n}\n\nalarm_name=$(echo ${alarm_name} | sed "s/ /_/g")\nalarm_target=$(echo ${alarm_target} | sed "s/ /_/g")\n\n#使用告警更新时间作为告警产生时间\ntimestamp=$(TZ=UTC date -d "${alarm_updated_at}" +%s)\n\n#OceanBase告警通知的状态和级别是中文,所以先转Md5,再做判断\nlevelMd5=$(echo ${alarm_level} | md5sum | awk \'{print$1}\')\nstatusMd5=$(echo ${alarm_status} | md5sum | awk \'{print$1}\')\n\n#状态Md5\nactive="048d106318302b41372b4292b5696ad4"\nInactive="bf7da164d431439fe9668fbc964110c4"\n\n#告警级别Md5\ndown="2e1558b0a152fae2dd15884561b1508d"\ncritical="59b9b38574ca2ee4f5e264b56f49a83f"\nalert="723931b03a5d1cec59eac40cf0703580" \ncaution="abf4d55ba8926eff32cb44065e634ed3"\ninfo="6aae3f4254789d72aa0cc8ed55b8f11f"\n\naddress="https://api.flashcat.cloud"\nintegration_key=""\n\n#将OceanBase的告警级别定义做转换\nif [[ ${statusMd5} == ${Inactive} ]];then\n alert_level="Ok"\n timestamp=$(TZ=UTC date -d "${alarm_resolved_at}" +%s)\nelif [[ ${statusMd5} == "${active}" ]];then\n if [[ ${levelMd5} == ${down} || ${levelMd5} == ${critical} ]];then\n alert_level="Critical"\n elif [[ ${levelMd5} == ${alert} ]];then\n alert_level="Warning"\n elif [[ ${levelMd5} == ${caution} || ${levelMd5} == ${info} ]];then\n alert_level="Info"\n fi\nfi\n\n#只有状态是告警中或恢复告警才发通知,屏蔽或抑制的不发通知\nif [[ ${statusMd5} == ${active} || ${statusMd5} == ${Inactive} ]];then\n sendToFlashDuty\nfi\n```\n\n6. Response 校验信息填写 {} 即可。\n7. 消息配置中的告警消息格式选择 Markdown。\n8. 告警消息模板 **选择简体中文**,并填写以下内容并提交。\n\n```\nOCP告警通知-单条告警\n- 告警ID: ${alarm_id}\n- 名称:${alarm_name}\n- 级别:${alarm_level}\n- 告警对象:${alarm_target}\n- 服务: ${service}\n- 概述:${alarm_summary}\n- 生成时间:${alarm_active_at}\n- 更新时间: ${alarm_updated_at}\n- 恢复时间:${alarm_resolved_at}\n- 详情:${alarm_description}\n- 状态: ${alarm_status}\n- 告警类型: ${alarm_type}\n- 告警阈值: ${alarm_threshold}\n- 集群组: ${ob_cluster_group}\n- 集群: ${ob_cluster}\n- 主机: ${host_ip}\n- 应用集群: ${app_cluster}\n- OCP链接:${alarm_url}\n```\n\n### 步骤2:配置告警推送\n\n1. 新建推送配置,路径:**告警中心=>告警推送=>新建推送配置**。\n2. 推送类型、指定对象按需配置即可。\n\n\n<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/oceanbase-2.png" />\n\n3. 推送语言选择 **简体中文**。\n4. 告警通道选择 **FlashDuty** 。\n5. 开启 **恢复通知**。\n6. 提交。\n\n\n<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/oceanbase-3.png" />\n</div>\n\n\n## 二、状态对照\n\n<div class="md-block">\n \n|OceanBase| Flashduty|状态|\n|---|---|---|\n|停服|Critical|严重|\n|严重|Warning|严重|\n|警告|Warning|警告|\n|注意|Info|提醒|\n|提醒|Info|提醒|\n\n</div>\n\n\n## 状态对照\n---\n<div class="md-block">\n \n|OceanBase| Flashduty|状态|\n|---|---|---|\n|停服|Critical|严重|\n|严重|Warning|严重|\n|警告|Warning|警告|\n|注意|Info|提醒|\n|提醒|Info|提醒|\n\n</div>\n';
|
|
26
|
-
const Graylog = '---\ntitle: "Graylog 告警事件"\ndescription: "通过 webhook 的方式同步Graylog告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-06-18T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/graylog-integration-guide"\n---\n\n通过 webhook 的方式同步 Graylog 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **Graylog** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **Graylog** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n\n## 在 Graylog\n---\n<div class="md-block">\n\n## 一、Graylog 告警推送配置\n\n### 步骤1:配置告警通道\n1. 登录 Graylog 控制台。\n2. 菜单中找到 Alerts 并选择 Notifications。\n3. 创建 Create Notification。\n4. 输入 Title 和 Description。\n5. Notification Type 选择 **HTTP Notification**,如下图。\n\n<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/graylog-2.png" />\n\n6. 输入 FlashDuty 获取到的 URL (第一次输入需要对 URL 加白)。\n\n<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/graylog-3.png" />\n\n7. 点击 Save 保存加白的 URL\n\n<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/graylog-1.png" />\n\n8. 保存后,提交 Create。\n\n<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/graylog-5.png" />\n\n### 步骤2:在告警事件中使用 FlashDuty 告警通道\n1. 创建或编辑已有的 Event Definition。\n2. 此处省略其他告警配置(按业务需求配置告警条件)。\n3. 在 Notifications 配置通道。\n4. Add Notifition 选择 FlashDuty 通道。\n5. 点击 Done。\n6. 下一步完成即可。\n\n<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/graylog-4.png" />\n</div>\n\n## 二、状态对照\n\n<div class="md-block">\n \n|Graylog| Flashduty|状态|\n|---|---|---|\n|3|Critical|严重|\n|2|Warning|警告|\n|1|Info|提醒|\n\n</div>\n';
|
|
27
|
-
const Skywalking = '---\ntitle: "Skywalking 告警事件"\ndescription: "通过 webhook 的方式同步 Skywalking 告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-06-20T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/skywallking-integration-guide"\n---\n\n通过 webhook 的方式同步 Skywalking 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **Skywalking** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **Skywalking** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n## 在 Skywalking\n---\n<div class="md-block">\n\n## 一、修改 Skywalking 服务的配置文件\n\n1. 登录 Skywalking 服务器。\n2. 找到 Skywalking 的配置文件 ./config/alarm-settings.yml。\n3. 在告警规则中添加 Level 的 tags。\n\n```\n# v8.6.0+ 及以上版本才支持tags标签,其他版本可以不添加。\n# Level 的对应 value :Critical、Warning、Info。\n# 请注意大小写。\nrules:\n endpoint_relation_resp_time_rule:\n expression: sum(endpoint_relation_resp_time > 1000) >= 2\n period: 10\n message: Response time of endpoint relation {name} is more than 1000ms in 2 minutes of last 10 minutes\n tags:\n Level: Warning\n```\n4. 添加 FlashDuty 的 webhook 地址。\n\n```\n# 在配置文件底部添加\n# v8.8.0 ~ v9.5.0 的添加方式\nwebhooks:\n - url: https://api.flashcat.cloud/event/push/alert/skywalking?integration_key=18c7f1551df55fa28a1a87f0846d9d1e131\n\n# v10.0.0 的添加方式\nhooks:\n webhook:\n default:\n is-default: true\n urls:\n - https://api.flashcat.cloud/event/push/alert/skywalking?integration_key=18c7f1551df55fa28a1a87f0846d9d1e131\n```\n\n5. 编辑完成后,保存并重启 Skywalking 服务,使配置文件生效\n\n\n## 二、状态对照\n\n<div class="md-block">\n \n|Skywalking| Flashduty|状态|\n|---|---|---|\n|Critical|Critical|严重|\n|Warning|Warning|警告|\n|Info|Info|提醒|\n|其他或为空|Info|提醒|\n\n\n</div>\n';
|
|
28
|
-
const Sentry = '---\ntitle: "Sentry 告警事件"\ndescription: "通过 webhook 的方式同步 Sentry 告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-07-05T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/sentry-integration-guide"\n---\n\n通过 webhook 的方式同步 Sentry 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **Sentry** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **Sentry** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n \n</div>\n\n## 在 Sentry\n---\n<div class="md-block">\n\n## 一、前置说明\nSentry 提供了两类告警机制:Issue Alerts 和 Metric Alerts。Issue Alerts 支持通过 Integrations 中的 WebHooks 实现通知功能,而 Metric Alerts 则限定于使用 Internal Integration 进行告警通知。值得注意的是 Internal Integration 不仅适用于 Metric Alerts,也兼容 Issue Alerts。鉴于 Internal Integration 的广泛适用性,我们决定统一采用这一方式,不再单独依赖 WebHooks,以此来简化告警通知的配置。\n\n## 二、Sentry 告警推送配置\n\n### 步骤1:添加 FlashDuty Custom Integrations \n\n1. 登录 Sentry 管理控制台。\n2. 在左侧导航栏,找到 **Settings => Custom Integrations**。\n3. 点击 Create New Integration 并选择 **Internal Integration**。\n4. 在编辑页面。**Name 处填写 FlashDuty,WebhookURL 处复制写入集成的推送地址**。\n5. 开启 **Alert Rule Action**,参考如下图配置:\n\n<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/sentry-1.png" />\n\n\n5. 在 PERMISSIONS 配置中为 **Issue & Event 配置 Read 权限** 。\n6. 在 WEBHOOKS 配置中,勾选 **issue** ,**请不要勾选 error 和 comment**。\n7. 配置完成后,点击 Save Changes 完成创建。\n\n<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/sentry-2.png" />\n\n**关于 WEBHOOKS 配置的特殊说明:** \n1. 勾选 **issue** 后 FlashDuty 可以接收 issue 的 resolved 事件,即在 issue 列表中对某个问题进行手动触发 resolved 时,我们会自动恢复 FlashDuty 中关联的故障。\n2. 不支持 issue 的其他事件,如 create、assigned、archived 和 unresolved。\n3. 如果同时勾选了 error 和 comment ,FlashDuty 并不会接收和处理这类事件。\n\n### 步骤2:在 Alerts 中使用 FlashDuty Integration\n1. 在左侧导航栏,找到 **Alerts => Create Alert**。\n2. 选择要创建的 Alert 类型,如 Issue 。\n\n<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/sentry-3.png" />\n\n3. 触发条件请按需配置。\n\n4. 在 **THEN perform these actions 处 Add action** 并选择 **Send a notification via**。\n\n<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/sentry-4.png" />\n\n5. 通知渠道选择上面添加的 **FlashDuty**。\n\n\n<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/sentry-5.png" />\n\n6. 配置好其他选项后,点击 **Save Rule** 保存即可。\n\n\n## 三、状态对照\n\n<div class="md-block">\n \n|Sentry| Flashduty|状态|\n|---|---|---|\n|critical|Critical|严重|\n|warning|Warning|警告|\n|triggered|Warning|警告|\n|resolved|Ok|恢复|\n\n</div>\n';
|
|
29
|
-
const Jiankongbao = '---\ntitle: "监控宝告警事件"\ndescription: "通过 webhook 的方式同步监控宝告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-08-20T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/jiankongbao-integration-guide"\n---\n\n通过 webhook 的方式同步监控宝告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **监控宝** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **监控宝** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n\n</div>\n\n## 在监控宝\n---\n\n<div class="md-block">\n\n## 一、监控宝告警推送配置\n\n### 步骤1:配置告警通道\n1. 登录监控宝控制台。\n2. 点击右上方的个人配置。\n\n<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/jkb-1.png" />\n\n3. 点击左侧导航栏中的 Webhooks 设置,并点击添加以及选择 URL 回调。\n\n<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/jkb-2.png" />\n\n4. 自定义名称输入 FlashDuty,回调 URL 输入复制集成的推送地址。\n5. 回调方式选择 **POST**,数据格式选择 **JSON**。\n6. 勾选**开启 URL 回调**,其他按需选择即可,参考下图配置。\n\n<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/jkb-3.png" />\n\n7. 点击保存。\n\n\n### 步骤2:在监控任务使用 FlashDuty 告警通道\n1. 创建或编辑已有的监控任务。\n2. 此处省略其他告警配置。\n3. 在 Webhook 通知处,选择 FlashDuty 通道。\n\n<img alt="drawing" width="600" src="https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/doc/jkb-4.png" />\n\n4. 保存监控任务即可。\n</div>\n\n\n## 二、状态对照\n\n<div class="md-block">\n \n|监控宝| Flashduty|状态|\n|---|---|---|\n|1|Warning|警告|\n|2|Info|提醒|\n\n</div>\n';
|
|
30
|
-
const AWSEventBridge = '---\ntitle: "AWS EventBridge 告警事件"\ndescription: "通过 webhook 的方式同步 AWS EventBridge 告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-08-20T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/aws-eventbridge-integration-guide"\n---\n\n通过 webhook 的方式同步 AWS EventBridge 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **AWS EventBridge** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **AWS EventBridge** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n\n</div>\n\n## 在 AWS EventBridge\n---\n\n<div class="md-block">\n\n## 一、AWS EventBridge 告警推送配置\n<span id="1"></span>\n\n### 步骤1:在 API destinations 中创建 Connerction\n1. 登录您的 AWS 控制台,检索 `Amazon Eventbridge` 产品,并进入对应产品控制台。\n2. 在左侧导航栏选择 `Integration=>API destinations`。\n3. 点击 `Connerctions`,并点击 `Create connerction` 创建链接。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/aws-eb-3.png" />\n\n4. 在 `Connection details` 部分中,`Connection name` 处填写 `FlashDuty`。\n5. 在 `Authorization` 部分中,`Destination type` 选择 `Other`。\n6. `Authorization type` 选择 `API Key`。\n7. `API key name` 填写 `FlashDuty`,`Value` 填写集成推送地址的 `integration_key`。\n8. 点击 `Create` 保存即可。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/aws-eb-4.png" />\n\n### 步骤2:创建 API destination\n\n1. 回到 `API destinations` 界面,并点击 `Create API destination`。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/aws-eb-5.png" />\n\n2. 在 `API destination detail` 编辑界面填写相关信息,`Name` 填写 `FlashDuty` 。\n3. `API destination endpoint` 填写集成的推送地址(当前页面填写集成名称,保存后即可生成地址)。\n4. `HTTP method` 选择 `POST`。\n5. `Connection type` 选择 `Use an existing connection` 并在列表中选择步骤1添加的 `FlashDuty` Connection。\n6. 点击 `Create` 保存即可。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/aws-eb-6.png" />\n\n### 步骤3:在 EventBridge Rules 中使用步骤2创建的 API destination\n1. 登录您的 AWS 控制台,检索 `Amazon Eventbridge` 产品,并进入对应产品控制台。\n2. 在左侧导航栏选择 `Buses=>Rules`,创建或编辑已有的规则。\n3. 此处省略其他配置。\n4. 在 `Target types` 处,选择 `EventBridge API destination` 作为目标类型。\n5. 在 `API destination` 中选择 `Use an existing API destination`,并在下拉框中选择步骤2创建的 `FlashDuty` API destination。\n6. `Next` 后按需配置,并保存即可。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/aws-eb-7.png" />\n\n\n## 二、状态对照\n\n<div class="md-block">\n \n1. 由于 AWS EventBridge 的事件并没有严重等级,所以推送至 FlashDuty 的事件等级均为 Warning。\n2. AWS EventBridge 的事件只有触发,没有恢复,所以 FlashDuty 接收到的事件也不会自动关联恢复。\n\n</div>\n\n';
|
|
31
|
-
const Dynatrace = '---\ntitle: "Dynatrace 告警事件"\ndescription: "通过 webhook 的方式同步 Dynatrace 告警事件到 Flashduty,实现告警事件自动化降噪处理。"\ndate: "2024-08-20T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/dynatrace-integration-guide"\n---\n\n通过 webhook 的方式同步 Dynatrace 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **Dynatrace** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **Dynatrace** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n\n</div>\n\n## 在 Dynatrace\n---\n\n<div class="md-block">\n\n## 一、Dynatrace 告警推送配置\n\n1. 登录您的 Dynatrace 控制台。\n2. 在左侧导航栏选择 `Apps`,在 `Manage` 区域找到 `Settings`。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/dyn-1.png" />\n\n3. 找到 `Integration`,选择 `Problem notifications`。\n<dev style="text-align: center;">\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/dyn-2.png" />\n\n</div>\n\n\n4. 点击 `Add notifycation`。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/dyn-3.png" />\n\n5. 在 `Notification type` 处,选择 `Custom Integraion`。\n6. `Display name` 填写 `FlashDuty`。\n7. `Webhook URL` 填写集成的推送地址(当前页面填写集成名称,保存后即可生成地址)。\n8. `Call webhook if problem is closed` 保持开启状态。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/dyn-4.png" />\n\n\n9. `Custom payload` 处,填写以下内容:\n\n```\n{\n "State":"{State}",\n "PID":"{PID}",\n "ProblemTitle":"{ProblemTitle}",\n "ProblemImpact":"{ProblemImpact}",\n "ProblemDetails":"{ProblemDetailsText}",\n "ProblemURL":"{ProblemURL}",\n "ProblemSeverity":"{ProblemSeverity}",\n "ImpactedEntityNames":"{ImpactedEntityNames}",\n "Tags":"{Tags}"\n}\n\n```\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/dyn-5.png" />\n\n10. 点击 `Save changes` 保存即可 。\n\n\n## 二、状态对照\n\n<div class="md-block">\n\n|Dynatrace| Flashduty|状态|\n|---|---|---|\n|AVAILABILITY|Critical|严重|\n|ERROR|Warning|警告|\n|PERFORMANCE|Info|提醒|\n|RESOURCE_CONTENTION|Info|提醒|\n|CUSTOM_ALERT|Info|提醒|\n\n</div>\n';
|
|
32
|
-
const HuaweiyunLTS = '---\ntitle: "华为云日志服务 LTS 告警事件"\ndescription: "通过 webhook 的方式同步华为云日志服务 LTS 告警事件到 Flashduty,实现告警事件自动化降噪处理。"\ndate: "2024-08-20T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/huaweilts-integration-guide"\n---\n\n通过 webhook 的方式同步华为云日志服务 LTS 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **华为云日志服务 LTS** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **华为云日志服务 LTS** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n\n</div>\n\n## 在华为云\n---\n\n<div class="md-block">\n\n## 一、华为云日志服务 LTS 告警推送配置\n\n### 步骤1:创建 FlashDuty 告警通道\n1. 登录您的华为云控制台,检索 `SMN` 消息通知服务产品,并进入对应产品控制台。\n2. 在左侧导航栏选择 `主题管理=>主题`。\n3. 点击 `创建主题`,在编辑页面中的主题名称处输入 `FlashDuty` 并点击确认。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/huawei-lts-1.png" />\n\n4. 回到主题列表后,在刚创建的 FlashDuty 主题中点击 `添加订阅`。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/huawei-lts-2.png" />\n\n5. 在编辑页面中,协议选择 `HTTPS`,订阅终端填写 **集成推送地址** 并点击确认。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/huawei-lts-3.png" />\n\n6. 添加完成后,可以在订阅列表中查看已添加的订阅状态是否为 **已确认**。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/huawei-lts-4.png" />\n\n### 步骤2:配置日志告警的行动规则\n\n1. 登录您的华为云控制台,检索 `LTS` 云日志服务产品,并进入对应产品控制台。\n2. 在左侧导航栏选择 `日志告警=>告警行动规则=>消息模版` 并点击 `创建`。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/huawei-lts-5.png" />\n\n3. 在模版编辑页面中,名称填写 **FlashDuty**,消息头语言选择 `英文`。\n4. 通知类型选择 `HTTP/HTTPS`,数据类型选择 `JSON`。\n5. 点击 `确认` 保存。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/huawei-lts-6.png" />\n\n6. 回到 `告警行动规则` 列表,点击 `创建`。\n7. 规则名称填写 **FlashDuty** ,主题和消息模版都选择已创建的 **FlashDuty** 主题和模版。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/huawei-lts-7.png" />\n\n### 步骤3:在告警规则中使用 步骤2 创建的行动规则\n\n1. 回到 `告警规则` 列表。\n2. 创建或编辑已有的告警规则。\n3. 此处省略其他配置。\n4. 在 `高级设置` 中,通知场景的 `告警触发` 和 `告警恢复` 都要勾选上。\n5. 打开行动规则,并选择 `步骤2` 创建的 **FlashDuty** 规则。\n6. 语言选择 `英文`,完成配置后点击 `确认` 保存即可。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/huawei-lts-8.png" />\n\n\n## 二、状态对照\n\n<div class="md-block">\n \n|LTS| Flashduty|状态|\n|---|---|---|\n|Critical|Critical|严重|\n|Major|Warning|警告|\n|Minor|Info|提醒|\n|Info|Info|提醒|\n\n</div>\n';
|
|
33
|
-
const GoogleCM = '---\ntitle: "GoogleCloudMonitoring 告警事件"\ndescription: "通过 webhook 的方式同步 GoogleCloudMonitoring 告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-07-05T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/gcpcm-integration-guide"\n---\n\n通过 webhook 的方式同步 GoogleCloudMonitoring 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **GCP 云监控** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **GCP 云监控** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n\n</div>\n\n## 在 Google Cloud\n---\n\n<div class="md-block">\n\n## 一、GoogleCloudMonitoring 告警推送配置\n\n### 步骤1:配置告警通道\n1. 登录 GoogleCloud 控制台,检索 `Monitoring` 产品,并进入对应产品控制台\n2. 在左侧菜单中找到 `Alerting` 并点击 `EDIT NOTIFICATION CHANNELS` 创建通道。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/google-cm-1.png" />\n\n3. 在 Notification channels 页面找到 `Webhooks` 并点击 `ADD NEW`。\n4. 在 `Endpoint URL` 处输入集成的推送地址(当前页面填写集成名称,保存后即可生成地址。\n5. 在 `Display Name` 处输入 **FlashDuty** 。\n6. 点击 `TEST CONNECTION` 后,点击 `SAVE` 保存即可。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/google-cm-2.png" />\n\n### 步骤2:在告警策略中使用 FlashDuty 告警通道\n\n1. 回到 `Alerting` 页面。\n2. 创建或编辑已有的策略。\n3. 此处省略其他策略配置(按业务需求配置告警条件)。\n4. 在 `Notifications and name` 页面中,将 `Use notification channel` 保持开启状态。\n5. 在 `Notification channels` 下拉框中选择 **步骤1** 创建的 **FlashDuty** 通道,并勾选 `Notify on incident closure`。\n6. 完成其他配置并保存策略即可。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/google-cm-3.png" />\n\n</div>\n\n\n## 二、状态对照\n\n<div class="md-block">\n \n|GoogleCloudMonitoring| Flashduty|状态|\n|---|---|---|\n|Critical|Critical|严重|\n|Error|Warning|警告|\n|Warning|Warning|警告|\n|No severity|Info|提醒|\n\n</div>\n';
|
|
34
|
-
const Splunk = '---\ntitle: "Splunk 告警事件"\ndescription: "通过 webhook 的方式同步 Splunk 告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-08-20T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/splunk-integration-guide"\n---\n\n通过 webhook 的方式同步 Splunk 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **Splunk** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **Splunk** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n\n</div>\n\n## 在 Splunk\n---\n\n<div class="md-block">\n\n## 一、Splunk 告警推送配置\n\n1. 登录您的 Splunk 控制台。\n2. 在 `Search adn Report` 应用中,搜索想要监控的关键字,比如 error 关键字。\n3. 在右上角的另存为处,选择 `Alerts`,将搜索的关键字配置为监控项。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/splunk-1.png" />\n\n4. 在弹出的配置框中输入相关信息,`set up` 和 `Triggering conditions` 部分,按实际情况配置。\n5. 在 `Trigger Action` 部分,点击 `Add Action` 并选择 `Webhook`。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/splunk-2.png" />\n\n6. 在 `Webhook` 中的 `URL` 处填写集成的推送地址(当前页面填写集成名称,保存后即可生成地址)并保存,即可完成告警配置。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/splunk-3.png" />\n\n</dev>\n\n## 二、状态对照\n\n<div class="md-block">\n由于 Splunk 的告警事件没有区分严重程度,所以 Splunk 推送到 Flashduty的所有告警事件状态都为 Warning 且没有恢复事件。\n</div>\n';
|
|
35
|
-
const AppDynamics = '---\ntitle: "AppDynamics 告警事件"\ndescription: "通过 webhook 的方式同步 AppDynamics 告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-07-05T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/appdynamics-integration-guide"\n---\n\n通过 webhook 的方式同步 AppDynamics 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **AppDynamics** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **AppDynamics** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n\n</div>\n\n## 在 AppDynamics\n---\n\n<div class="md-block">\n\n## 一、AppDynamics 告警推送配置\n\n### 步骤1:配置 FlashDudy 告警通道\n\n1. 登录您的 AppDynamics 控制台。\n2. 找到 `Alert Respond` ,选择 `HTTP Request Templates` 并点击 `New` 新建告警通道。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/appdyn-1.png" />\n\n3. 在模版配置中,`Name` 填写 **FlashDuty** 。\n4. 在 `Request URL` 部分,`Method` 选择 **POST** ,`Raw URL` 填写集成的推送地址(当前页面填写集成名称,保存后即可生成地址)。\n \n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/appdyn-2.png" />\n\n5. 在 `Payload` 部分,`MIME Type` 选择 `application/json`,`Payload Encoding` 选择 `UTF-8`。\n6. 在 `Payload` 文本框中,粘贴一下内容:\n\n```\n{\n "policy_name":"${policy.name}",\n "message": "${latestEvent.eventMessage}",\n "application_name": "${latestEvent.application.name}",\n "link": "${latestEvent.deepLink}",\n "incident_id": "${latestEvent.incident.id}",\n "details": {\n "event_id": "${latestEvent.id}",\n "event_name": "${latestEvent.displayName}",\n "event_time": "${latestEvent.eventTime}",\n "event_type": "${latestEvent.eventType}",\n "health_rule_name":"${latestEvent.healthRule.name}",\n "node_name": "${latestEvent.node.name}",\n "severity": "${latestEvent.severity}"\n }\n}\n\n\n```\n\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/appdyn-3.png" />\n\n\n**特别说明(可选配置)**\n\n配置:`Custom Templating Variables`\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/appdyn-5.png" />\n\n如果需要配置 `Custom Templating Variables` ,可以参考以下 JSON 模版,其中 custom_variables 是固定写法,custom_variables 中的变量是自定义的 `Variables`,页面中定义的名称需要与 JSON 模版中引用的变量名保持一致。\n\n```\n{\n "policy_name":"${policy.name}",\n "message": "${latestEvent.eventMessage}",\n "application_name": "${latestEvent.application.name}",\n "link": "${latestEvent.deepLink}",\n "incident_id": "${latestEvent.incident.id}",\n "details": {\n "event_id": "${latestEvent.id}",\n "event_name": "${latestEvent.displayName}",\n "event_time": "${latestEvent.eventTime}",\n "event_type": "${latestEvent.eventType}",\n "health_rule_name":"${latestEvent.healthRule.name}",\n "event_type_key": "${latestEvent.eventTypeKey}",\n "node_name": "${latestEvent.node.name}",\n "severity": "${latestEvent.severity}"\n },\n "custom_variables":{\n "host":"${host}"\n }\n}\n\n```\n\n7. 在 `Response Handling Criteria` 部分,将 `Failure Criteria` 状态代码设置为 400,将 `Success Criteria` 状态代码设置为 201。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/appdyn-4.png" />\n\n8. 点击 `Save` 保存即可。\n\n### 步骤2:创建 Action\n\n1. 在左侧导航栏中选择 `Actions`,选择要为哪个应用类型创建,并点击 `Create`。\n2. 在弹出的 `Create Action` 框中,选择 `Make an HTTP Request` 并点击 `OK`。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/appdyn-6.png" />\n\n3. 在弹出的 `Create HTTP Action` 框中,输入 Name,`HTTP Request Template` 选择 `步骤1` 创建的 **FlashDuty** 并点击 `SAVE`。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/appdyn-7.png" />\n\n### 步骤3:在告警策略中使用步骤2创建的 Action\n\n1. 在左侧导航栏中选 `Policies`。\n2. 创建或编辑已有的策略(告警规则按需配置即可,此处省略告警规则的配置)。\n3. 在弹出的配置策略页面的 `Actions` 处,点击添加并选择 `步骤2` 创建的 Action 。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/appdyn-8.png" />\n\n4. 其他配置完成后,点击 `Save` 保存即可。\n\n</dev>\n\n## 二、状态对照\n\n<div class="md-block">\n\n|AppDynamics| Flashduty|状态|\n|---|---|---|\n|ERROR|Critical|严重|\n|WARN|Warning|警告|\n|INFO|Info|提醒|\n\n</div>\n';
|
|
36
|
-
const SolarWinds = '---\ntitle: "SolarWinds 告警事件"\ndescription: "通过 webhook 的方式同步 SolarWinds 告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-08-20T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/solarwinds-integration-guide"\n---\n\n通过 webhook 的方式同步 SolarWinds 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **SolarWinds** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **SolarWinds** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n\n</div>\n\n## 在 SolarWinds\n---\n\n<div class="md-block">\n\n## 一、SolarWinds 告警推送配置\n\n### 步骤1:配置 FlashDudy 告警通道\n\n**前提说明**\n1. SolarWinds 的告警类型有五种(Anomaly、Entity、Event、Log、Metric Group),每种类型对应不同的告警通道,所以需要创建五个告警通道,以便在不同告警类型中使用。\n2. 在创建 Webhook 通道过程中,其中 Name 字段建议使用: 类型_FlashDuty 组合的形式,例如:Anomaly_FlashDuty。\n3. 在选择 **Select Custom Body Template Based On The Alert Types** 时,系统会默认生成相应的 **HTTP POST Body**, **生成的模版内容请不要修改**。\n\n**开始创建**\n1. 登录您的 SolarWinds 控制台。\n2. 在左侧导航栏找到 `Settings` ,选择 `Notification Services` 并点击 `Webhook` 进入到新建告警通道页面。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/sw-1.png" />\n\n3. 点击 `CREATE CONFIGURATION` 进行创建相应的告警通道。\n4. 在 `Method` 处选择 **POST** ,`Name` 处可以根据前提说明中的建议进行命名,例如:Anomaly_FlashDuty。\n5. `Destination URL` 填写集成的推送地址(当前页面填写集成名称,保存后即可生成地址)。\n6. `Content Type` 选择 **application/json**。\n7. `Select Custom Body Template Based On The Alert Types` 选择需要创建的类型,例如:Anomaly Based Alert。\n8. `HTTP POST Body` 不需要修改,使用系统默认生成的即可。\n9. 配置完成后,点击 `CREATE` 保存即可。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/sw-2.png" />\n\n10. 如需创建其他类型的 Webhook 通道,重复以上步骤即可。 \n\n### 步骤2:在告警策略中使用步骤1创建的告警通道\n\n1. 在左侧导航栏找到 `Alerts`,选择 `Alert Settings`。\n2. 创建或编辑已有的策略(告警规则按需配置即可,此处省略告警规则的配置)。\n3. 在配置策略页面的 `Actions` 部分中,`Services` 选择 **Webhook** 。\n4. `Configuration` 选择步骤1创建的 Anomaly_FlashDuty 通道。\n5. `Send an additional notification when the Alert is cleared` 保持开启状态。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/sw-4.png" />\n\n6. 其他配置完成后,点击 `Save` 保存即可。\n\n</dev>\n\n## 二、状态对照\n\n<div class="md-block">\n\n|SolarWinds| Flashduty|状态|\n|---|---|---|\n|Critical|Critical|严重|\n|Warning|Warning|警告|\n|Info|Info|提醒|\n\n</div>\n';
|
|
37
|
-
const VolcEngineMetric = '---\ntitle: "火山引擎云监控告警事件"\ndescription: "通过 webhook 的方式同步火山引擎云监控告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-08-20T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/volcengine-metric-integration-guide"\n---\n\n通过 webhook 的方式同步火山引擎云监控告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **火山引擎CM 指标** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **火山引擎CM 指标** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n\n</div>\n\n## 在火山引擎\n---\n\n<div class="md-block">\n\n## 一、火山引擎云监控告警推送配置\n\n### 步骤1:创建 FlashDuty 告警通道\n1. 登录您的火山引擎控制台,检索 `云监控` 产品,并进入对应产品控制台。\n2. 在左侧导航栏选择 `通知组=>回调`。\n3. 点击 `创建回调地址`。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-m-1.png" />\n\n4. 在编辑页面中填写相应的信息,回调地址名称填写 `FlashDuty_Metric`。\n5. 回调地址类型选择 `通用回调地址`。\n6. 回调地址填写**集成的推送地址**(当前页面填写集成名称,保存后即可生成地址)。\n7. 点击 `确认` 即可完成创建(不支持连通性测试,即使点击测试出现连通性失败,也不会影响告警的接收)。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-m-5.png" />\n\n### 步骤2:配置告警策略\n\n1. 在左侧导航栏选择 `告警中心=>告警策略`。\n2. 创建或编辑已有的告警策略(策略请按需配置,此处略过)。\n3. 在策略编辑页面中,`发送聚合策略` 选择 `规则和资源`。\n4. `告警恢复通知` 保持开启状态。\n5. 在 `告警渠道` 中勾选 `告警回调` ,并在告警回调下拉框中选择**步骤1**创建的 `FlashDuty_Metric` 通道。\n6. 其他配置完成后,点击 `确认` 即可完成。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-m-6.png" />\n\n## 二、状态对照\n\n<div class="md-block">\n \n|火山引擎云监控| Flashduty|状态|\n|---|---|---|\n|严重|Critical|严重|\n|警告|Warning|警告|\n|通知|Info|提醒|\n\n</div>\n';
|
|
38
|
-
const VolcEngineEvent = '---\ntitle: "火山引擎云监控事件中心告警事件"\ndescription: "通过 webhook 的方式同步火山引擎云监控事件中心告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-07-05T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/volcengine-event-integration-guide"\n---\n\n通过 webhook 的方式同步火山引擎云监控事件中心告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **火山引擎CM 事件** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **火山引擎CM 指标** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n\n</div>\n\n## 在火山引擎\n---\n\n<div class="md-block">\n\n## 一、火山引擎云监控事件中心告警推送配置\n\n### 步骤1:创建 FlashDuty 告警通道\n1. 登录您的火山引擎控制台,检索 `云监控` 产品,并进入对应产品控制台。\n2. 在左侧导航栏选择 `通知组=>回调`。\n3. 点击 `创建回调地址`。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-m-1.png" />\n\n4. 在编辑页面中填写相应的信息,回调地址名称填写 `FlashDuty_Event`。\n5. 回调地址类型选择 `通用回调地址`。\n6. 回调地址填写**集成的推送地址**(当前页面填写集成名称,保存后即可生成地址)。\n7. 点击 `确认` 即可完成创建(不支持连通性测试,即使点击测试出现连通性失败,也不会影响告警的接收)。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-m-2.png" />\n\n### 步骤2:配置事件规则\n\n1. 在左侧导航栏选择 `事件中心=>事件规则`。\n2. 创建或编辑已有的事件规则(规则请按需配置,此处略过)。\n3. 在规则编辑页面中,投递渠道处勾选 `告警回调`,并在告警回调下拉框中选择**步骤1**创建的 `FlashDuty_Event` 通道。\n4. 其他配置完成后,点击 `确认` 即可完成。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-m-3.png" />\n\n## 二、状态对照\n\n<div class="md-block">\n \n|火山引擎云监控| Flashduty|状态|\n|---|---|---|\n|严重|Critical|严重|\n|警告|Warning|警告|\n|通知|Info|提醒|\n\n</div>\n';
|
|
39
|
-
const VolcEngineTLS = '---\ntitle: "火山引擎日志服务 TLS 告警事件"\ndescription: "通过 webhook 的方式同步火山引擎日志服务 TLS 告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-07-05T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/volcengine-tls-integration-guide"\n---\n\n通过 webhook 的方式同步火山引擎日志服务 TLS 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **火山引擎 TLS** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **火山引擎 TLS** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n\n</div>\n\n## 在火山引擎\n---\n\n<div class="md-block">\n\n## 一、火山引擎日志服务 TLS 告警推送配置\n\n### 步骤1:创建 FlashDuty 告警通道\n1. 登录您的火山引擎控制台,检索 `TLS`日志服务产品,并进入对应产品控制台。\n2. 在左侧导航栏选择 `日志告警=>通知管理`。\n3. 选择 `webhook 告警集成`,并点击 `创建 webhook 告警集成`。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-tls-1.png" />\n\n4. 在弹出的编辑框中填写相应的信息,名称填写 `FlashDuty`。\n5. 类型选择 `自定义 Webhook`,请求方法选择 `POST`。\n6. 请求地址填写**集成的推送地址**(当前页面填写集成名称,保存后即可生成地址)。\n7. 请求头保持默认的即可,配置完成点击 `创建`。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-tls-2.png" />\n\n### 步骤2:创建内容模版\n\n1. 回到 `通知管理` 页面。\n2. 选择 `内容模版`,并点击 `创建内容模版`。\n3. 在创建模版页面中填写相关信息,模版名称填写 `FlashDuty`。\n4. 其他类型的通道内容可为空,在 `自定义Webhook` 的通知内容处,填写以下模版内容。\n\n```\n{\n "AccountID":"{{AccountID}}",\n "ProjectName":"{{ProjectName}}",\n "AlarmTopicName":"{{AlarmTopicName}}",\n "Region":"{{Region}}",\n "Alarm":"{{Alarm}}",\n "AlarmID":"{{AlarmID}}",\n "Duration":"{{Duration}}",\n "Condition":"{{Condition}}",\n "HappenThreshold":"{{HappenThreshold}}",\n "Topics":"{{Topics|join:\',\'}}", \n "NotifyTimeUnix":"{{NotifyTimeUnix}}",\n "NotifyType":"{{NotifyType}}",\n "Severity":"{{Severity}}",\n "ConsecutiveAlertNums":"{{ConsecutiveAlertNums}}",\n "TriggerParams":{{toJson(TriggerParams)|safe}}, \n "ExecuteQuery":{{toJson(ExecuteQuery)|safe}},\n "DetailUrl":"{{DetailUrl}}",\n "FireResultsCount":"{{FireResultsCount}}"\n}\n```\n5. 点击 `确认` 即可完成内容模版的创建。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-tls-3.png" />\n\n### 步骤3:创建通知组\n\n1. 回到 `通知管理` 页面。\n2. 选择 `通知组`,并点击 `创建通知组`。\n3. 在编辑通知组页面中填写相关信息,通知组名称填写 `FlashDuty`。\n4. 通知规则和其他配置可按需配置(此处略过)。\n5. 在通知渠道配置中,接收渠道的 `自定义webhook` 保持勾选状态。\n6. `Webhook` 选择**步骤1**创建的 **FlahDuty** 通道。\n7. `内容模版` 选择**步骤2**创建的 **FlahDuty** 模版。\n8. 其他配置完成后点击 `保存` 即可。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-tls-4.png" />\n\n### 步骤4:配置告警策略\n\n1. 在左侧导航栏选择 `日志告警=>告警策略`。\n2. 创建或编辑已有的告警策略。\n3. 告警规则可按需配置(此处略过)。\n4. 在 `通知组` 处,点击 `关联通知组`。\n5. 在弹出的选择框中,选择**步骤3**创建的 **FlashDuty** 通知组,选择好后,点击 `关联`。\n6. 配置好其他内容后,点击 `创建/保存` 即可完成。 \n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/ve-tls-5.png" />\n\n## 二、状态对照\n\n<div class="md-block">\n \n|TLS| Flashduty|状态|\n|---|---|---|\n|严重|Critical|严重|\n|警告|Warning|警告|\n|通知|Info|提醒|\n\n</div>\n';
|
|
40
|
-
const OpManager = '---\ntitle: "Opmanager 告警事件"\ndescription: "通过 webhook 的方式同步 Opmanager 告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-07-05T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/opmanager-integration-guide"\n---\n\n通过 webhook 的方式同步 OpManager 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **OpManager** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **OpManager** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n## 在 OpManager\n---\n<div class="md-block">\n\n## 一、OpManager 告警推送配置\n\n1. 登录您的 `OpManager` 控制台,在导航菜单中选择 `Settings => Notification Profiles`。\n2. 在 `Notifications` 页面中,点击 `Add` 后选择 `Invoke a Webhook` 添加配置文件。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/opm-1.png" />\n\n3. 开始在 Webhook 编辑页面进行配置具体内容。\n4. `Hook URL` 中的请求方法选择 `POST`,`URL` 填写**告警集成的推送地址**。\n5. `Data Type` 选择 `raw`,`Payload Type` 选择 `JSON`。\n6. `Body Content` 填写以下内容:\n\n```\n{\n "alarmid":"$alarmid",\n "message":"$message",\n "displayName":"$displayName",\n "category":"$category",\n "severity":"$stringseverity",\n "strModTime":"$strModTime",\n "eventType":"$eventType",\n "entity":"$entity",\n "lastPolledValue":"$lastPolledValue",\n "Intf_ifDescr":"$IntfField(ifDescr)",\n "Intf_displayName":"$IntfField(displayName)",\n "Intf_ifAlias":"$IntfField(ifAlias)",\n "Intf_ifName":"$IntfField(ifName)",\n "Intf_ipAddress":"$IntfField(ipAddress)",\n "Intf_physMedia":"$IntfField(physMedia)",\n "Intf_ifIndex(ifIndex)":"$IntfField(ifIndex)",\n "Intf_ifCircuitID(ifCircuitID)":"$IntfField(ifCircuitID)",\n "Intf_ifSpeedIn(ifSpeedIn)":"$IntfField(ifSpeedIn)",\n "Intf_ifSpeedOut(ifSpeedOut)":"$IntfField(ifSpeedOut)",\n "Intf_lineID":"$IntfCustomField(Circuit ID)",\n "Intf_note":"$IntfCustomField(Comments)",\n "Intf_contacts":"$IntfCustomField(Contact Name)",\n "Intf_SLA":"$IntfCustomField(SLA)",\n "Custom_BuildingNo":"$CustomField(Building)",\n "Custom_cabinet":"$CustomField(Cabinet)",\n "Custom_note":"$CustomField(Comments)",\n "Custom_contacts":"$CustomField(Contact Name)",\n "Custom_department":"$CustomField(Department)",\n "Custom_RoomNo":"$CustomField(Floor)",\n "Custom_serial":"$CustomField(SerialNumbe)",\n "Monitor_monitorName":"$MonitorField(monitorName)",\n "Monitor_instance":"$MonitorField(instance)",\n "Monitor_protocol":"$MonitorField(protocol)",\n "Device_type":"$DeviceField(type)",\n "Device_ipAddress":"$DeviceField(ipAddress)",\n "Device_isSNMP":"$DeviceField(isSNMP)",\n "Device_dependent":"$DeviceField(dependent)",\n "Device_hardDiskSize":"$DeviceField(hardDiskSize)",\n "Device_ramSize":"$DeviceField(ramSize)"\n}\n```\n**特殊说明** :暂不支持添加额外的自定义字段,即使在 Body Content 中引用了自定义字段,也不会生效。\n\n7. `Request Headers` 保持默认的即可。\n8. `Time Out` 填写 1-300 之间的任意值,并点击下一步。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/opm-2.png" />\n\n9. 在 `Choose the criteria` 配置条件页面中勾选 `Notify when the alarm is cleared`,其他按需配置即可。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/opm-3.png" />\n\n10. 选择希望应用此配置文件的设备,使用右箭头将它们移动到选定设备窗口,然后点击下一步。\n11. Time Window/Delayed Trigger/Recurring Trigger 可按需配置,然后点击下一步。\n12. 为该配置文件添加名称 `FlashDuty`,然后点击 `Save` 保存即可完成配置。\n\n</dev>\n\n## 二、状态对照\n\n<div class="md-block">\n\n| OpManager | Flashduty | 状态 |\n| ---------- | -------- | ---- |\n| Critical | Critical | 严重 |\n| Service Down | Critical | 严重 |\n| Trouble | Warning | 警告 |\n| Attention | Info | 提醒 |\n\n</div>\n';
|
|
41
|
-
const Meraki = '---\ntitle: "Meraki 告警事件"\ndescription: "通过 webhook 的方式同步 Meraki 告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-07-05T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/meraki-integration-guide"\n---\n\n通过 webhook 的方式同步 Meraki 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **Meraki** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n \n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **Meraki** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n## 在 Meraki\n---\n\n<div class="md-block">\n\n## 一、Meraki 告警推送配置\n\n1. 登录您的 `Meraki` 控制台,选择需要配置告警的设备。\n2. 在 `Alerts` 页面中,按需配置 `Cellular gateway` 和其他部分。\n3. 在 `Webhooks` 处,配置 `HTTPS receivers`。\n4. `Name` 填写 `FlashDuty`,`URL` 填写**告警集成的推送地址**。\n5. `Shared secret` 留空,`Payload template` 保持默认的 `Meraki(included)` 即可。\n6. 点击 `Save` 保存。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/meraki-5.png" />\n\n</dev>\n\n## 二、状态对照\n\n<div class="md-block">\n\n| Meraki | Flashduty | 状态 |\n| ---------- | -------- | ---- |\n| critical | Critical | 严重 |\n| warning | Warning | 警告 |\n| informational | Info | 提醒 |\n\n</div>\n';
|
|
42
|
-
const StateCloud = '---\ntitle: "天翼云告警事件"\ndescription: "通过 webhook 的方式同步天翼云告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-07-05T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/statecloud-integration-guide"\n---\n\n通过 webhook 的方式同步天翼云监控告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n天翼云[二级节点](#二级节点)的资源监控事件推送,请使用华为云集成,请参考 [华为云告警集成指引](https://docs.flashcat.cloud/zh/flashduty/huawei-ces-integration-guide)。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **天翼云** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n\n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **天翼云** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n## 在天翼云\n---\n\n<div class="md-block">\n\n## 一、天翼云告警推送配置\n\n1. 登录您的 `天翼云` 控制台,检索 `云监控服务` 产品,并进入对应产品控制台。\n2. 在 `告警服务` 中,选择 `告警联系人/组`,并完成创建相应的告警联系人/组。\n3. 在 `告警规则` 中,选择创建或修改告警规则。\n4. 在告警规则编辑页面中 `告警回调` 处,填写告警集成的 <span class=\'integration_url\'>推送地址</span> 并点击 `测试`。\n5. 测试成功后,点击 `保存`。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/zh/statecloud/state-1.png" />\n\n</dev>\n\n## 二、状态对照\n\n<div class="md-block">\n\n| 天翼云 | Flashduty | 状态 |\n| ---------- | -------- | ---- |\n| 紧急 | Critical | 严重 |\n| 警示 | Warning | 警告 |\n| 普通 | Info | 提醒 |\n\n## 三、天翼云二级节点列表<span id="二级节点"></span>\n\n| 地区 | 城市 |\n| ---------- | -------- | \n| 华东 | 杭州/南昌/上海4/苏州/芜湖 | \n| 华南 | 长沙2/福州1/广州4/海口/南宁/武汉2 | \n| 西北 | 兰州/乌鲁木齐/西安2/西宁/中卫 | \n| 西南 | 成都3/重庆/贵州1/昆明 |\n| 北方 | 北京2/长春/哈尔滨/华北/内蒙3/青岛/沈阳3/石家庄/太原/天津/郑州 |\n\n\n</div>\n';
|
|
43
|
-
const Guance = '---\ntitle: "观测云告警事件"\ndescription: "通过 webhook 的方式同步观测云告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-07-05T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/guance-integration-guide"\n---\n\n通过 webhook 的方式同步观测云监控告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **观测云** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n\n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **观测云** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n## 在观测云\n---\n\n<div class="md-block">\n\n## 一、告警推送配置\n\n### 步骤1:创建通知对象\n1. 登录您的 `观测云` 控制台,在 `监控` 中,选择 `通知对象管理`。\n2. 点击 `新建通知对象` ,选择 `Webhook`。\n3. 在编辑页面中填写名称为 `Flashduty` ,`Webhook 地址` 填写告警集成的 <span class=\'integration_url\'>推送地址</span>。\n4. 其他按需选择,点击 `确定` 完成创建。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/zh/fd/guance-1.png" />\n\n### 步骤2:创建告警策略\n\n1. 登录您的 `观测云` 控制台,在 `监控` 中,选择 `告警策略管理` 。\n2. 在 `告警策略` 页面, 新建或修改告警策略。\n3. 在告警策略编辑页面的通知配置部分,选择 `等级`,`通知对象` 选择步骤1中创建的 `FlashDuty`。\n4. 其他按需配置,点击 `保存` 完成创建。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/zh/fd/guance-2.png" />\n\n\n\n</dev>\n\n## 二、状态对照\n\n<div class="md-block">\n\n| 观测云 | Flashduty | 状态 |\n| ---------- | -------- | ---- |\n| 紧急 | Critical | 严重 |\n| 重要 | Warning | 警告 |\n| 警告 | Warning | 警告 |\n| 信息 | Info | 提醒 |\n| 数据断档 | Info | 提醒 |\n\n</div>\n';
|
|
44
|
-
const Zilliz = '---\ntitle: "zilliz 告警事件"\ndescription: "通过 webhook 的方式同步 zilliz 告警事件到 Flashduty,实现告警事件自动化降噪处理"\ndate: "2024-07-05T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/zilliz-integration-guide"\n---\n\n通过 webhook 的方式同步 Zilliz 告警事件到 Flashduty,实现告警事件自动化降噪处理。\n\n<div class="hide">\n\n## 在 Flashduty\n---\n您可通过以下2种方式,获取一个集成推送地址,任选其一即可。\n\n### 使用专属集成\n\n当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **协作空间**,进入某个空间的详情页面\n 2. 选择 **集成数据** tab,点击 **添加一个集成**,进入添加集成页面\n 3. 选择 **zilliz** 集成,点击 **保存**,生成卡片。\n 4. 点击生成的卡片,可以查看到 **推送地址**,复制备用,完成。\n\n \n</details>\n\n### 使用共享集成\n\n当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。\n\n<details>\n <summary>展开</summary>\n \n 1. 进入 Flashduty 控制台,选择 **集成中心=>告警事件**,进入集成选择页面。\n 2. 选择 **zilliz** 集成: \n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 点击 **创建路由**,为集成配置路由规则。您可以按条件匹配不同的告警到不同的协作空间,也可以直接设置默认协作空间作为兜底,后续再按需调整。\n 5. 完成。\n \n</details>\n</div>\n\n## 在 zilliz\n---\n\n<div class="md-block">\n\n## 一、告警推送配置\n\n1. 登录您的 `zilliz` 控制台,在 `Project Alerts` 中,创建或修改 `Alert`。\n2. 在 `Alert` 编辑页面中的 `Send to` 部分,选择 `Webhook`,Webhook URL 填写告警集成的<span class=\'integration_url\'>推送地址</span>。\n3. 选中 `Alert Resolution Notification`,其他按需选择。\n4. 点击 `Save` 或 `Create` 完成配置。\n\n<img alt="drawing" width="600" src="https://download.flashcat.cloud/flashduty/doc/zh/fd/zilliz-1.png" />\n\n</dev>\n\n## 二、状态对照\n\n<div class="md-block">\n\n| zilliz | Flashduty | 状态 |\n| ---------- | -------- | ---- |\n| CRITICAL | Critical | 严重 |\n| WARNING | Warning | 警告 |\n\n\n</div>\n\n';
|
|
45
|
-
const CustomChange = '---\ntitle: "自定义变更事件集成指引"\ndescription: "通过标准协议推送自有系统变更事件到 Flashduty,大部分故障由变更导致,变更和告警事件联动有助于快速定位故障原因。"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/custom-change-integration-guide"\n---\n\n通过标准协议推送自有系统变更事件到 Flashduty,大部分故障由变更导致,变更和告警事件联动有助于快速定位故障原因。\n\n:::tips\nFlashduty 已经适配部分常用工单、部署系统的 webhook 协议,对于这些系统您应该首先使用对应的集成,更加简单方便。本集成提供了一个标准的 HTTP 接口,需要允许您开发适配。好处是您可以与任何部署系统集成。\n:::\n\n## 操作步骤\n---\n\n### 在 Flashduty\n\n 1. 进入 Flashduty 控制台,选择 **集成中心=>变更事件**,进入集成选择页面。\n 2. 选择 **自定义事件** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 完成。\n\n\n## 实现协议\n--- \n\n请您参照 [开发文档](https://developer.flashcat.cloud/zh/flashduty/event-api/change-event) 完成协议开发。\n\n## 最佳实践\n---\n\n标签是事件的描述,应尽量丰富标签内容,比如:\n1. 变更的应用范围,如 host,cluster 等\n1. 变更的归属信息,如 team,owner 等\n\n## 常见问题\n---\n\n<details>\n <summary>为什么在Flashduty没有收到变更?</summary>\n\n #### 在 Flashduty\n \n 1. 查看集成是否展示了 **最新事件时间**?如果没有,代表Flashduty没有收到推送,直接优先排查夜莺部分。\n\n #### 在您的系统\n\n 1. 确认您请求的地址,和集成详情中的地址完全一致。\n 2. 确认您的服务可以访问外网 api.flashcat.cloud 域名。如果不可以,您首先需要为 server 开通外网,或单独针对 Flashduty 的域名开通外网访问。\n 3. 打印 Flashduty 服务的响应结果,查看是否有明确信息。\n\n 如果以上步骤执行之后,仍然没有查询到问题根因,请 **携带请求响应中的 request_id** 联系我们。\n \n</details>\n\n';
|
|
46
|
-
const Jira = '---\ntitle: ""\ndescription: ""\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/jira-integration-guide"\n---\n\n通过 webhook 的方式同步 Jira Issue 事件到 Flashduty,实现变更事件收集。\n\n## 使用限制\n---\n\n### 在 Jira\n\n- 您必须拥有修改 **Settings=>System=>Webhooks** 的权限。\n- (如果是私有化部署)您的Jira server 必须能够访问域名 api.flascat.cloud。\n\n## 支持版本\n---\n\n本文适配 **Jira Cloud 和 私有化** 版本。\n\n## 操作步骤\n---\n\n### 在 Flashduty\n\n 1. 进入 Flashduty 控制台,选择 **集成中心=>变更事件**,进入集成选择页面。\n 2. 选择 **Jira** 集成:\n - **集成名称**:为当前集成定义一个名称。\n 3. 点击 **保存** 后,复制当前页面的新生成的 **推送地址** 备用。\n 4. 完成。\n\n### 在 Jira\n\n<div class="md-block">\n\n1. 登录您的 Jira\n2. 进入 **Settings=>System=>Webhooks** 页面,点击 Create 按钮\n3. 填写回调地址为当前集成对应的推送地址,并勾选 Issue Created/Updated/Deleted 三种类型事件\n4. 可选择填写 JQL 来进一步缩小(如特定的 Projects )要同步的事件范围\n5. 点击 Save 按钮,提交配置\n\n<img alt="drawing" src="http://download.flashcat.cloud/jira-webhook.png" />\n\n5. 完成\n\n</div>\n\n## 状态映射\n---\n\n<div class="md-block">\n \nFlashduty 默认提取 webhook payload 中 status.name 信息,并按照下边的映射关系进行状态转换:\n\n| Jira | Flashduty | 状态 |\n| ----------- | ---------- | ------------------ |\n| planned | planned | 已提单 |\n| to do | planned | 已提单 |\n| ready | ready | 即将(或计划)开始 |\n| processing | processing | 进行中 |\n| open | processing | 进行中 |\n| reopen | processing | 进行中 |\n| in progress | processing | 进行中 |\n| canceled | canceled | 已取消(或回滚) |\n| aborted | canceled | 已取消(或回滚) |\n| done | done | 已完成 |\n| resolved | done | 已完成 |\n| closed | done | 已完成 |\n\n如您希望变更此映射关系,请联系 Flashduty。\n\n</div>\n';
|
|
47
|
-
const Lark = '---\ntitle: Contributing to our documentation — Meilisearch documentation\ndescription: The Meilisearch documentation is open-source. Learn how to help make it even better.\nsidebarDepth: 3\n---\n\n通过集成飞书自建应用,实现在飞书端内接收和响应告警的能力。\n\n<div class="hide">\n\n## 视频介绍\n---\n<Video src="https://download.flashcat.cloud/flashduty/video/feishu.mp4"></Video>\n</div>\n\n## 一、创建飞书应用\n---\n\n### 1. 创建自建应用\n\n访问 [飞书开发者后台](https://open.feishu.cn/app),创建企业内自建应用。 (详见飞书开发文档-[创建企业自建应用](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#132c1aac))\n\n<img src="https://download.flashcat.cloud/feishu-slef-app-create.jpg" alt="drawing" width="400"/>\n\n应用图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。\n\n### 2. 复制凭证信息\n\n前往 **凭证与基础信息** 页面,复制 `App ID` 和 `App Secret`备用。\n\n<img src="https://download.flashcat.cloud/feishu-self-app-secret.jpeg" alt="drawing" width="800"/>\n\n### 3. 复制事件回调的 Token 信息\n\n前往 **开发配置-事件与回调-加密策略** 页面,复制 `Encrypt Key`(推荐启用,更安全) 和 `Verification Token`备用。\n\n<img src="https://download.flashcat.cloud/feishu-slef-app-event-subscribe.png" alt="drawing" width="800"/>\n\n## 二、添加飞书集成\n---\n\n回到 Flashduty **集成中心** 页面,选择 **即时消息=>飞书**,在表单中填入 `名称` 以及上一步复制的`App ID`、`App Secret`、`Verification Token` 和 `Encrypt Key`后,点击保存创建。\n\n<img src="https://download.flashcat.cloud/feishu-app-integration-upsert-3.png" alt="drawing" width="800"/>\n\n创建后在列表中会看到刚才添加的飞书集成,点击名称进入详情后,会看到 **网页配置** 地址、**重定向 URL** 地址以及 **消息卡片请求网址** 等信息,后边流程会用到。\n\n<img src="https://download.flashcat.cloud/feishu-app-integration-detail-3.png" alt="drawing" width="800"/>\n\n## 三、配置飞书应用\n---\n\n### 1. 开通并配置应用能力\n\n1). 回到飞书开发者后台,进入刚才创建的飞书应用,进入 **添加应用能力-按能力添加** 页面,同时开通 **网页应用** 和 **机器人** 能力。\n\n<img src="https://download.flashcat.cloud/feishu-slef-app-func-enable.jpeg" alt="drawing" width="800"/>\n\n2). 前往 **网页应用** 页面,配置 `桌面端主页` 和 `移动端主页`,内容均为集成详情中的 **网页配置** 地址。\n\n<img src="https://download.flashcat.cloud/feishu-self-app-web-config-1.png" alt="drawing" width="800"/>\n\n(详见飞书开发文档-[配置应用主页地址](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step1#8366b844))\n\n3). 前往 **事件回调-回调配置** 页面,配置 `消息卡片请求网址`(内容为集成详情中的 **消息卡片请求网址**)并添加回调。\n\n<img src="https://download.flashcat.cloud/feishu-self-app-robot-config.png" alt="drawing" width="800"/>\n<img src="https://download.flashcat.cloud/feishu-self-app-robot-config-1.png" alt="drawing" width="800"/>\n\n### 2. 添加重定向 URL 到飞书应用中\n\n进入 **安全设置** 页面,配置 `重定向URL`,内容为集成详情中的 **重定向 URL**。\n\n<img src="https://download.flashcat.cloud/feishu-self-app-security-config-2.png" alt="drawing" width="800"/>\n\n(详见飞书开发文档-[配置重定向 URL](https://open.feishu.cn/document/uYjL24iN/uYjN3QjL2YzN04iN2cDN?lang=zh-CN#c863e533))\n\n### 3. 申请应用权限\n\n进入 **权限管理** 页面,申请 `im:chat` 和 `im:message` 两项权限。此两项权限将允许当前应用获取自身所在群聊信息以及向群聊或个人发送消息的能力。\n\n<img src="https://download.flashcat.cloud/feishu-self-app-perms-enable.jpg" alt="drawing" width="800"/>\n\n## 四、应用发布与使用\n---\n\n完成上述步骤后,进行应用的发布与使用,管理员审核后即可使用。\n注意:**可用范围** 需要特别配置,推荐 **所有员工**。\n\n<img src="https://download.flashcat.cloud/feishu-self-app-pub.jpg" alt="drawing" width="800"/>\n\n详见飞书开发文档-[应用发布与使用](https://open.feishu.cn/document/uYjL24iN/uMTMuMTMuMTM/development-guide/step-4)。\n\n应用发布后,就可以使用 手机端/PC 端 访问应用。首次访问需要登录并关联(飞书< - >Flashduty)账号,后续可以免登录使用。\n\n1. 手机端:手机端通过 飞书 > 工作台 > 搜索应用名称 > 打开应用 使用网页应用。\n2. PC 端:桌面(PC)端通过 飞书 > 工作台 > 搜索应用名称 > 打开应用 使用网页应用。\n\n## 五、常见问题\n---\n\n1. **消息无法投递到个人**,操作记录提示`未关联应用`?\n\n - 前往 飞书 > 工作台 > 搜索应用名称 > 打开应用,完成一次登录并关联(飞书< - >Flashduty)账号,系统才能拿到用户身份进行消息推送\n\n2. **消息卡片按钮点击无效或报错**?\n\n - 确保账户已经完成关联,前往 飞书 > 工作台 > 搜索应用名称 > 打开应用,完成一次登录并关联(飞书< - >Flashduty)账号。如果已经登录过,尝试点击右上角菜单,切换账户,重新登录来绑定账号\n - 确保已购买足够的 license,已使用 license 情况,可以在控制台 > 费用中心查看\n\n2. **分派策略飞书群聊列表为空**?\n\n - 前往 飞书,选择群聊会话,添加已创建的Flashduty机器人,如下图所示:\n - 回到分派策略配置页面,刷新后重新选择群聊列表\n\n<img alt="drawing" width="800" src="https://download.flashcat.cloud/feishu-self-app-invite-to-chat.jpeg" />\n<img src="https://download.flashcat.cloud/feishu-self-app-notify-rule.png" alt="drawing" width="800"/>\n';
|
|
48
|
-
const Dingtalk = '---\ntitle: "钉钉集成"\ndescription: "通过集成钉钉自建应用,实现在钉钉端内接收和响应告警的能力"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/dingtalk-integration-guide"\n---\n\n通过集成钉钉自建应用,实现在钉钉端内接收和响应告警的能力。\n\n**(本文档以钉钉开放平台新版为例)**\n\n<div class="hide">\n\n## 视频介绍\n---\n<Video src="https://download.flashcat.cloud/flashduty/video/dingding.mp4"></Video>\n</div>\n\n## 一、创建钉钉应用\n---\n\n### 1. 创建自建应用\n\n访问 [钉钉开发者后台](https://open-dev.dingtalk.com/fe/app) - 应用开发 - 企业内部开发,创建应用。 (详见钉钉开发文档-[创建企业内部应用-H5 微应用](https://open.dingtalk.com/document/orgapp/microapplication-creation-and-release-process#title-ovn-666-1ty))\n\n<img src="https://download.flashcat.cloud/dingtalk-self-app-create.png" alt="drawing" width="400"/>\n\n应用图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。\n\n### 2. 复制企业 CorpId\n\n点击页面右上角企业,在下拉菜单中复制 `CorpId` 备用。\n\n<img src="https://download.flashcat.cloud/dingtalk-self-app-cropid.png" alt="drawing" width="500"/>\n\n### 3. 复制应用凭证信息\n\n前往 **凭证与基础信息** 页面,复制 `AgentID`、 `ClientID` 和 `ClientSecret` 备用。\n\n<img src="https://download.flashcat.cloud/dingtalk-self-app-info-1.png" alt="drawing" width="500"/>\n\n### 4. 复制事件订阅信息\n\n前往 **开发配置 - 事件与回调** 页面。\n\n生成 `加密 aes_key` 和 `签名 Token` 备用。\n\n**(注意:生成 aes_key 和 Token 后请将信息临时保存到其它地方,离开页面后信息会消失,后续会用到)**\n\n<img src="https://download.flashcat.cloud/dingtalk-self-app-secret-2.png" alt="drawing" width="500"/>\n\n## 二、添加钉钉集成\n---\n\n回到Flashduty **集成中心** 页面,选择即时消息 > 钉钉,在表单中填入 `集成名称` 以及上一步复制的 应用信息后,点击保存创建。\n\n<img src="https://download.flashcat.cloud/dingtalk-app-integration-upsert-3.png" alt="drawing" width="400"/>\n\n保存后会看到 **网页配置** 地址、**服务器出口 IP** 地址以及 **事件订阅请求网址** 等信息,后边流程会用到。\n\n<img src="https://download.flashcat.cloud/dingtalk-app-integration-detail-3.png" alt="drawing" width="400"/>\n\n## 三、配置钉钉应用\n---\n\n### 1. 添加酷应用、网页应用和机器人\n<img src="https://download.flashcat.cloud/dingtalk-self-app-add.png" alt="drawing" width="500"/>\n\n1)创建酷应用 **酷应用-酷应用列表** 页面,点击 **创建酷应用** 按钮,选择 **扩展到群会话**\n\n<img src="https://download.flashcat.cloud/dingtalk-self-coolapp-create-1.png" alt="drawing" width="500"/>\n\n2)进入到 **编辑酷应用** 页面,完成以下步骤:\n\n2.1) 第一步,填写基本信息,图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png)。\n\n<img src="https://download.flashcat.cloud/dingtalk-self-coolapp-create-baseinfo.png" alt="drawing" width="500"/>\n\n2.2) 第二步,配置功能设计,左侧选中 **群快捷入口** 和 **消息卡片**。群快捷入口图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png),桌面和移动端访问地址请复制集成详情里的 **酷应用网页地址**。\n\n<img src="https://download.flashcat.cloud/dingtalk-self-coolapp-create-design.png" alt="drawing" width="500"/>\n\n2.3) 跳过第三步功能开发,来到第四步 **预览发布**,点击 **发布** 按钮并确认。\n\n### 2. 配置机器人与消息推送\n\n进入 **应用能力-机器人** 页面,打开机器人配置,填写名称并上传图标,图标可使用[Flashduty官方 icon](https://download.flashcat.cloud/flashcat_logo_circular.png),保存即可。\n\n<img src="https://download.flashcat.cloud/dingtalk-self-app-robot-1.png" alt="drawing" width="500"/>\n\n### 3. 配置应用地址\n\n进入 **应用能力-网页应用** 页面\n\n1)配置 **应用首页地址** 和 **PC 端首页地址**,内容为集成详情中的 **应用首页地址** 和 **PC 端首页地址**。\n\n2)点击右上角 **保存**。\n\n<img src="https://download.flashcat.cloud/dingtalk-self-app-developinfo-1.png" alt="drawing" width="500"/>\n\n### 4. 配置事件订阅\n\n1)**开发配置-事件订阅** 页面,配置 **请求网址**,内容为集成详情中的 **事件订阅请求网址**,配置完成后**保存**。\n\n<img src="https://download.flashcat.cloud/dingtalk-self-app-events-1.png" alt="drawing" width="500"/>\n\n2)**保存**按钮下方,选中`群会话更换群名称`、`群内安装酷应用`和`群内卸载酷应用`三种群会话事件,配置完成后**保存**。\n\n<img src="https://download.flashcat.cloud/dingtalk-self-app-event-subscribe-1.png" alt="drawing" width="500"/>\n\n### 5. 申请应用权限\n\n进入 权限管理 页面,申请 `qyapi_chat_manage` 和 `qyapi_robot_sendmsg` 两项权限。此两项权限将允许当前应用获取自身所在群聊信息以及向群聊或个人发送消息的能力。\n\n<img src="https://download.flashcat.cloud/dingtalk-self-app-perms-1.png" alt="drawing" width="600"/>\n\n## 四、应用发布与使用\n---\n\n完成上述步骤后,进行**应用发布-版本管理与发布**,进行创建新版本,然后进行发布(注意把可见范围调整为全部员工,否则其他人无法使用)\n\n<img src="https://download.flashcat.cloud/dingtalk-self-app-version.png" alt="drawing" width="500"/>\n<img src="https://download.flashcat.cloud/dingtalk-self-app-release-1.png" alt="drawing" width="500"/>\n\n应用发布后,就可以使用 手机端/PC 端 访问应用。首次访问需要登录并关联(钉钉< - >Flashduty)账号,后续可以免登录使用。\n\n1. 手机端:手机端通过 钉钉 > 工作台 > 搜索应用名称 > 打开应用 使用网页应用。\n2. PC 端:桌面(PC)端通过 钉钉 > 工作台 > 搜索应用名称 > 打开应用 使用网页应用。\n\n\n## 五、常见问题\n---\n1. **消息无法投递到个人**,操作记录提示`未关联应用`?\n\n - 前往 钉钉 > 工作台 > 搜索应用名称 > 打开应用,完成一次登录并关联(钉钉< - >Flashduty)账号,系统才能拿到用户身份进行消息推送\n\n2. **消息卡片按钮点击无效或报错?**\n\n - 前往 钉钉 > 工作台 > 搜索应用名称 > 打开应用,完成一次登录并关联(钉钉< - >Flashduty)账号。如果已经登录过,尝试点击右上角菜单,切换账户,重新登录来绑定账号\n - 确保已购买足够的 license,已使用 license 情况,可以在控制台 > 费用中心查看\n\n3. **分派策略钉钉群聊列表为空?**\n\n - 前往 钉钉,选择群聊会话安装酷应用,否则无法拿到群聊列表\n - 回到分派策略配置页面,刷新后重新选择群聊列表\n - 如果仍然拿不到群聊列表,请尝试群内卸载酷应用后,重试以上步骤。如果还不可以,请联系客户或专属技术支持\n\n<img src="https://download.flashcat.cloud/dingtalk-self-app-install.png" alt="drawing" width="800"/>\n\n<img src="https://download.flashcat.cloud/dingtalk-self-app-notify-rule.png" alt="drawing" width="800"/>\n\n';
|
|
49
|
-
const Wecom = '---\ntitle: "企业微信集成"\ndescription: "通过集成企业微信第三方应用,实现在企业微信端内接收和响应告警的能力"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/wecom-integration-guide"\n---\n\n通过集成企业微信第三方应用,实现在企业微信端内接收和响应告警的能力。\n\n<div class="hide">\n\n## 视频介绍\n---\n<Video src="https://download.flashcat.cloud/flashduty/video/wechat.mp4"></Video>\n</div>\n\n## 一、安装应用\n---\n\n1. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) - `应用管理` - `第三方`,选择添加第三方应用\n\n<img src="https://download.flashcat.cloud/wecom-app-manage-plat.png" alt="drawing" width="400"/>\n\n2. 搜索栏输入 `flashduty`,检索到应用,并点击 `添加` 按钮\n\n<img src="https://download.flashcat.cloud/wecom-app-search-flashduty.png" alt="drawing" width="400"/>\n\n3. 修改应用 `可见范围`,推荐全员或具体部门节点,防止新增成员时还要修改范围。点击 `同意以上授权并添加`,完成安装\n\n<img src="https://download.flashcat.cloud/wecom-app-agree-flashduty.png" alt="drawing" width="400"/>\n\n4. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame#apps) - `我的企业` 页面,复制 `企业ID` 作为当前页面的 `Corp ID` 填写到集成配置,点击保存,完成集成配置\n\n<img src="https://download.flashcat.cloud/wecom-app-corp-info.png" alt="drawing" width="400"/>\n\n5. **请注意:Flashduty作为企业微信服务商,为您提供 `FlashDuty` 应用的长期免费版本。该应用需要获得企业微信接口调用许可才能使用(免密登录+发消息),该许可目前支持`最多60天`免费,超过后我们必须为您购买企微许可才能使用。**\n\n## 二、常见问题\n---\n\n1. **点击集成保存按钮,报错 `authorize app first`?**\n\n - 请检查您是否完成应用的安装步骤,比如您是否可以在工作台看到 `FlashDuty` 这个应用\n - 请检查您是否正确配置了 `Corp ID`\n\n2. **如何完成账户关联?或消息发送提示`未关联应用`?**\n\n - 登入企业微信客户端(桌面端和移动端均可),进入 `工作台`,找到并进入应用 `FlashDuty`\n - 首次进入应用需要登录,选择成员账号 - 密码或单点登录,登入成功后,即完成 `Flashduty` 到 `企业微信` 账户关联\n - 后续进入应用将免密登录\n\n3. **如何进行故障通知?**\n\n - 必须参照问题 1,先完成账户关联,才能发送通知\n - 进入某个协作空间详情页面-分派策略,在个人渠道部分,选择通知到企业微信集成,完成通知配置\n - 支持对企业微信通知内容进行自定义,您前往模板管理页面,设定自定义模板。注意:**自定义区域展示行数最多 8 行**,超过会被企业微信截断\n\n <img src="https://download.flashcat.cloud/wecom-app-message.png" alt="drawing" width="400"/>\n\n4. **如何在微信内处理告警?**\n\n - 点击卡片消息,直接进入告警详情页面\n - 点击 `开始处理`,直接将告警置为 `处理中` 状态\n - 点击 `直接关闭`,直接将告警置为 `已关闭` 状态\n - 点击 `屏蔽2小时`,直接将告警屏蔽 2 小时,如果想屏蔽更多时间,点击卡片右上角 `...`有更多屏蔽选项\n\n5. **为什么卡片消息提供了 `状态刷新` 按钮?**\n\n - 企业微信限制一次卡片交互后 72 小时只可更新一次。每一次按钮操作,都是一次交互\n - 当告警的状态发生变化时,Flashduty会请求卡片内容更新\n - 当告警状态频繁变化时,可能因为超过更新次数限制,导致卡片无法实时更新,这时可以点击刷新按钮,来获得一次更新卡片状态机会\n\n6. **Mac 桌面端点击卡片消息如何使用 `系统默认浏览器` 打开?**\n\n - Mac 桌面端默认使用端内浏览器打开链接\n - 您可以尝试快捷键 `ctrl` + `command` + `shift` + `d` 开启调试模式,然后选择 `调试 - 浏览器、webView相关 - 系统浏览器打开网页`,来更改链接打开模式。使用同样的快捷键可以关闭调试模式,并保持设置。\n\n7. **故障通知失败,提示`未开通企微许可`?**\n\n - 联系 Flashduty 客服或专属支持,为您购买开通\n';
|
|
50
|
-
const Slack = '---\ntitle: "Slack 集成"\ndescription: "通过集成Slack第三方应用,实现在Slack内接收和响应告警的能力"\ndate: "2024-05-11T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/slack-integration-guide"\n---\n\n通过集成Slack第三方应用,实现在Slack内接收和响应告警的能力。\n\n## 一、安装应用\n---\n\n1. 访问 FlashDuty `集成中心` - `即时消息` - `Slack` - `添加`\n\n2. 页面跳转到Slack的界面,右上角选择 `工作区` ,然后点击 `允许`\n\n<img src="https://download.flashcat.cloud/flashduty/integration/slack/slack_app_options.png" alt="drawing" width="400"/>\n\n3. 输入数据源名称,点击 `保存`\n\n\n## 二、常见问题\n---\n\n1. **分派策略的群聊列表中没有想要的私有频道**\n - 添加应用到频道,需要 步骤一 `安装应用` 未报错\n - 进入到 slack 相关的频道中, 执行 `/invite @FlashDuty` , 提示 `已加入` 或 `已由 xx 添加至 xxx`, 表明添加成功\n\n2. **分派策略的群聊列表中没有想要的公共频道**\n - 将应用授权人添加到公共频道中\n - 或者参考 `常见问题 1` 将应用添加到频道中\n\n3. **点击 安装步骤2的 允许 按钮,报错**\n - 重新操作,可能是服务器跟 Slack 通信有问题,导致授权出现问题,回到添加数据源页面重新操作\n - 重试后仍然报错,联系客服\n\n4. **点击 安装步骤3的 保存 按钮,报错**\n - 重新操作,可能是服务器跟 Slack 通信有问题,FlashDuty去获取永久授权码错误,回到添加数据源页面重新操作\n - 重试后仍然报错,联系客服\n\n5. **Slack App 内 not_authed,报错**\n - 重新操作,可能是 Slack 服务有问题\n - 重试后仍然报错,联系客服\n\n6. **Slack App 内 Operation timed out,报错**\n - 重新操作,可能是服务器跟 Slack 超时了,可能是服务器与 Slack 通信出现了问题\n - 重试后仍然报错,联系客服\n\n7. **Slack App 内 This app responded with Status Code 500,报错**\n - 重新操作,可能是服务报错了,例如 数据源被关闭了\n - 重试后仍然报错,联系客服\n\n8. **Slack App 内 Other questions,报错**\n - 重新操作,遇到了还没被记录的问题\n - 重试后仍然报错,联系客服';
|
|
51
|
-
const MicrosoftTeams = `---
|
|
52
|
-
title: "Microsoft Teams集成"
|
|
53
|
-
description: "通过集成 Microsoft Teams 第三方应用,实现在 Microsoft Teams 内接收和响应告警的能力"
|
|
54
|
-
date: "2024-05-11T10:00:00+08:00"
|
|
55
|
-
url: "https://docs.flashcat.cloud/zh/flashduty/microsoft-teams-integration-guide"
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
通过集成 Microsoft Teams 第三方应用,实现在 Microsoft Teams 内接收和响应告警的能力。
|
|
59
|
-
## 一、安装应用
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
Microsoft Teams 集成现处于 Beta 阶段,在关联前您需要先完成以下操作:
|
|
63
|
-
|
|
64
|
-
::: caution
|
|
65
|
-
此步骤需由 Microsoft Teams 管理员完成
|
|
66
|
-
:::
|
|
67
|
-
|
|
68
|
-
### 1. 下载应用包
|
|
69
|
-
将 [FlashDutyBot.zip](https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/integration/microsoft-teams/FlashDutyBot.zip) 下载到本地
|
|
70
|
-
|
|
71
|
-
### 2. 上传应用包
|
|
72
|
-
进入 **Microsoft Teams,跳转 [+Apps] - [Manage your apps] - [Upload an app] - [Upload an app to your org's app catalog]** 上传应用包 FlashDutyBot.zip
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-

|
|
76
|
-
|
|
77
|
-
### 3. 配置应用可见范围
|
|
78
|
-
进入 Microsoft Teams 管理中心,找到 FlashDuty 应用,将应用可见范围调整为所有人(或者您自定义的范围)
|
|
79
|
-
|
|
80
|
-
::: tip
|
|
81
|
-
如遇到应用状态为 [已阻止],请稍等片刻后刷新页面或手动修改
|
|
82
|
-
:::
|
|
83
|
-

|
|
84
|
-
|
|
85
|
-
### 4. 查看是否添加成功
|
|
86
|
-
等待几分钟,组织成员即可在 [+Apps] - [Built for your org] 找到此应用集成
|
|
87
|
-
|
|
88
|
-

|
|
89
|
-
|
|
90
|
-
## 二、关联团队
|
|
91
|
-
|
|
92
|
-
### 1. 添加 FlashDuty 应用到目标 Team 中
|
|
93
|
-
|
|
94
|
-
#### 1.1 找到 FlashDuty 应用
|
|
95
|
-
如无应用,请联系您的 Microsoft Teams 组织管理员
|
|
96
|
-

|
|
97
|
-
|
|
98
|
-
#### 1.2 添加到目标 Team
|
|
99
|
-
::: caution
|
|
100
|
-
注意:此步必须选择目标 Team 的 General Channel,否则将无法发送故障到 Team 中
|
|
101
|
-
:::
|
|
102
|
-
|
|
103
|
-

|
|
104
|
-
|
|
105
|
-
### 2. 发送关联指令
|
|
106
|
-
@FlashDuty 并发送 linkTeam {ID} 到添加的 Team 中,点击立即关联
|
|
107
|
-
|
|
108
|
-

|
|
109
|
-
|
|
110
|
-
## 三、关联用户
|
|
111
|
-
|
|
112
|
-
### 1. 添加 FlashDuty 应用
|
|
113
|
-
|
|
114
|
-
#### 1.1 找到 FlashDuty 应用
|
|
115
|
-
如无应用,请联系您的 Microsoft Teams 组织管理员
|
|
116
|
-

|
|
117
|
-
|
|
118
|
-
#### 1.2 点击添加按钮
|
|
119
|
-
::: caution
|
|
120
|
-
注意:此步必须选择目标 Team 的 General Channel,否则将无法发送故障到 Team 中
|
|
121
|
-
:::
|
|
122
|
-
|
|
123
|
-

|
|
124
|
-
|
|
125
|
-
### 2. 发送关联指令
|
|
126
|
-
复制指令:linkUser {} 发送到聊天中,再点击立即关联
|
|
127
|
-
|
|
128
|
-

|
|
129
|
-
|
|
130
|
-
## 常见问题
|
|
131
|
-
<details>
|
|
132
|
-
<summary>团队或个人收不到消息</summary>
|
|
133
|
-
请前往集成中心=>即时消息=>Microsoft Teams中的团队和用户是否有关联成功
|
|
134
|
-
</details>
|
|
135
|
-
|
|
136
|
-
<details>
|
|
137
|
-
<summary>怎么查看已关联的团队和用户</summary>
|
|
138
|
-
请前往集成中心=>即时消息=>Microsoft Teams中的关联Teams和关联用户中查看
|
|
139
|
-
</details>
|
|
140
|
-
|
|
141
|
-
<details>
|
|
142
|
-
<summary>怎么取消关联的团队和用户</summary>
|
|
143
|
-
暂不支持
|
|
144
|
-
</details>
|
|
145
|
-
|
|
146
|
-
`;
|
|
147
|
-
const AlertWebhook = '配置告警 Webhook,当告警发生特定操作(如触发、关闭)时,系统通过 HTTP 回调您配置的地址。回调内容将包含告警最新关键信息,您可以与自研工具进行集成。\n\n<span id="EventTypes"></span>\n\n## 一、事件类型\n\n目前支持以下事件类型,未来可能会增加。\n\n<div class="md-block">\n\n| 事件类型 | 释义 |\n| :--------: | :------------------------------------------------------------------------------- |\n| a_new | 集成推送新事件,触发一条新告警 |\n| a_update | 集成推送新事件,合并到一条告警,并更新告警信息(严重程度、状态、labels、描述等) |\n| a_merge | 合并告警至故障 |\n| a_close | 手动关闭告警 |\n\n</div>\n\n## 二、推送描述\n\n### 请求方式\n\n<div class="md-block">\n\nPOST, Content-Type:"application/json"\n\n</div>\n\n### 请求 Payload:\n\n<div class="md-block">\n\n| 字段 | 类型 | 必含 | 释义 |\n| :--------: | :---------------: | :--: | :------------------------------------------------------------------ |\n| event_time | int64 | 是 | 事件发生`毫秒时间戳` |\n| event_type | string | 是 | 事件类型,枚举值见[事件类型](#EventTypes) |\n| event_id | string | 是 | 事件 ID,`同一个事件可能因为超时等原因重试多次,接收方需要能够去重` |\n| person | [Person](#Person) | 否 | 操作人,仅人为动作时存在 |\n| alert | [Alert](#Alert) | 是 | 告警详情 |\n\n<span id="Person"></span>\n**Person**:\n字段|类型|必含|释义\n:-:|:-:|:-:|:---\nperson_id | int64 | 是 | 人员 ID\nperson_name | string | 是 | 人员名称\nemail | string | 是 | 邮件地址\n\n<span id="Alert"></span>\n**Alert**:\n\n| 字段 | 类型 | 必含 | 释义|\n| :--------------: | :-----------: | :--: | :----------------- |\n| alert_id | string | 是 | 告警 ID|\n| data_source_id | int64 | 是 | 集成 ID|\n| data_source_name | string | 是 | 集成名称|\n| data_source_type | string | 是 | 集成类型|\n| channel_id | int64 | 是 | 协作空间 ID|\n| channel_name | string | 是 | 协作空间名称|\n| title | string | 是 | 告警标题|\n| title_rule | string | 否 | 标题生成规则|\n| description | string | 否 | 告警描述|\n| alert_key | string | 是 | 告警关联依据|\n| alert_severity | string | 是 | 严重程度,枚举值:Critical,Warning,Info|\n| alert_status | string | 是 | 告警状态,枚举值:Critical,Warning,Info,Ok|\n| progress | string | 是 | 处理进度,枚举值:Triggered,Closed|\n| created_at | int64 | 是 | 创建时间|\n| updated_at | int64 | 是 | 更新时间|\n| start_time | int64 | 是 | 首次触发时间(平台接收到的首个事件的时间),Unix 秒时间戳|\n| last_time | int64 | 是 | 最新事件时间(平台接收到的最新事件时间),Unix 秒时间戳|\n| end_time | int64 | 否 | 告警恢复时间(平台上一次接收到结束类型事件的时间),Unix 秒时间戳,默认为 0|\n| close_time | int64 | 否 | 关闭时间,不同于 end_time,这个是处理进度的关闭,不代表告警真的恢复。Unix 秒时间戳,默认为 0 |\n| labels | map[string]string | 否 | 标签 KV,Key 和 Value 均为字符串|\n| event_cnt | int64 | 否 | 关联事件个数|\n| incident | [Incident](#Incident) | 否 | 所属故障|\n\n<span id="Incident"></span>\n**Incident**:\n\n| 字段 | 类型 | 必含 | 释义 |\n| :---------: | :----: | :--: | :------- |\n| incident_id | string | 是 | 故障 ID |\n| title | string | 是 | 故障标题 |\n\n</div>\n\n### 请求响应\n\nHTTP status code 为 200,认为推送成功。\n\n### 请求示例\n\n```\ncurl -X POST \'https://example.com/alert/webhook?a=a\' \\\n-H \'Content-Type: application/json\' \\\n-H \'X-Customize-Header-A: a\' \\\n-d \'{\n "alert":{\n "alert_id":"645c3affd2b92d989a0bd824",\n "alert_key":"d21d9e3126f5ae94",\n "alert_severity":"Warning",\n "alert_status":"Warning",\n "channel_id":1163577812973,\n "channel_name":"订单系统",\n "close_time":0,\n "created_at":1683766015,\n "data_source_id":1571358104973,\n "data_source_name":"阿里云 SLS",\n "data_source_ref_id":"",\n "data_source_type":"aliyun-sls.alert",\n "description":"测试发送到FlashDuty告警触发",\n "end_time":0,\n "event_cnt":1,\n "incident":{\n "incident_id":"645db17c9759374196929314",\n "title":"123123123"\n },\n "labels":{\n "a":"a",\n "alert_type":"sls_alert",\n "alert_url":"https://sls.console.aliyun.com/lognext/project/sls-api-testing/alert/alert-1683548531-071659",\n "aliuid":"1082109605037616",\n "check":"测试发送到FlashDuty",\n "fire_results":"{\\"_col0\\":\\"true\\"}",\n "fire_results_count":"1",\n "project":"sls-api-testing",\n "raw_condition":"Count:__count__ \\u003e 0; Condition:",\n "region":"cn-beijing",\n "resource":"d18195cd567c6e8b-5fb6a5e6fb8ad-1f269e0",\n "severity":"6"\n },\n "last_time":1683809153,\n "progress":"Triggered",\n "start_time":1683766013,\n "title":"测试发送到FlashDuty告警触发",\n "title_rule":"$resource::$check",\n "updated_at":1683809170\n },\n "event_id":"ffcf1d47a8d853dc800d000c87e5568b",\n "event_time":1683890681639,\n "event_type":"a_merge",\n "person":{\n "email":"zhangsan@flashcat.cloud",\n "person_id":82138731581973,\n "person_name":"快猫星云"\n }\n}\' -v\n```\n\n## 三、常见问题\n\n1. **服务是否有响应超时时间?**\n\n - 服务需要在 1 秒内返回响应,超过 1 秒则认为响应失败\n\n2. **推送失败后是否会持续推送?**\n\n - 目前 FlashDuty 最多推送一次,未来可能会引入重试机制,也可能因为中间链路超时导致重试,您需要做好幂等处理\n\n3. **如何保证推送顺序?**\n\n - 理论上同一个告警的事件是按照时间顺序进行推送,但是重试等情况可能会导致乱序\n - 服务可以根据 event_time 进行过滤,如果已经收到了更晚的事件,可以直接过滤掉更早的事件,每一次推送都会携带最新的、完整的信息,偶尔丢失事件是可以容忍的\n\n4. **推送来源可信 IP 白名单?**\n - {ip_whitelist}\n - 未来可能会更新,请定期查验\n';
|
|
148
|
-
const IncidentWebhook = '配置故障 Webhook,当故障发生特定操作(如触发、关闭)时,系统通过 HTTP 回调您配置的地址。回调内容将包含故障最新关键信息,您可以与自研工具进行集成。\n\n<span id="EventTypes"></span>\n\n## 一、事件类型\n\n目前支持以下事件类型,未来可能会增加。\n\n<div class="md-block">\n\n| 事件类型 | 释义 |\n| :----------: | :--------------- |\n| i_new | 创建故障(自动或手动创建)|\n| i_assign | 分派故障(自动或手动分派)|\n| i_snooze | 手动暂缓故障 |\n| i_wake | 取消暂缓故障 |\n| i_ack | 手动认领故障 |\n| i_unack | 取消认领故障 |\n| i_storm | 触发风暴提醒 |\n| i_custom | 触发自定义操作 |\n| i_rslv | 关闭故障(自动或手动关闭) |\n| i_reopen | 重新打开故障 |\n| i_merge | 手动合并故障 |\n| i_r_title | 更新故障标题 |\n| i_r_desc | 更新故障描述 |\n| i_r_impact | 更新故障影响 |\n| i_r_rc | 更新故障根因 |\n| i_r_rsltn | 更新故障解决办法 |\n| i_r_severity | 更新故障严重程度 |\n| i_r_field | 更新故障自定义字段 |\n\n</div>\n\n## 二、推送描述\n\n### 请求方式\n\n<div class="md-block">\n\nPOST, Content-Type:"application/json"\n\n</div>\n\n### 请求 Payload:\n\n<div class="md-block">\n\n| 字段 | 类型 | 必含 | 释义 |\n| :--------: | :-------------------: | :--: | :--------- |\n| event_time | int64 | 是 | 事件发生`毫秒时间戳` |\n| event_type | string | 是 | 事件类型,枚举值见[事件类型](#EventTypes) |\n| event_id | string | 是 | 事件 ID,`同一个事件可能因为超时等原因重试多次,接收方需要能够去重` |\n| person | [Person](#Person) | 否 | 操作人,仅人为动作时存在 |\n| incident | [Incident](#Incident) | 是 | 故障详情 |\n\n<span id="Person"></span>\n**Person**:\n字段|类型|必含|释义\n:-:|:-:|:-:|:---\nperson_id | int64 | 是 | 人员 ID\nperson_name | string | 是 | 人员名称\nemail | string | 是 | 邮件地址\n\n<span id="Responder"></span>\n**Responder**:\n字段|类型|必含|释义\n:-:|:-:|:-:|:---\nperson_id | int64 | 是 | 人员 ID\nperson_name | string | 是 | 人员名称\nemail | string | 是 | 邮件地址\nassigned_at | int64| 否 | 分派时间\nacknowledged_at | int64| 否 | 认领时间\n\n<span id="Incident"></span>\n**Incident**:\n\n| 字段 | 类型 | 必含 | 释义 |\n| :---------------: | :-----------------: | :--: | :----------------- |\n| incident_id | string | 是 | 故障 ID |\n| title | string | 是 | 故障标题 |\n| description | string | 否 | 故障描述 |\n| impact | string | 否 | 故障影响 |\n| root_cause | string | 否 | 故障根本原因 |\n| resolution | string | 否 | 故障解决办法 |\n| incident_severity | string | 是 | 严重程度,枚举值:Critical,Warning,Info |\n| incident_status | string | 是 | 故障状态,枚举值:Critical,Warning,Info,Ok |\n| progress | string | 是 | 处理进度,枚举值:Triggered,Processing,Closed |\n| created_at | int64 | 是 | 创建时间 |\n| updated_at | int64 | 是 | 更新时间 |\n| start_time | int64 | 是 | 触发时间,Unix 秒时间戳 |\n| last_time | int64 | 否 | 最新事件时间,关联告警中的最新事件推送时间,Unix 秒时间戳,默认为 0 |\n| end_time | int64 | 否 | 恢复时间,关联的告警全部恢复时,故障也会自动恢复,Unix 秒时间戳,默认为 0 |\n| ack_time | int64 | 否 | 首次认领时间,故障可被多人认领,此时间为最早的认领时间。Unix 秒时间戳,默认为 0 |\n| close_time | int64 | 否 | 关闭时间,end_time代表故障恢复时间,close_time代表处理进度的关闭时间,故障恢复时会同时关闭,故障关闭时不影响故障恢复。Unix 秒时间戳,默认为 0 |\n| snoozed_before | int64 | 否 | 暂缓截止时间\n| labels | map[string]string | 否 | 标签 KV,Key 和 Value 均为字符串。手动创建时无此信息,自动创建时为聚合的第一条告警的标签信息 |\n| fields | map[string]interface{} | 否 | 自定义字段 KV,Key 为字符串,Value 可能为任意类型,取决于字段类型|\n| creator | [Person](#Person) | 否 | 创建人员信息,仅手动创建故障时存在 |\n| closer | [Person](#Person) | 否 | 关闭人员信息,仅手动关闭故障时存在 |\n| responders | [][Responder](#Responder) | 否 | 处理人员信息列表 |\n| alert_cnt | int64 | 否 | 关联告警个数 |\n| channel_id | int64 | 否 | 协作空间ID,为0代表不属于任何空间 |\n| channel_name | string | 否 | 协作空间名称 |\n| detail_url | string | 是 | 详情地址 |\n| group_method | string | 否 | 聚合方式,枚举值:n:不聚合,p:按规则聚合,i:智能聚合 |\n\n\n</div>\n\n### 请求响应\n\nHTTP status code 为 200,认为推送成功。\n\n### 请求示例\n\n```\ncurl -X POST \'https://example.com/incident/webhook?a=a\' \\\n-H \'Content-Type: application/json\' \\\n-H \'X-Customize-Header-A: a\' \\\n-d \'{\n "event_id":"fac0599a2a25529ba2362c0c184b6cfb",\n "event_time":1689335086948,\n "event_type":"i_new",\n "incident":{\n "account_id":74058170041504,\n "account_name":"头铁科技kk",\n "ack_time":0,\n "alert_cnt":0,\n "assigned_to":{\n "assigned_at":1689335086,\n "escalate_rule_id":"64abb8a687e7984845822139",\n "escalate_rule_name":"默认分派",\n "id":"NBRbNwDSTSMijKXdLtBU3T",\n "layer_idx":0,\n "type":"assign"\n },\n "channel_id":1840312623504,\n "channel_name":"Reduce Noise",\n "close_time":0,\n "created_at":1689335086,\n "creator":{\n "email":"toutie@flashcat.cloud",\n "person_id":1552048792504,\n "person_name":"头铁"\n },\n "creator_id":1552048792504,\n "data_source_id":0,\n "dedup_key":"",\n "description":"",\n "detail_url":"http://10.206.0.17:8567/incident/detail/64b1352e376e32c85c56e25b",\n "end_time":0,\n "equals_md5":"",\n "group_method":"n",\n "impact":"",\n "incident_id":"64b1352e376e32c85c56e25b",\n "incident_severity":"Critical",\n "incident_status":"Critical",\n "labels":{\n "check": "cpu idle low"\n },\n "last_time":1689335086,\n "num":"56E25B",\n "progress":"Triggered",\n "resolution":"",\n "responder_ids":[\n 1552048792504\n ],\n "responders":[\n {\n "acknowledged_at":0,\n "assigned_at":1689335086,\n "email":"toutie@flashcat.cloud",\n "person_id":1552048792504,\n "person_name":"头铁"\n }\n ],\n "root_cause":"",\n "snoozed_before":0,\n "start_time":1689335086,\n "title":"ysy028",\n "updated_at":1689335086\n },\n "person":{\n "email":"toutie@flashcat.cloud",\n "person_id":1552048792504,\n "person_name":"头铁"\n }\n}\' -v\n```\n\n## 三、常见问题\n\n1. **服务是否有响应超时时间?**\n\n - 服务需要在 1 秒内返回响应,超过 1 秒则认为响应失败\n\n2. **推送失败后是否会持续推送?**\n\n - 目前 FlashDuty 最多推送一次,未来可能会引入重试机制,也可能因为中间链路超时导致重试,您需要做好幂等处理\n\n3. **如何保证推送顺序?**\n\n - 理论上同一个故障的事件是按照时间顺序进行推送,但是重试等情况可能会导致乱序\n - 服务可以根据 event_time 进行过滤,如果已经收到了更晚的事件,可以直接过滤掉更早的事件,每一次推送都会携带最新的、完整的信息,偶尔丢失事件是可以容忍的\n\n4. **推送来源可信 IP 白名单?**\n - {ip_whitelist}\n - 未来可能会更新,请定期查验';
|
|
149
|
-
const CustomAction = '配置故障 自定义操作,允许您在故障排查期间,快速调用外部接口,实现故障自愈、信息丰富等任何自定义操作。\n\n## 一、创建操作\n\n1. 登录 FlashDuty 控制台,进入【集成中心-Webhook】\n2. 点击添加 自定义操作 集成\n3. 配置 操作名称,此名称将以按钮的形式体现在故障详情中\n4. 配置 协作空间,可以配置多个,但每个协作空间至多添加三个 自定义操作\n5. 配置 Endpoint、自定义 Headers\n6. 保存,完成\n\n## 二、推送描述\n\n### 请求方式\n\n<div class="md-block">\n\nPOST, Content-Type:"application/json"\n\n</div>\n\n### 请求 Payload:\n\n<div class="md-block">\n\n| 字段 | 类型 | 必含 | 释义 |\n| :--------: | :-------------------: | :--: | :--------- |\n| event_time | int64 | 是 | 事件发生`毫秒时间戳` |\n| event_type | string | 是 | 事件类型,固定值`i_custom` |\n| event_id | string | 是 | 事件 ID,`同一个事件可能因为超时等原因重试多次,接收方需要能够去重` |\n| person | [Person](#Person) | 否 | 操作人,仅人为动作时存在 |\n| incident | [Incident](#Incident) | 是 | 故障详情 |\n\n<span id="Person"></span>\n**Person**:\n字段|类型|必含|释义\n:-:|:-:|:-:|:---\nperson_id | int64 | 是 | 人员 ID\nperson_name | string | 是 | 人员名称\nemail | string | 是 | 邮件地址\n\n<span id="Responder"></span>\n**Responder**:\n字段|类型|必含|释义\n:-:|:-:|:-:|:---\nperson_id | int64 | 是 | 人员 ID\nperson_name | string | 是 | 人员名称\nemail | string | 是 | 邮件地址\nassigned_at | int64| 否 | 分派时间\nacknowledged_at | int64| 否 | 认领时间\n\n<span id="Incident"></span>\n**Incident**:\n\n| 字段 | 类型 | 必含 | 释义 |\n| :---------------: | :-----------------: | :--: | :----------------- |\n| incident_id | string | 是 | 故障 ID |\n| title | string | 是 | 故障标题 |\n| description | string | 否 | 故障描述 |\n| impact | string | 否 | 故障影响 |\n| root_cause | string | 否 | 故障根本原因 |\n| resolution | string | 否 | 故障解决办法 |\n| incident_severity | string | 是 | 严重程度,枚举值:Critical,Warning,Info |\n| incident_status | string | 是 | 故障状态,枚举值:Critical,Warning,Info,Ok |\n| progress | string | 是 | 处理进度,枚举值:Triggered,Processing,Closed |\n| created_at | int64 | 是 | 创建时间 |\n| updated_at | int64 | 是 | 更新时间 |\n| start_time | int64 | 是 | 触发时间,Unix 秒时间戳 |\n| last_time | int64 | 否 | 最新事件时间,关联告警中的最新事件推送时间,Unix 秒时间戳,默认为 0 |\n| end_time | int64 | 否 | 恢复时间,关联的告警全部恢复时,故障也会自动恢复,Unix 秒时间戳,默认为 0 |\n| ack_time | int64 | 否 | 首次认领时间,故障可被多人认领,此时间为最早的认领时间。Unix 秒时间戳,默认为 0 |\n| close_time | int64 | 否 | 关闭时间,end_time代表故障恢复时间,close_time代表处理进度的关闭时间,故障恢复时会同时关闭,故障关闭时不影响故障恢复。Unix 秒时间戳,默认为 0 |\n| snoozed_before | int64 | 否 | 暂缓截止时间\n| labels | map[string]string | 否 | 标签 KV,Key 和 Value 均为字符串。手动创建时无此信息,自动创建时为聚合的第一条告警的标签信息 |\n| fields | map[string]interface{} | 否 | 自定义字段 KV,Key 为字符串,Value 可能为任意类型,取决于字段类型|\n| creator | [Person](#Person) | 否 | 创建人员信息,仅手动创建故障时存在 |\n| closer | [Person](#Person) | 否 | 关闭人员信息,仅手动关闭故障时存在 |\n| responders | [][Responder](#Responder) | 否 | 处理人员信息列表 |\n| alerts | [Alert](#Alert) | 否 | 关联告警 |\n| alert_cnt | int64 | 否 | 关联告警个数 |\n| channel_id | int64 | 否 | 协作空间ID,为0代表不属于任何空间 |\n| channel_name | string | 否 | 协作空间名称 |\n| detail_url | string | 是 | 详情地址 |\n| group_method | string | 否 | 聚合方式,枚举值:n:不聚合,p:按规则聚合,i:智能聚合 |\n\n\n<span id="Alert"></span>\n**Alert**:\n\n| 字段 | 类型 | 必含 | 释义|\n| :--------------: | :-----------: | :--: | :----------------- |\n| alert_id | string | 是 | 告警 ID|\n| data_source_id | int64 | 是 | 集成 ID|\n| title | string | 是 | 告警标题|\n| description | string | 否 | 告警描述|\n| alert_key | string | 是 | 告警关联依据|\n| alert_severity | string | 是 | 严重程度,枚举值:Critical,Warning,Info|\n| alert_status | string | 是 | 告警状态,枚举值:Critical,Warning,Info,Ok|\n| progress | string | 是 | 处理进度,枚举值:Triggered,Closed|\n| created_at | int64 | 是 | 创建时间|\n| updated_at | int64 | 是 | 更新时间|\n| start_time | int64 | 是 | 首次触发时间(平台接收到的首个事件的时间),Unix 秒时间戳|\n| last_time | int64 | 是 | 最新事件时间(平台接收到的最新事件时间),Unix 秒时间戳|\n| end_time | int64 | 否 | 告警恢复时间(平台上一次接收到结束类型事件的时间),Unix 秒时间戳,默认为 0|\n| close_time | int64 | 否 | 关闭时间,不同于 end_time,这个是处理进度的关闭,不代表告警真的恢复。Unix 秒时间戳,默认为 0 |\n| labels | map[string]string | 否 | 标签 KV,Key 和 Value 均为字符串|\n\n</div>\n\n### 请求响应\n\nHTTP status code 为 200,认为推送成功。\n\n### 请求示例\n\n```\ncurl -X POST \'https://example.com/incident/action?a=a\' \\\n-H \'Content-Type: application/json\' \\\n-H \'X-Customize-Header-A: a\' \\\n-d \'{\n "event_time": 1700208013988,\n "event_type": "i_custom",\n "incident": {\n "event_id":"fac0599a2a25529ba2362c0c184b6cfb",\n "account_id": 74058170041504,\n "account_name": "头铁科技",\n "ack_time": 0,\n "alert_cnt": 1,\n "alerts": [\n {\n "account_id": 74058170041504,\n "alert_id": "6551f37f8713372ad1054d54",\n "alert_key": "asdflasdfl2xzasd112621",\n "alert_severity": "Critical",\n "alert_status": "Critical",\n "close_time": 0,\n "created_at": 1699869567,\n "data_source_id": 2398086111504,\n "description": "cpu.idle < 20%",\n "end_time": 0,\n "event_cnt": 0,\n "labels": {\n "a": "a",\n "check": "自定义字段测试",\n "cluster": "nj",\n "metric": "node_cpu_seconds_total",\n "resource": "es.nj.01",\n "service": "engine",\n "v": "v"\n },\n "last_time": 1699869562,\n "progress": "Triggered",\n "responder_email": "",\n "responder_id": 0,\n "responder_name": "",\n "start_time": 1699869562,\n "title": "nj / es.nj.01 - 自定义字段测试",\n "title_rule": "$cluster::$resource::$check",\n "updated_at": 1699869576\n }\n ],\n "assigned_to": {\n "assigned_at": 1699869576,\n "escalate_rule_id": "6509344bc1d50d723ca04986",\n "escalate_rule_name": "策略5",\n "id": "VobpBqvTuXgQ7BZzJ2Qu94",\n "layer_idx": 0,\n "type": "assign"\n },\n "channel_id": 1973372625504,\n "channel_name": "lim_test",\n "close_time": 0,\n "created_at": 1699869576,\n "data_source_id": 2398086111504,\n "dedup_key": "asdflasdfl2xzasd112621",\n "description": "cpu.idle < 20%",\n "detail_url": "http://10.206.0.17:8567/incident/detail/6551f3888713372ad1054d57",\n "end_time": 0,\n "equals_md5": "",\n "fields": {\n "impacted_services": [\n "passport",\n "order"\n ],\n "priority": "P3"\n },\n "group_method": "p",\n "impact": "",\n "incident_id": "6551f3888713372ad1054d57",\n "incident_severity": "Critical",\n "incident_status": "Critical",\n "labels": {\n "a": "a",\n "check": "自定义字段测试",\n "cluster": "nj",\n "metric": "node_cpu_seconds_total",\n "resource": "es.nj.01",\n "service": "engine",\n "v": "v"\n },\n "creator":{\n "email":"toutie@flashcat.cloud",\n "person_id":1552048792504,\n "person_name":"头铁"\n },\n "last_time": 1699869562,\n "num": "054D57",\n "progress": "Triggered",\n "resolution": "",\n "responders": [\n {\n "acknowledged_at": 0,\n "assigned_at": 1699869576,\n "email": "zhangsan@toutie.com",\n "person_id": 1234648032504,\n "person_name": "zhangsan"\n }\n ],\n "root_cause": "",\n "snoozed_before": 0,\n "start_time": 1699869562,\n "title": "nj / es.nj.01 - 自定义字段测试",\n "updated_at": 1699929113\n },\n "person": {\n "email": "zhangsan@toutie.com",\n "person_id": 1999632289504,\n "person_name": "zhangsan"\n }\n}\' -v\n```\n\n## 三、使用场景\n\n### 重启主机\n\n当主机内存或CPU打满,触发主机重启脚本,快速完成主机重启。\n\n### 信息丰富\n\n当故障发生时,回调您的服务,根据告警详情调取 Tracing、Logging、拓扑等信息,主动调用 FlashDuty Open API 来更新故障信息,比如增加标签或设定自定义字段,辅助排障。\n\n### 回滚变更\n\n当发生故障时,如果确定故障由变更导致,可以直接触发回调到您的部署平台,开启回滚进程,加速故障恢复。\n\n### 更新 status page\n\n当确定故障影响到线上服务,可以触发外部 status page 更新,及时的通知到您的客户或上下游。\n\n## 四、常见问题\n\n1. **服务是否有响应超时时间?**\n\n - 服务需要在 1 秒内返回响应,超过 1 秒则认为响应失败\n\n\n2. **推送来源可信 IP 白名单?**\n - {ip_whitelist}\n - 未来可能会更新,请定期查验';
|
|
150
|
-
const Templates = '---\ntitle: "配置通知模版"\ndescription: "通过自定义配置模版,可以实现个性化通知内容的需求"\ndate: "2024-05-10T10:00:00+08:00"\nurl: "https://docs.flashcat.cloud/zh/flashduty/template-settings"\n---\n\n<!-- >\n## 视频介绍\n---\n<Video src="https://download.flashcat.cloud/flashduty/video/template.mp4"></Video>\n-->\n\n## 什么场景会使用模板?\n---\n系统在`分派故障`时,使用模板渲染 [Incident](#Incident) 并触发通知,分派可能发生于以下场景:\n\n1. 手动创建故障并分派\n2. 上报告警事件,系统自动生成故障,按匹配到的分派策略进行分派\n3. 故障创建后,手动更改分派,即重新分派\n4. 根据分派策略设置,系统自动升级分派\n5. 故障关闭后重新打开,按照之前的设置,重新分派\n\n我们使用 `Golang模板语法` [template/html](https://pkg.go.dev/html/template@go1.18.1) 解析数据,您可完成任何复杂的渲染需求。\n\n- 中文文档请参考 [这里](https://www.topgoer.com/%E5%B8%B8%E7%94%A8%E6%A0%87%E5%87%86%E5%BA%93/template.html#%E6%A8%A1%E6%9D%BF%E8%AF%AD%E6%B3%95),支持逻辑判断、循环、pipeline 以及常用函数;\n- 我们引用了开源库 [sprig](https://github.com/flashcatcloud/sprig/tree/flashcat),其中包括上百个常用函数,您可直接在模板中直接调用;\n- 如果您期望引入更多函数,欢迎提交 merge request\n\n## 我可以引用哪些变量?\n---\n**引用变量示例**:\n\n```\n// 引用标题\n{{.Title}}\n\n// 引用发起人名称\n{{.Creator.PersonName}}\n\n// 引用resource标签值\n{{.Labels.resource}}\n\n// 引用命名中带”.“的标签值\n{{index .Labels "A.B"}}\n```\n\n**完整变量列表**(直接引用):\n<span id="Incident"></span>\n字段|类型|必含|释义\n:-:|:-:|:-:|:---\nID | string | 是 | 故障 ID\n`Title` | string | 是 | 故障标题\n`Description` | string | 是 | 故障描述,可能为空\nDetailUrl | string | 是 | 故障详情页地址\nNum | string | 是 | 故障短标识,仅用于方便肉眼识别,可能重复\n`IncidentSeverity` | string | 是 | 严重程度,枚举值:Critical,Warning,Info\nIncidentStatus | string | 是 | 故障状态,枚举值:Critical,Warning,Info,Ok\n`Progress` | string | 是 | 处理进度,枚举值:Triggered,Processing,Closed\n`StartTime` | int64 | 是 | 触发时间,Unix 秒时间戳\nLastTime | int64 | 否 | 最新事件时间,关联告警中的最新合入事件时间,Unix 秒时间戳,默认为 0\nEndTime | int64 | 否 | 恢复时间,关联的告警全部恢复时,故障会自动恢复且自动关闭。Unix 秒时间戳,默认为 0\nSnoozedBefore | int64 | 否 | 屏蔽截止时间,Unix 秒时间戳,默认为 0\nAckTime | int64 | 否 | 首次认领时间,Unix 秒时间戳,默认为 0\nCloseTime | int64 | 否 | 关闭时间,end_time 为故障恢复时间,close_time 为处理进度的关闭时间,故障恢复时会自动关闭,故障手动关闭时不影响故障恢复。Unix 秒时间戳,默认为 0\nCreator | [Person](#Person) | 否 | 发起人信息,系统自动生成时不存在\nCloser | [Person](#Person) | 否 | 关闭人信息,故障自动恢复时不存在\nAssignedTo | [Assignment](Assignment) | 否 | 分派配置\nResponders | [][Responder](#Responder) | 否 | 处理人列表,根据分派配置初始化,如果有非分派人员认领了故障,也会存在对应记录\nChannelID | int64 | 否 | 协作空间 ID,当手动创建全局故障时值为 0\nChannelName | string | 否 | 协作空间名称\nGroupMethod | string | 否 | 聚合方式,枚举值:n:不聚合,p:按规则聚合,i:智能聚合\n`Labels` | map[string]string | 否 | 标签 KV,Key 和 Value 均为字符串。手动创建时无此信息,自动创建时为聚合的第一条告警的标签信息\nAlertCnt | int64 | 是 | 关联告警个数\nAlerts | [][Alert](#Alert) | 否 | 关联告警详情,手动创建时无此信息\nFireType | string | 否 | 通知类型,枚举值:fire:通知,refire:循环通知\nIsFlapping | bool | 否 | 是否处于抖动状态,即频繁发生与恢复,与收敛配置有关\nImpact | string | 否 | 故障影响,故障关闭后填写\nRootCause | string | 否 | 故障根因,故障关闭后填写\nResolution | string | 否 | 故障解决办法,故障关闭后填写\n\n<span id="Person"></span>\n**Person**(间接引用):\n字段|类型|必含|释义\n:-:|:-:|:-:|:---\nperson_id | int64 | 是 | 人员 ID\nperson_name | string | 是 | 人员名称\nemail | string | 是 | 邮件地址\n\n<span id="Assignment"></span>\n**Assignment**(间接引用):\n字段|类型|必含|释义\n:-:|:-:|:-:|:---\nPersonIDs | []string| 否 | 人员 ID 列表,仅当按照人员分派时存在\nEscalateRuleID | string | 否 | 分派策略 ID,仅当按照策略分派时存在\nEscalateRuleName | string | 否 | 分派策略名称\nLayerIdx | string | 否 | 分派环节,对应分派策略的层级索引,从 0 开始\nType | string | 是 | 分派类型,枚举值:assign:分派,reassign:重新分派,escalate:升级分派,reopen:重开分派\n\n<span id="Responder"></span>\n**Responder**(间接引用):\n字段|类型|必含|释义\n:-:|:-:|:-:|:---\nPersonID | int64 | 是 | 人员 ID\nPersonName | string | 是 | 人员名称\nEmail | string | 是 | 邮件地址\nAssignedAt | int64 | 是 | 分派时间,Unix 秒时间戳,默认为 0\nAcknowledgedAt | int64 | 否 | 认领时间,Unix 秒时间戳,默认为 0\n\n<span id="Alert"></span>\n**Alert**(间接引用):\n字段|类型|必含|释义\n:-:|:-:|:-:|:---\nTitle | string | 是 | 告警标题\nDescription | string | 是 | 告警描述,可能为空\nAlertSeverity | string | 是 | 严重程度,枚举值:Critical,Warning,Info\nAlertStatus | string | 是 | 告警状态,枚举值:Critical,Warning,Info,Ok\nProgress | string | 是 | 处理进度,枚举值:Triggered,Processing,Closed\nStartTime | int64 | 是 | 触发时间,Unix 秒时间戳\nEndTime | int64 | 否 | 恢复时间,Unix 秒时间戳,默认为 0\nCloseTime | int64 | 否 | 关闭时间,EndTime 为告警恢复时间,CloseTime 为处理进度的关闭时间,告警恢复时会自动关闭,告警手动关闭时不影响告警恢复。Unix 秒时间戳,默认为 0\n`Labels` | map[string]string | 否 | 标签 KV,Key 和 Value 均为字符串\n\n## 常见问题\n---\n1. **我如何知道`Labels`具体有哪些标签信息?**\n\n - 手动创建的故障没有标签;\n - 自动创建的故障存在标签,与合入的第一条告警的标签相同。前往 `故障列表` 页面,找到一条故障并查看故障详情,可以看到全部标签信息\n\n2. **我配置按照自定义模板渲染,实际发送内容却使用了`默认模板`?**\n\n - 创建自定义模板时,系统使用 mock 数据来渲染模板,以检查语法错误;\n - mock 数据覆盖场景有限,可能无法匹配到您模板中部分逻辑分支,在实际运行时,可能会渲染失败;\n - 渲染失败后,系统将使用默认模板兜底,来保证消息可达;\n - 推荐您在不确定引用变量是否存在时,使用逻辑判断来避免渲染异常,如`resource`标签:\n\n ```\n // 错误做法:直接读取标签\n {{.Labels.resource}}\n\n // 推荐做法:先判断,再读取标签\n {{if .Labels.resource}}{{.Labels.resource}}{{end}}\n ```\n\n3. **故障标题含有“>”之类的`字符转义`?**\n\n ```\n // 使用toHtml函数\n {{toHtml .Title}}\n\n // 使用第一个不为空的值进行渲染,避免写复杂的if逻辑\n {{toHtml .Title .TitleEnglish}}\n ```\n\n4. **时间变量都是时间戳类型,如何`转换时间格式`?**\n\n ```\n // date函数,将时间戳转换可读格式\n // "2006-01-02 15:04:05"是一种常见格式,更多格式请检索网络\n {{date "2006-01-02 15:04:05" .StartTime}}\n\n // ago函数,将时间差转换为可读格式\n {{ago .StartTime}}\n ```\n\n5. **如何在 for 循环内部引用外部变量?**\n ```\n // 在外部变量前增加”$“\n {{range .Responders}}\n {{if eq $.Progress "Triggered"}}\n 【待处理】{{.Email}}\n {{end}}\n {{end}}\n ```\n6. **如何提取命名中带”.“的字段值,如标签中的“obj.instance”的信息?**\n\n ```\n // 使用index函数\n {{index .Labels "obj.instance"}}\n ```\n\n7. **如何提取故障关联告警中某个label的信息并去重?**\n\n ```\n // 使用alertLabels函数,得到去重后的数组\n {{alertLabels . "resource"}}\n\n // 使用joinAlertLabels函数,得到去重后的数组,然后按照“sep”来拼接为字符串\n {{joinAlertLabels . "resource" "sep"}}\n ```\n\n8. **如何遍历并打印labels?**\n\n ```\n // 完整遍历\n {{range $k, $v := .Labels}}\n {{$k}} : {{toHtml $v}}\n {{end}}\n\n // 排除单个label\n {{range $k, $v := .Labels}}\n {{if ne $k "resource"}}\n {{$k}} : {{toHtml $v}}\n {{end}}\n {{end}}\n\n // 排除多个labels\n {{range $k, $v := .Labels}}\n {{if not (in $k "resource" "body_text")}}\n {{$k}} : {{toHtml $v}}\n {{end}}\n {{end}}\n \n9. **如何从 json 字段中提取信息?**\n \n - jsonGet 函数可以帮助您从 json 格式的数据中,通过 path 提取出符合条件的值。\n - 被 jsonGet 函数提取的目标数据必须是合法的 json。\n - 基本使用方法:{{jsonGet .Labels.xxx "yyy" }},其中 xxx 必须为合法 json,yyy 是合法提取路径。\n - json path 语法请参考 [gjson.dev](https://gjson.dev/),您可输入目标数据和提取 path,进行实时预览。\n \n ```\n // 提取 rule_note 标签中的 detail_url 字段\n {{jsonGet .Labels.rule_note "detail_url"}}\n\n // 提取 json 数组中第一个元素的 name 字段\n {{jsonGet .Labels.slice "0.name"}}\n \n // 遍历 json 数组的每一个元素,匹配 userId==7777 这个对象的 instanceId 字段\n {{jsonGet .Labels.rule_note "#(userId==7777)#.instanceId" }}\n\n ```\n\n\n10. **如何查阅更多的函数及其使用示例?**\n - 函数列表:https://github.com/flashcatcloud/sprig/blob/master/functions.go#L97\n - 使用示例:查看对应的\\_test.go 文件,比如 date 函数测试用例见 https://github.com/flashcatcloud/sprig/blob/master/date_test.go\n\n以下为各通知渠道具体说明。\n\n\n## 飞书应用\n---\n您需要预先配置 `集成中心-即时消息-飞书` 集成,才能发送消息卡片。如果不设置自定义内容,将采用系统默认模板,渲染全部标签信息:\n\n```\n{{if .Description}}**description** :{{toHtml .Labels.body_text .Description}}{{end}}\n{{if .Labels.resource}}**resource** : {{toHtml (joinAlertLabels . "resource" ", ")}}{{end}}\n{{range $k, $v := .Labels}}\n{{if not (in $k "resource" "body_text")}}**{{$k}}** : {{toHtml $v}}{{end}}{{end}}\n```\n\n如下图所示:\n\n<img src="https://download.flashcat.cloud/flashduty/changelog/20230720/feishu_app_render.png" alt="drawing" style="display: block; margin: 0 auto;" width="500"/>\n\n如果您期望仅展示关键标签信息,可以参照下边的代码段:\n\n- 我们列出了一些常见标签,您可自行删减;\n- 在飞书应用中,系统会自动帮您删除(因标签不存在导致的)渲染空行,您可放心配置\n\n```\n{{if (index .Labels "resource")}}resource:{{toHtml (joinAlertLabels . "resource" ", ")}}{{end}}\n{{if (index .Labels "check")}}check:{{toHtml (index .Labels "check")}}{{end}}\n{{if (index .Labels "metric")}}metric:{{index .Labels "metric"}}{{end}}\n{{if (index .Labels "prom_ql")}}prom_ql:{{toHtml (index .Labels "prom_ql")}}{{end}}\n{{if (index .Labels "host_ql")}}host_ql:{{toHtml (index .Labels "host_ql")}}{{end}}\n{{if (index .Labels "trigger_value")}}trigger_value:{{index .Labels "trigger_value"}}{{end}}\n{{if (index .Labels "region")}}region:{{index .Labels "region"}}{{end}}\n{{if (index .Labels "cluster")}}cluster:{{index .Labels "cluster"}}{{end}}\n{{if (index .Labels "business")}}business:{{index .Labels "business"}}{{end}}\n{{if (index .Labels "service")}}service:{{index .Labels "service"}}{{end}}\n{{if (index .Labels "env")}}env:{{index .Labels "env"}}{{end}}\n{{if (index .Labels "type")}}type:{{index .Labels "type"}}{{end}}\n{{if (index .Labels "topic")}}topic:{{index .Labels "topic"}}{{end}}\n{{if (index .Labels "cpu")}}cpu:{{index .Labels "cpu"}}{{end}}\n{{if (index .Labels "device")}}device:{{index .Labels "device"}}{{end}}\n{{if (index .Labels "path")}}path:{{index .Labels "path"}}{{end}}\n{{if (index .Labels "fstype")}}fstype:{{index .Labels "fstype"}}{{end}}\n{{if (index .Labels "name")}}name:{{index .Labels "name"}}{{end}}\n{{if (index .Labels "mode")}}mode:{{index .Labels "mode"}}{{end}}\n{{if (index .Labels "runbook_url")}}runbook_url:{{toHtml (index .Labels "runbook_url")}}{{end}}\n```\n\n\n\n## 钉钉应用\n---\n您需要预先配置 `集成中心-即时消息-钉钉` 集成,才能发送消息卡片。如果不设置自定义内容,将采用系统默认模板,渲染全部标签信息:\n\n```\n{{if .Description}}**description** :{{toHtml .Labels.body_text .Description}}{{end}}\n{{if .Labels.resource}}**resource** : {{toHtml (joinAlertLabels . "resource" ", ")}}{{end}}\n{{range $k, $v := .Labels}}\n{{if not (in $k "resource" "body_text")}}**{{$k}}** : {{toHtml $v}}{{end}}{{end}}\n```\n\n如下图所示:\n\n<img src="https://download.flashcat.cloud/flashduty/changelog/20230720/dingtalk_app_render.png" alt="drawing" style="display: block; margin: 0 auto;" width="500"/>\n\n如果您期望仅展示关键标签信息,可以参照下边的代码段:\n\n- 我们列出了一些常见标签,您可自行删减;\n- 在钉钉应用中,系统会自动帮您删除(因标签不存在导致的)渲染空行,您可放心配置\n\n```\n{{if (index .Labels "resource")}}**resource**:{{toHtml (joinAlertLabels . "resource" ", ")}}{{end}}\n{{if (index .Labels "metric")}}**metric**:{{index .Labels "metric"}}{{end}}\n{{if (index .Labels "prom_ql")}}**prom_ql**:{{toHtml (index .Labels "prom_ql")}}{{end}}\n{{if (index .Labels "trigger_value")}}**trigger_value**:{{index .Labels "trigger_value"}}{{end}}\n{{if (index .Labels "host_ql")}}**host_ql**:{{toHtml (index .Labels "host_ql")}}{{end}}\n{{if (index .Labels "region")}}**region**:{{index .Labels "region"}}{{end}}\n{{if (index .Labels "cluster")}}**cluster**:{{index .Labels "cluster"}}{{end}}\n{{if (index .Labels "business")}}**business**:{{index .Labels "business"}}{{end}}\n{{if (index .Labels "service")}}**service**:{{index .Labels "service"}}{{end}}\n{{if (index .Labels "env")}}**env**:{{index .Labels "env"}}{{end}}\n{{if (index .Labels "type")}}**type**:{{index .Labels "type"}}{{end}}\n{{if (index .Labels "topic")}}**topic**:{{index .Labels "topic"}}{{end}}\n{{if (index .Labels "cpu")}}**cpu**:{{index .Labels "cpu"}}{{end}}\n{{if (index .Labels "device")}}**device**:{{index .Labels "device"}}{{end}}\n{{if (index .Labels "path")}}**path**:{{index .Labels "path"}}{{end}}\n{{if (index .Labels "fstype")}}**fstype**:{{index .Labels "fstype"}}{{end}}\n{{if (index .Labels "name")}}**name**:{{index .Labels "name"}}{{end}}\n{{if (index .Labels "mode")}}**mode**:{{index .Labels "mode"}}{{end}}\n{{if (index .Labels "runbook_url")}}**runbook_url**:{{index .Labels "runbook_url"}}{{end}}\n```\n\n\n## 企业微信应用\n---\n\n您需要预先配置 `集成中心-即时消息-企业微信` 集成,才能发送消息卡片。如果不设置自定义内容,将采用系统默认模板,仅渲染常见标签信息:\n\n- 我们列出了一些常见标签,您可自行删减;\n- 在企业微信应用中,系统会自动帮您删除(因标签不存在导致的)渲染空行,您可放心配置\n\n```\n{{if (index .Labels "resource")}}resource:{{toHtml (joinAlertLabels . "resource" ", ")}}{{end}}\n{{if (index .Labels "metric")}}metric:{{index .Labels "metric"}}{{end}}\n{{if (index .Labels "prom_ql")}}prom_ql:{{toHtml (index .Labels "prom_ql")}}{{end}}\n{{if (index .Labels "trigger_value")}}trigger_value:{{index .Labels "trigger_value"}}{{end}}\n{{if (index .Labels "host_ql")}}host_ql:{{toHtml (index .Labels "host_ql")}}{{end}}\n{{if (index .Labels "region")}}region:{{index .Labels "region"}}{{end}}\n{{if (index .Labels "cluster")}}cluster:{{index .Labels "cluster"}}{{end}}\n{{if (index .Labels "business")}}business:{{index .Labels "business"}}{{end}}\n{{if (index .Labels "service")}}service:{{index .Labels "service"}}{{end}}\n{{if (index .Labels "env")}}env:{{index .Labels "env"}}{{end}}\n{{if (index .Labels "type")}}type:{{index .Labels "type"}}{{end}}\n{{if (index .Labels "topic")}}topic:{{index .Labels "topic"}}{{end}}\n{{if (index .Labels "cpu")}}cpu:{{index .Labels "cpu"}}{{end}}\n{{if (index .Labels "device")}}device:{{index .Labels "device"}}{{end}}\n{{if (index .Labels "path")}}path:{{index .Labels "path"}}{{end}}\n{{if (index .Labels "fstype")}}fstype:{{index .Labels "fstype"}}{{end}}\n{{if (index .Labels "name")}}name:{{index .Labels "name"}}{{end}}\n{{if (index .Labels "mode")}}mode:{{index .Labels "mode"}}{{end}}\n{{if (index .Labels "runbook_url")}}runbook_url:{{toHtml (index .Labels "runbook_url")}}{{end}}\n```\n\n如下图所示:\n\n<img src="https://download.flashcat.cloud/flashduty/changelog/20230720/wecom_app_render.png" alt="drawing" style="display: block; margin: 0 auto;" width="500"/>\n\n**注意,企业微信限制了卡片长度,在模板渲染区域,您最多可以渲染不超过 8 行内容,超过 8 行的部分将被隐藏**\n\n\n\n## Slack 应用\n---\n您需要预先配置 `集成中心-即时消息- Slack` 集成,才能发送消息卡片。如果不设置自定义内容,将采用系统默认模板,仅渲染常见标签信息:\n\n```\n{{if .Description}}*description* :{{toHtml .Labels.body_text .Description}}{{end}}\n{{if .Labels.resource}}*resource* : {{toHtml (joinAlertLabels . "resource" ", ")}}{{end}}\n{{range $k, $v := .Labels}}\n{{if not (in $k "resource" "body_text")}}*{{$k}}* : {{toHtml $v}}{{end}}{{end}}\n```\n\n\n如下图所示:\n\n<img src="https://download.flashcat.cloud/flashduty/integration/slack/slack_app_message.png" alt="drawing" style="display: block; margin: 0 auto;" width="600"/>\n\n如果您期望仅展示关键标签信息,可以参照下边的代码段:\n\n- 我们列出了一些常见标签,您可自行删减;\n- 消息可以发送长度为15000左右字符,超出后截断发送;\n- 在 Slack 应用中,系统会自动帮您删除(因标签不存在导致的)渲染空行,您可放心配置\n\n```\n{{if (index .Labels "resource")}}*resource*:{{toHtml (joinAlertLabels . "resource" ", ")}}{{end}}\n{{if (index .Labels "metric")}}*metric*:{{index .Labels "metric"}}{{end}}\n{{if (index .Labels "prom_ql")}}*prom_ql*:{{toHtml (index .Labels "prom_ql")}}{{end}}\n{{if (index .Labels "trigger_value")}}*trigger_value*:{{index .Labels "trigger_value"}}{{end}}\n{{if (index .Labels "host_ql")}}*host_ql*:{{index .Labels "host_ql"}}{{end}}\n{{if (index .Labels "region")}}*region*:{{index .Labels "region"}}{{end}}\n{{if (index .Labels "cluster")}}*cluster*:{{index .Labels "cluster"}}{{end}}\n{{if (index .Labels "business")}}*business*:{{index .Labels "business"}}{{end}}\n{{if (index .Labels "service")}}*service*:{{index .Labels "service"}}{{end}}\n{{if (index .Labels "env")}}*env*:{{index .Labels "env"}}{{end}}\n{{if (index .Labels "type")}}*type*:{{index .Labels "type"}}{{end}}\n{{if (index .Labels "topic")}}*topic*:{{index .Labels "topic"}}{{end}}\n{{if (index .Labels "cpu")}}*cpu*:{{index .Labels "cpu"}}{{end}}\n{{if (index .Labels "device")}}*device*:{{index .Labels "device"}}{{end}}\n{{if (index .Labels "path")}}*path*:{{index .Labels "path"}}{{end}}\n{{if (index .Labels "fstype")}}*fstype*:{{index .Labels "fstype"}}{{end}}\n{{if (index .Labels "name")}}*name*:{{index .Labels "name"}}{{end}}\n{{if (index .Labels "mode")}}*mode*:{{index .Labels "mode"}}{{end}}\n{{if (index .Labels "runbook_url")}}*runbook_url*:{{index .Labels "runbook_url"}}{{end}}\n```\n\n\n\n## Microsoft Teams 应用\n---\n您需要预先配置 `集成中心-即时消息- Microsoft Teams` 集成,才能发送消息卡片。如果不设置自定义内容,将采用系统默认模板,仅渲染常见标签信息:\n\n```\n{{if .Description}}**description** :{{toHtml .Labels.body_text .Description}}{{end}}\n{{if .Labels.resource}}**resource** : {{toHtml (joinAlertLabels . "resource" ", ")}}{{end}}\n{{range $k, $v := .Labels}}\n{{if not (in $k "resource" "body_text" "body_text_with_table")}}**{{$k}}** : {{toHtml $v}}{{end}}{{end}}\n```\n\n\n如下图所示:\n\n<img src="https://download.flashcat.cloud/flashduty/integration/microsoft-teams/teams_app_message.png" alt="drawing" style="display: block; margin: 0 auto;" width="300"/>\n\n如果您期望仅展示关键标签信息,可以参照下边的代码段:\n\n- 我们列出了一些常见标签,您可自行删减;\n- 消息可以发送长度为 28KB 左右字节,超出后报错;\n- 在 Microsoft Teams 应用中,系统会自动帮您删除(因标签不存在导致的)渲染空行,您可放心配置\n\n```\n{{if (index .Labels "resource")}}**resource**:{{toHtml (joinAlertLabels . "resource" ", ")}}{{end}}\n{{if (index .Labels "metric")}}**metric**:{{index .Labels "metric"}}{{end}}\n{{if (index .Labels "prom_ql")}}**prom_ql**:{{toHtml (index .Labels "prom_ql")}}{{end}}\n{{if (index .Labels "trigger_value")}}**trigger_value**:{{index .Labels "trigger_value"}}{{end}}\n{{if (index .Labels "host_ql")}}**host_ql**:{{index .Labels "host_ql"}}{{end}}\n{{if (index .Labels "region")}}**region**:{{index .Labels "region"}}{{end}}\n{{if (index .Labels "cluster")}}**cluster**:{{index .Labels "cluster"}}{{end}}\n{{if (index .Labels "business")}}**business**:{{index .Labels "business"}}{{end}}\n{{if (index .Labels "service")}}**service**:{{index .Labels "service"}}{{end}}\n{{if (index .Labels "env")}}**env**:{{index .Labels "env"}}{{end}}\n{{if (index .Labels "type")}}**type**:{{index .Labels "type"}}{{end}}\n{{if (index .Labels "topic")}}**topic**:{{index .Labels "topic"}}{{end}}\n{{if (index .Labels "cpu")}}**cpu**:{{index .Labels "cpu"}}{{end}}\n{{if (index .Labels "device")}}**device**:{{index .Labels "device"}}{{end}}\n{{if (index .Labels "path")}}**path**:{{index .Labels "path"}}{{end}}\n{{if (index .Labels "fstype")}}**fstype**:{{index .Labels "fstype"}}{{end}}\n{{if (index .Labels "name")}}**name**:{{index .Labels "name"}}{{end}}\n{{if (index .Labels "mode")}}**mode**:{{index .Labels "mode"}}{{end}}\n{{if (index .Labels "runbook_url")}}**runbook_url**:{{index .Labels "runbook_url"}}{{end}}\n```\n\n\n\n\n\n## Microsoft Teams 应用\n---\n您需要预先配置 `集成中心-即时消息- Microsoft Teams` 集成,才能发送消息卡片。如果不设置自定义内容,将采用系统默认模板,仅渲染常见标签信息:\n\n```\n{{if .Description}}**description** :{{toHtml .Labels.body_text .Description}}{{end}}\n{{if .Labels.resource}}**resource** : {{toHtml (joinAlertLabels . "resource" ", ")}}{{end}}\n{{range $k, $v := .Labels}}\n{{if not (in $k "resource" "body_text" "body_text_with_table")}}**{{$k}}** : {{toHtml $v}}{{end}}{{end}}\n```\n\n\n如下图所示:\n\n<img src="https://download.flashcat.cloud/flashduty/integration/microsoft-teams/teams_app_message.png" alt="drawing" style="display: block; margin: 0 auto;" width="300"/>\n\n如果您期望仅展示关键标签信息,可以参照下边的代码段:\n\n- 我们列出了一些常见标签,您可自行删减;\n- 消息可以发送长度为 28KB 左右字节,超出后报错;\n- 在 Microsoft Teams 应用中,系统会自动帮您删除(因标签不存在导致的)渲染空行,您可放心配置\n\n```\n{{if (index .Labels "resource")}}**resource**:{{toHtml (joinAlertLabels . "resource" ", ")}}{{end}}\n{{if (index .Labels "metric")}}**metric**:{{index .Labels "metric"}}{{end}}\n{{if (index .Labels "prom_ql")}}**prom_ql**:{{toHtml (index .Labels "prom_ql")}}{{end}}\n{{if (index .Labels "trigger_value")}}**trigger_value**:{{index .Labels "trigger_value"}}{{end}}\n{{if (index .Labels "host_ql")}}**host_ql**:{{index .Labels "host_ql"}}{{end}}\n{{if (index .Labels "region")}}**region**:{{index .Labels "region"}}{{end}}\n{{if (index .Labels "cluster")}}**cluster**:{{index .Labels "cluster"}}{{end}}\n{{if (index .Labels "business")}}**business**:{{index .Labels "business"}}{{end}}\n{{if (index .Labels "service")}}**service**:{{index .Labels "service"}}{{end}}\n{{if (index .Labels "env")}}**env**:{{index .Labels "env"}}{{end}}\n{{if (index .Labels "type")}}**type**:{{index .Labels "type"}}{{end}}\n{{if (index .Labels "topic")}}**topic**:{{index .Labels "topic"}}{{end}}\n{{if (index .Labels "cpu")}}**cpu**:{{index .Labels "cpu"}}{{end}}\n{{if (index .Labels "device")}}**device**:{{index .Labels "device"}}{{end}}\n{{if (index .Labels "path")}}**path**:{{index .Labels "path"}}{{end}}\n{{if (index .Labels "fstype")}}**fstype**:{{index .Labels "fstype"}}{{end}}\n{{if (index .Labels "name")}}**name**:{{index .Labels "name"}}{{end}}\n{{if (index .Labels "mode")}}**mode**:{{index .Labels "mode"}}{{end}}\n{{if (index .Labels "runbook_url")}}**runbook_url**:{{index .Labels "runbook_url"}}{{end}}\n```\n\n\n\n## 飞书机器人\n---\n飞书机器人仅支持发送纯文本消息。\n\n- 消息`最大长度为4000字节,超出后截断发送`;\n- 如果文本中包含`<br>`,渲染时会`先删除空行,再将<br>替换为换行符`;\n- 如果不设置自定义内容,将采用系统默认模板,仅展示关键信息:\n\n```\n{{fireReason .}}INC #{{.Num}} {{toHtml .Title}}\n-----\n协作空间:{{if .ChannelName}}{{.ChannelName}}{{else}}无{{end}}\n严重程度:{{.IncidentSeverity}}\n触发时间:{{date "2006-01-02 15:04:05" .StartTime}}\n持续时长:{{ago .StartTime}}{{if gt .AlertCnt 1}}\n聚合告警:{{.AlertCnt}}条{{end}}{{if .Labels.resource}}\n告警对象:{{toHtml (joinAlertLabels . "resource" ", ")}}{{end}}{{if .Description}}\n故障描述:{{toHtml .Description}}{{end}}{{if gt (len .Responders) 0}}\n分派人员:{{range .Responders}}@{{.PersonName}} {{end}}{{end}}\n<br>详情:{{.DetailUrl}}\n```\n\n\n\n## 钉钉机器人\n---\n钉钉机器人仅支持发送 Markdown 消息([语法限制](https://open.dingtalk.com/document/robots/custom-robot-access#title-7ur-3ok-s1a))。\n\n- 消息`最大长度为4000字节,超出后截断发送`;\n- 如果文本中包含`<br>`,渲染时会`先删除空行,再将<br>替换为换行符`;\n- 如果不设置自定义内容,将采用系统默认模板,仅展示关键信息:\n\n```\n{{fireReason .}}INC [#{{.Num}}]({{.DetailUrl}}) {{toHtml .Title}}\n\n---\n- 协作空间:{{if .ChannelName}}{{.ChannelName}}{{else}}无{{end}}\n- 严重程度:{{$s := colorSeverity .IncidentSeverity}}{{toHtml $s}}\n- 触发时间:{{date "2006-01-02 15:04:05" .StartTime}}\n- 持续时长:{{ago .StartTime}}{{if gt .AlertCnt 1}}\n- 聚合告警:{{.AlertCnt}}条{{end}}{{if .Labels.resource}}\n- 告警对象:{{toHtml (joinAlertLabels . "resource" ", ")}}{{end}}{{if .Description}}\n- 故障描述:{{toHtml .Description}}{{end}}{{if gt (len .Responders) 0}}\n- 分派人员:{{range .Responders}}@{{.PersonName}} {{end}}{{end}}\n---\n<br>[详情]({{.DetailUrl}})|[认领]({{.DetailUrl}}?ack=1)\n```\n\n\n\n## 企业微信机器人\n---\n企微机器人仅支持发送 Markdown 消息([语法限制](https://developer.work.weixin.qq.com/document/path/91770#markdown%E7%B1%BB%E5%9E%8B))。\n\n- 消息`最大长度为4000字节,超出后截断发送`;\n- 如果文本中包含`<br>`,渲染时会`先删除空行,再将<br>替换为换行符`;\n- 如果不设置自定义内容,将采用系统默认模板,仅展示关键信息:\n\n```\n{{fireReason .}}**INC [#{{.Num}}]({{.DetailUrl}}) {{toHtml .Title}}**\n> 协作空间:<font color="warning">{{if .ChannelName}}{{.ChannelName}}{{else}}无{{end}}</font>\n> 严重程度:<font color="warning">{{.IncidentSeverity}}</font>\n> 触发时间:{{date "2006-01-02 15:04:05" .StartTime}}\n> 持续时长:{{ago .StartTime}}{{if gt .AlertCnt 1}}\n> 聚合告警:{{.AlertCnt}}条{{end}}{{if .Labels.resource}}\n> 告警对象:{{toHtml (joinAlertLabels . "resource" ", ")}}{{end}}{{if .Description}}\n> 故障描述:{{toHtml .Description}}{{end}}{{if gt (len .Responders) 0}}\n> 分派人员:{{range .Responders}}@{{.PersonName}} {{end}}{{end}}\n<br>[详情]({{.DetailUrl}})|[认领]({{.DetailUrl}}?ack=1)\n```\n\n\n\n## Telegram 机器人\n---\n- 配置国内能访问的Telegram服务地址;\n- 消息`最大长度为4096字符,超出后不发送`;\n- 如果文本中包含`<br>`,渲染时会`先删除空行,再将<br>替换为换行符`;\n- 如果不设置自定义内容,将采用系统默认模板,仅展示关键信息:\n\n```\n{{fireReason .}}INC [#{{.Num}}]({{.DetailUrl}}) {{toHtml .Title}}\n-----\n协作空间:{{if .ChannelName}}{{.ChannelName}}{{else}}无{{end}}\n严重程度:{{.IncidentSeverity}}\n触发时间:{{date "2006-01-02 15:04:05" .StartTime}}\n持续时长:{{ago .StartTime}}{{if gt .AlertCnt 1}}\n聚合告警:{{.AlertCnt}}条{{end}}{{if .Labels.resource}}\n告警对象:{{toHtml (joinAlertLabels . "resource" ", ")}}({{.Labels.resource}}){{end}}{{if .Description}}\n故障描述:{{toHtml .Description}}{{end}}{{if gt (len .Responders) 0}}\n分派人员:{{range .Responders}}@{{.PersonName}} {{end}}{{end}}\n\n<br>[详情]({{.DetailUrl}})|[认领]({{.DetailUrl}}?ack=1)\n```\n\n\n\n## Slack 机器人\n---\n- 消息`可以发送长度为15000左右字符,超出后截断发送`;\n- 如果文本中包含`<br>`,渲染时会`先删除空行,再将<br>替换为换行符`;\n- 如果不设置自定义内容,将采用系统默认模板,仅展示关键信息:\n\n```\n{{fireReason .}}INC <{{.DetailUrl}}|#{{.Num}}> {{toHtml .Title}}\n-----\n协作空间:{{if .ChannelName}}{{.ChannelName}}{{else}}无{{end}}\n严重程度:{{.IncidentSeverity}}\n触发时间:{{date "2006-01-02 15:04:05" .StartTime}}\n持续时长:{{ago .StartTime}}{{if gt .AlertCnt 1}}\n聚合告警:{{.AlertCnt}}条{{end}}{{if .Labels.resource}}\n告警对象:{{toHtml (joinAlertLabels . "resource" ", ")}}{{end}}{{if .Description}}\n故障描述:{{toHtml .Description}}{{end}}{{if gt (len .Responders) 0}}\n分派人员:{{range .Responders}}@{{.PersonName}} {{end}}{{end}}\n-----\n<br><{{.DetailUrl}}|详情>|<{{.DetailUrl}}?ack=1|认领>\n```\n\n## Zoom 机器人\n---\n- 消息`可以发送长度为4000左右字符,超出后截断发送`;\n- 如果文本中包含`<br>`,渲染时会`先删除空行,再将<br>替换为换行符`;\n- 消息格式 `遵循Zoom消息格式`,当前机器人应用不支持Markdown,其他格式可以参考官网: https://developers.zoom.us/docs/team-chat-apps/customizing-messages/\n- 如果不设置自定义内容,将采用系统默认模板,仅展示关键信息:\n\n```\n{"head": {\n "text": "{{fireReason .}}INC [#{{.Num}}] {{toHtml .Title}}",\n "style": {\n "bold": true,\n "italic": false,\n "color": "{{$s := serverityToColor .IncidentSeverity}}{{toHtml $s}}"\n }\n },\n "body": [\n {\n "type": "message",\n "text": "协作空间:{{if .ChannelName}}{{.ChannelName}}{{else}}无{{end}}",\n "style": {\n "bold": false,\n "italic": false\n }\n },\n {\n "type": "message",\n "text": "严重程度:{{.IncidentSeverity}}",\n "style": {\n "bold": false,\n "italic": false,\n "color": "{{$s := serverityToColor .IncidentSeverity}}{{toHtml $s}}"\n }\n },\n {\n "type": "message",\n "text": "持续时长:{{ago .StartTime}}{{if gt .AlertCnt 1}}",\n "style": {\n "bold": false,\n "italic": false\n }\n },\n {\n "type": "message",\n "text": "聚合告警:{{.AlertCnt}}条{{end}}{{if .Labels.resource}}",\n "style": {\n "bold": false,\n "italic": false\n }\n },\n {\n "type": "message",\n "text": "告警对象:{{.Labels.resource}}{{end}}{{if .Description}}",\n "style": {\n "bold": false,\n "italic": false\n }\n },\n {\n "type": "message",\n "text": "故障描述:{{toHtml .Description}}{{end}}{{if gt (len .Responders) 0}}",\n "style": {\n "bold": false,\n "italic": false\n }\n },\n {\n "type": "message",\n "text": "分派人员:{{range .Responders}}@{{.PersonName}}{{end}}{{end}}",\n "style": {\n "bold": false,\n "italic": false\n }\n },\n {\n "type": "message",\n "text": "查看详情",\n "link": "{{.DetailUrl}}{{if .IsFlapping}}"\n },\n {\n "type": "message",\n "text": "注意:当前故障状态变化频繁,将收敛通知{{.Flapping.MuteMinutes}}分钟,建议您优化告警策略。{{end}}{{if .IsInStorm}}",\n "style": {\n "bold": true,\n "italic": false\n }\n },\n {\n "type": "message",\n "text": "注意:当前故障已聚合{{.AlertCnt}}条告警,触发告警风暴,请加急处理!{{end}}",\n "style": {\n "bold": true,\n "italic": false\n }\n }\n ]\n}\n```\n\n\n\n## 短信\n---\n如果不设置自定义内容,将采用系统默认模板渲染通知:\n\n```\n您有故障待处理:{{toHtml .Title}},协作空间:{{.ChannelName}},等级:{{.IncidentSeverity}}{{if gt .AlertCnt 1}},共聚合{{.AlertCnt}}条告警{{end}}\n```\n\n\n\n## 邮件\n---\n如果不设置自定义内容,将采用系统默认模板渲染通知:\n\n```\n<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\n<title>{{.Title}}</title>\n<html lang="zh">\n\n <head data-id="__react-email-head">\n <style>\n .bg-Critical { background-color: #C80000; }\n .bg-Warning { background-color: #FA7D00; }\n .bg-Info { background-color: #FABE00; }\n .bg-Ok { background-color: rgb(132 204 22); }\n .text-Critical { color: #C80000; }\n .text-Warning { color: #FA7D00; }\n .text-Info { color: #FABE00; }\n .text-Ok { color: rgb(132 204 22); }\n .text-title {font-weight:500;width:6rem;flex-shrink:0}\n .text-content {color:rgb(55,65,81)}\n </style>\n </head>\n\n <body data-id="__react-email-body" style="background-color:rgb(255,255,255);border-radius:0.25rem;margin-top:2.5rem;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;padding:1rem;min-width:400px;max-width:660px;font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji">\n <div style="width:100%;height:0.375rem;margin-bottom:2rem" class="bg-{{.IncidentSeverity}}"></div>\n <div style="display:flex;align-items:center;margin-bottom:1.5rem">\n <div style="display:flex;align-items:flex-end;gap:1rem"><img witdh="120" data-id="react-email-img" src="https://console.flashcat.cloud/image/saas-logo.png" height="40" style="display:block;outline:none;border:none;text-decoration:none" /><span style="font-size:1.25rem;line-height:1.75rem;font-weight:600">您有故障待处理</span></div>\n </div>\n <div style="background-color:rgb(243,244,246);padding:2rem;margin-top:1rem;border-radius:0.5rem">\n <div style="display:flex;flex-direction:column;gap:0.75rem">\n <div style="display:flex">\n <div class="text-title">故障标题</div>\n <div class="text-content">{{.Title}}</div>\n </div>\n <div style="display:flex">\n <div class="text-title">严重程度</div>\n <div class="text-{{.IncidentSeverity}}">{{.IncidentSeverity}}</div>\n </div>\n <div style="display:flex">\n <div class="text-title">协作空间</div>\n <div class="text-content">{{if .ChannelName}}{{.ChannelName}}{{else}}无{{end}}</div>\n </div>\n <div style="display:flex">\n <div class="text-title">触发时间</div>\n <div class="text-content">{{date "2006-01-02 15:04:05" .StartTime}}</div>\n </div>\n {{if .CreatorID}}\n <div style="display:flex">\n <div class="text-title">发起人员</div>\n <div class="text-content">{{.Creator.PersonName}}</div>\n </div>\n {{end}}\n {{if gt (len .Responders) 0}}\n <div style="display:flex">\n <div class="text-title">分派人员</div>\n <div class="text-content">{{range .Responders}}@{{.PersonName}} {{end}}</div>\n </div>\n {{end}}\n <div style="display:flex">\n <div class="text-title">处理进度</div>\n <div class="text-content">{{.Progress}}</div>\n </div>\n <div style="display:flex">\n <div class="text-title">故障描述</div>\n <div style="color:rgb(55,65,81);margin-top:0.125rem">\n <div data-id="react-email-markdown">{{toHtml .Description}}</div>\n </div>\n </div>\n {{if .Labels.resource}}\n <div style="display:flex;margin-bottom:0.5rem;">\n <div style="color:#000;font-weight:500;width:6rem;margin-right:1rem;">告警对象</div>\n <div style="color:rgb(55,65,81);margin-top:0.125rem">\n <div data-id="react-email-markdown">{{toHtml (joinAlertLabels . "resource" ", ")}}</div>\n </div>\n </div>\n {{end}}\n </div>\n <div style="display:flex;gap:1rem;margin-top:2rem"><a href="{{.DetailUrl}}?ack=1" data-id="react-email-button" target="_blank" style="line-height:100%;text-decoration:none;display:inline-block;max-width:100%;padding:0px 0px"><span></span><span style="max-width:100%;display:inline-block;line-height:120%;mso-padding-alt:0px;mso-text-raise:0"><div style="padding-left:2rem;padding-right:2rem;padding-top:0.5rem;padding-bottom:0.5rem;background-color:rgb(108,83,177);border-radius:0.25rem;font-size:1rem;line-height:1.5rem;color:rgb(255,255,255);font-weight:600;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms">立即认领</div></span><span></span></a><a href="{{.DetailUrl}}" data-id="react-email-button" target="_blank" style="color:#61dafb;line-height:100%;text-decoration:none;display:inline-block;max-width:100%;padding:0px 0px"><span></span><span style="max-width:100%;display:inline-block;line-height:120%;mso-padding-alt:0px;mso-text-raise:0"><div style="padding-left:2rem;padding-right:2rem;padding-top:0.5rem;padding-bottom:0.5rem;background-color:rgb(255,255,255);border-width: 1px;border-style:solid;border-color:rgb(229,231,235);border-radius:0.25rem;font-size:1rem;line-height:1.5rem;color:rgb(0,0,0);font-weight:600">查看详情</div></span><span></span></a></div>\n </div>\n <div style="display:flex;justify-content:flex-end;align-items:flex-end;margin-top:2rem">\n <div style="font-size:0.875rem;line-height:1.25rem;font-weight:500">ALL RIGHTS RESERVED © 北京快猫星云科技有限公司</div>\n </div>\n </body>\n\n</html>\n```\n\n如下图所示:\n\n<img src="https://download.flashcat.cloud/flashduty/changelog/20230720/email_render.png" alt="drawing" style="display: block; margin: 0 auto;" width="500"/>\n\n\n';
|
|
151
|
-
const zhDocs = {
|
|
152
|
-
CustomAlert,
|
|
153
|
-
Email,
|
|
154
|
-
N9e,
|
|
155
|
-
Prometheus,
|
|
156
|
-
Grafana,
|
|
157
|
-
Zabbix,
|
|
158
|
-
UptimeKuma,
|
|
159
|
-
AliyunARMS,
|
|
160
|
-
AliyunCmEvent,
|
|
161
|
-
AliyunCm,
|
|
162
|
-
AliyunSLS,
|
|
163
|
-
AWSCW,
|
|
164
|
-
AzureMonitor,
|
|
165
|
-
BaiDuBCM,
|
|
166
|
-
HuaWeiCES,
|
|
167
|
-
InfluxDB,
|
|
168
|
-
OpenFalcon,
|
|
169
|
-
PagerDuty,
|
|
170
|
-
TencentBK,
|
|
171
|
-
TencentCLS,
|
|
172
|
-
TencentCm,
|
|
173
|
-
TencentEb,
|
|
174
|
-
OceanBase,
|
|
175
|
-
Graylog,
|
|
176
|
-
Skywalking,
|
|
177
|
-
Sentry,
|
|
178
|
-
Jiankongbao,
|
|
179
|
-
AWSEventBridge,
|
|
180
|
-
Dynatrace,
|
|
181
|
-
HuaweiyunLTS,
|
|
182
|
-
GoogleCM,
|
|
183
|
-
Splunk,
|
|
184
|
-
AppDynamics,
|
|
185
|
-
SolarWinds,
|
|
186
|
-
VolcEngineMetric,
|
|
187
|
-
VolcEngineEvent,
|
|
188
|
-
VolcEngineTLS,
|
|
189
|
-
OpManager,
|
|
190
|
-
Meraki,
|
|
191
|
-
Zilliz,
|
|
192
|
-
StateCloud,
|
|
193
|
-
Guance,
|
|
194
|
-
CustomChange,
|
|
195
|
-
Jira,
|
|
196
|
-
Lark,
|
|
197
|
-
Dingtalk,
|
|
198
|
-
Wecom,
|
|
199
|
-
Slack,
|
|
200
|
-
MicrosoftTeams,
|
|
201
|
-
AlertWebhook,
|
|
202
|
-
IncidentWebhook,
|
|
203
|
-
CustomAction,
|
|
204
|
-
Templates
|
|
205
|
-
};
|
|
206
|
-
global.FlashDocsZh = zhDocs;
|
|
207
|
-
})(window);
|