Flashduty Docs
中文EnglishRoadmapAPI官网控制台
中文EnglishRoadmapAPI官网控制台
  1. 配置On-call
  • 简介
  • On-call
    • 快速开始
      • 快速开始
      • 常见问题
      • 产品对比
    • 故障管理
      • 什么是故障
      • 检索与查看故障
      • 处理与更新故障
      • 升级与分派故障
      • 自定义字段
      • 自定义操作
      • 了解降噪过程
      • 了解历史故障
      • 了解新奇故障
    • 配置On-call
      • 协作空间管理
      • 多种方式接入告警
      • 配置路由规则
      • 配置标签增强
      • 配置告警降噪
      • 配置分派策略
      • 故障静默与抑制
      • 配置值班规则
      • 配置通知模板
      • 配置服务日历
      • 配置个人信息
      • 配置过滤条件
      • 通知机器人
      • 告警处理 pipeline
    • 高级功能
      • 引用变量
      • 动态分派
      • 分析数据
    • 集成引导
      • 告警集成
        • 邮件 Email 集成指引
        • 夜莺 Flashcat 集成指引
        • Prometheus 集成指引
        • 标准告警事件集成指引
        • Grafana 集成指引
        • Zabbix 集成指引
        • Uptime Kuma 集成指引
        • 阿里云 ARMS 集成指引
        • 阿里云监控 CM 事件集成指引
        • 阿里云监控 CM 指标集成指引
        • 阿里云 SLS 集成指引
        • AWS CloudWatch 集成指引
        • Azure Monitor 集成指引
        • 百度云监控 BCM 集成指引
        • 华为云监控 CES 集成指引
        • 腾讯云 CLS 集成指引
        • 腾讯云监控 CM 集成指引
        • 腾讯云 Event Bridge 集成指引
        • Influxdata 集成指引
        • Open Falcon 集成指引
        • Pagerduty 集成指引
        • 蓝鲸智云集成指引
        • OceanBase 集成指引
        • Graylog 集成指引
        • Skywalking 集成指引
        • Sentry 集成指引
        • 监控宝告警集成指引
        • AWS EventBridge 集成指引
        • Dynatrace 集成指引
        • 华为云 LTS 集成指引
        • GoogleCloud 集成指引
        • Splunk 集成指引
        • AppDynamics 集成指引
        • SolarWinds 集成指引
        • 火山引擎CM 指标集成指引
        • 火山引擎CM 事件集成指引
        • 火山引擎日志服务 TLS 集成指引
        • Opmanager 告警事件
        • Meraki 告警事件
        • 天翼云告警集成
        • 观测云告警事件
        • zilliz 告警事件
        • 华为云 APM 告警事件
        • zstack 告警事件
        • Keep 告警集成指引
        • ElastAlert2 告警集成
      • 即时消息
        • 飞书 Lark 集成指引
        • 钉钉 Dingtalk 集成指引
        • 企业微信 Wecom 集成指引
        • Slack 集成指引
        • Microsoft Teams 集成指引
      • 单点登录
        • Authing 集成指引
        • Keycloak 集成指引
        • OpenLDAP 集成指引
      • Webhooks
        • 告警 webhook
        • 故障 webhook
        • 自定义操作
      • 变更集成
        • 标准变更事件集成指引
  • RUM
    • 快速开始
      • 入门介绍
      • 快速开始
      • 常见问题
    • 应用管理
      • 应用管理
      • SDK接入
      • 高级配置
      • 分析看板
    • 性能监控
      • 概览
      • 指标上报
      • 性能分析
      • 诊断优化
    • 异常追踪
      • 概览
      • 异常上报
      • 异常查看
      • 源码映射
      • 异常聚合
      • Issue状态
      • Issue告警
    • 其他
      • 术语说明
      • 数据收集
      • 数据安全
  • 平台功能
    • 团队和成员
    • 了解权限设计
    • 配置单点登录
  • 服务协议
    • 服务条款
    • 用户协议/隐私政策
    • SLA承诺
    • 数据安全
  1. 配置On-call

配置通知模板

什么场景会使用模板?#


系统在分派故障时,使用模板渲染 Incident 并触发通知,分派可能发生于以下场景:
1.
手动创建故障并分派
2.
上报告警事件,系统自动生成故障,按匹配到的分派策略进行分派
3.
故障创建后,手动更改分派,即重新分派
4.
根据分派策略设置,系统自动升级分派
5.
故障关闭后重新打开,按照之前的设置,重新分派
我们使用 Golang模板语法 template/html 解析数据,您可完成任何复杂的渲染需求。
中文文档请参考 这里,支持逻辑判断、循环、pipeline 以及常用函数;
我们引用了开源库 sprig,其中包括上百个常用函数,您可直接在模板中直接调用;
如果您期望引入更多函数,欢迎提交 merge request

如何配置通知模板?#


配置通知模板#

系统在通知故障时会使用默认模板,其内容不可修改。若需定制通知内容,应创建自定义模板。
1.
进入模版管理页面,点击创建自定义模板按钮或者复制默认模版,进入编辑页面。
2.
在编辑页面,您可以按使用的通知渠道编辑对应的内容,模版中引用内容可以参考可以引用哪些变量。
3.
编辑完成后,点击保存按钮,即可保存模板。

使用通知模板#

1.
进入协作空间->分派策略页面,点击编辑按钮,进入编辑页面。
2.
在策略配置部分,您可以选择使用按照哪个模板进行通知,并选择需要使用的通知模板。
3.
其他配置可以参考分派策略配置。
4.
配置完成后,点击保存按钮,即可保存分派策略。

我可以引用哪些变量?#


引用变量示例:
完整变量列表(直接引用):
字段类型必含释义
IDstring是故障 ID
Titlestring是故障标题
Descriptionstring是故障描述,可能为空
DetailUrlstring是故障详情页地址
Numstring是故障短标识,仅用于方便肉眼识别,可能重复
IncidentSeveritystring是严重程度,枚举值:Critical,Warning,Info
IncidentStatusstring是故障状态,枚举值:Critical,Warning,Info,Ok
Progressstring是处理进度,枚举值:Triggered,Processing,Closed
StartTimeint64是触发时间,Unix 秒时间戳
LastTimeint64否最新事件时间,关联告警中的最新合入事件时间,Unix 秒时间戳,默认为 0
EndTimeint64否恢复时间,关联的告警全部恢复时,故障会自动恢复且自动关闭。Unix 秒时间戳,默认为 0
SnoozedBeforeint64否屏蔽截止时间,Unix 秒时间戳,默认为 0
AckTimeint64否首次认领时间,Unix 秒时间戳,默认为 0
CloseTimeint64否关闭时间,end_time 为故障恢复时间,close_time 为处理进度的关闭时间,故障恢复时会自动关闭,故障手动关闭时不影响故障恢复。Unix 秒时间戳,默认为 0
CreatorPerson否发起人信息,系统自动生成时不存在
CloserPerson否关闭人信息,故障自动恢复时不存在
AssignedToAssignment否分派配置
Responders[]Responder否处理人列表,根据分派配置初始化,如果有非分派人员认领了故障,也会存在对应记录
ChannelIDint64否协作空间 ID,当手动创建全局故障时值为 0
ChannelNamestring否协作空间名称
GroupMethodstring否聚合方式,枚举值:n:不聚合,p:按规则聚合,i:智能聚合
Labelsmap[string]string否标签 KV,Key 和 Value 均为字符串。手动创建时无此信息,自动创建时为聚合的第一条告警的标签信息
AlertCntint64是关联告警个数
Alerts[]Alert否关联告警详情,手动创建时无此信息
FireTypestring否通知类型,枚举值:fire:通知,refire:循环通知
IsFlappingbool否是否处于抖动状态,即频繁发生与恢复,与收敛配置有关
Impactstring否故障影响,故障关闭后填写
RootCausestring否故障根因,故障关闭后填写
Resolutionstring否故障解决办法,故障关闭后填写
Person(间接引用):
字段类型必含释义
person_idint64是人员 ID
person_namestring是人员名称
emailstring是邮件地址
Assignment(间接引用):
字段类型必含释义
PersonIDs[]string否人员 ID 列表,仅当按照人员分派时存在
EscalateRuleIDstring否分派策略 ID,仅当按照策略分派时存在
EscalateRuleNamestring否分派策略名称
LayerIdxstring否分派环节,对应分派策略的层级索引,从 0 开始
Typestring是分派类型,枚举值:assign:分派,reassign:重新分派,escalate:升级分派,reopen:重开分派
Responder(间接引用):
字段类型必含释义
PersonIDint64是人员 ID
PersonNamestring是人员名称
Emailstring是邮件地址
AssignedAtint64是分派时间,Unix 秒时间戳,默认为 0
AcknowledgedAtint64否认领时间,Unix 秒时间戳,默认为 0
Alert(间接引用):
字段类型必含释义
Titlestring是告警标题
Descriptionstring是告警描述,可能为空
AlertSeveritystring是严重程度,枚举值:Critical,Warning,Info
AlertStatusstring是告警状态,枚举值:Critical,Warning,Info,Ok
Progressstring是处理进度,枚举值:Triggered,Processing,Closed
StartTimeint64是触发时间,Unix 秒时间戳
EndTimeint64否恢复时间,Unix 秒时间戳,默认为 0
CloseTimeint64否关闭时间,EndTime 为告警恢复时间,CloseTime 为处理进度的关闭时间,告警恢复时会自动关闭,告警手动关闭时不影响告警恢复。Unix 秒时间戳,默认为 0
Labelsmap[string]string否标签 KV,Key 和 Value 均为字符串

常见问题#


1.
我如何知道Labels具体有哪些标签信息?
手动创建的故障没有标签;
自动创建的故障存在标签,与合入的第一条告警的标签相同。前往 故障列表 页面,找到一条故障并查看故障详情,可以看到全部标签信息
2.
我配置按照自定义模板渲染,实际发送内容却使用了默认模板?
创建自定义模板时,系统使用 mock 数据来渲染模板,以检查语法错误;
mock 数据覆盖场景有限,可能无法匹配到您模板中部分逻辑分支,在实际运行时,可能会渲染失败;
渲染失败后,系统将使用默认模板兜底,来保证消息可达;
推荐您在不确定引用变量是否存在时,使用逻辑判断来避免渲染异常,如resource标签:
3.
故障标题含有“>”之类的字符转义?
4.
时间变量都是时间戳类型,如何转换时间格式?
5.
如何在 for 循环内部引用外部变量?
6.
如何提取命名中带”.“的字段值,如标签中的“obj.instance”的信息?
7.
如何提取故障关联告警中某个label的信息并去重?
8.
如何遍历并打印labels?
9.
如何从 json 字段中提取信息?
jsonGet 函数可以帮助您从 json 格式的数据中,通过 path 提取出符合条件的值。
被 jsonGet 函数提取的目标数据必须是合法的 json。
基本使用方法:{{jsonGet .Labels.xxx "yyy" }},其中 xxx 必须为合法 json,yyy 是合法提取路径。
json path 语法请参考 gjson.dev,您可输入目标数据和提取 path,进行实时预览。
// 提取 rule_note 标签中的 detail_url 字段
{{jsonGet .Labels.rule_note "detail_url"}}

// 提取 json 数组中第一个元素的 name 字段
{{jsonGet .Labels.slice "0.name"}}

// 遍历 json 数组的每一个元素,匹配 userId==7777 这个对象的 instanceId 字段
{{jsonGet .Labels.rule_note "#(userId==7777)#.instanceId" }}
10.
如何使用逻辑与、或等条件进行内容显示判断?
# 支持的函数
- 使用 `and` 函数进行逻辑与判断
- 使用 `or` 函数进行逻辑或判断
- 使用 `not` 函数进行逻辑非判断
- 使用 `eq` 函数进行逻辑等于判断
- 使用 `ne` 函数进行逻辑不等于判断
- 使用 `gt` 函数进行逻辑大于判断
- 使用 `ge` 函数进行逻辑大于等于判断
- 使用 `lt` 函数进行逻辑小于判断
- 使用 `le` 函数进行逻辑小于等于判断

# 使用示例
# 使用 and 函数进行逻辑与判断

{{if and (eq .Labels.resource "cpu") (eq .Labels.metric "cpu_usage")}}
  {{.Labels.resource}} 的 CPU 使用率超过 80%
{{end}}

# 使用 or 函数进行逻辑或判断
{{if or (eq .Labels.resource "cpu") (eq .Labels.metric "cpu_usage")}}
  {{.Labels.resource}} 的 CPU 使用率超过 80%
{{end}}  

# 使用 not 函数进行逻辑非判断
{{if not (eq .Labels.metric "cpu_usage")}}
  {{.Labels.metric}} 不是 CPU 使用率
{{end}}
11.
如何查阅更多的函数及其使用示例?
函数列表:https://github.com/flashcatcloud/sprig/blob/master/functions.go#L97
使用示例:查看对应的_test.go 文件,比如 date 函数测试用例见 https://github.com/flashcatcloud/sprig/blob/master/date_test.go
以下为各通知渠道具体说明。

飞书应用#


您需要预先配置 集成中心-即时消息-飞书 集成,才能发送消息卡片。如果不设置自定义内容,将采用系统默认模板,渲染全部标签信息:
如下图所示:
drawing
如果您期望仅展示关键标签信息,可以参照下边的代码段:
我们列出了一些常见标签,您可自行删减;
在飞书应用中,系统会自动帮您删除(因标签不存在导致的)渲染空行,您可放心配置

钉钉应用#


您需要预先配置 集成中心-即时消息-钉钉 集成,才能发送消息卡片。如果不设置自定义内容,将采用系统默认模板,渲染全部标签信息:
如下图所示:
drawing
如果您期望仅展示关键标签信息,可以参照下边的代码段:
我们列出了一些常见标签,您可自行删减;
在钉钉应用中,系统会自动帮您删除(因标签不存在导致的)渲染空行,您可放心配置

企业微信应用#


您需要预先配置 集成中心-即时消息-企业微信 集成,才能发送消息卡片。如果不设置自定义内容,将采用系统默认模板,仅渲染常见标签信息:
我们列出了一些常见标签,您可自行删减;
在企业微信应用中,系统会自动帮您删除(因标签不存在导致的)渲染空行,您可放心配置
如下图所示:
drawing
注意,企业微信限制了卡片长度,在模板渲染区域,您最多可以渲染不超过 8 行内容,超过 8 行的部分将被隐藏

Slack 应用#


您需要预先配置 集成中心-即时消息- Slack 集成,才能发送消息卡片。如果不设置自定义内容,将采用系统默认模板,仅渲染常见标签信息:
如下图所示:
drawing
如果您期望仅展示关键标签信息,可以参照下边的代码段:
我们列出了一些常见标签,您可自行删减;
消息可以发送长度为15000左右字符,超出后截断发送;
在 Slack 应用中,系统会自动帮您删除(因标签不存在导致的)渲染空行,您可放心配置

Microsoft Teams 应用#


您需要预先配置 集成中心-即时消息- Microsoft Teams 集成,才能发送消息卡片。如果不设置自定义内容,将采用系统默认模板,仅渲染常见标签信息:
如下图所示:
drawing
如果您期望仅展示关键标签信息,可以参照下边的代码段:
我们列出了一些常见标签,您可自行删减;
消息可以发送长度为 28KB 左右字节,超出后报错;
在 Microsoft Teams 应用中,系统会自动帮您删除(因标签不存在导致的)渲染空行,您可放心配置

飞书机器人#


飞书机器人支持消息卡片,富文本和普通文本三种格式,默认模版是消息卡片格式。
msg_type 字段在消息卡片和富文本中必填,否则当成普通文本格式发送
消息最大长度为4000字节,超出后截断发送;
如果不设置自定义内容,将采用系统默认模板,仅展示关键信息:
1.
消息卡片
msg_type 必填,值为 interactive
{
  "msg_type": "interactive",
  "card": {
    "config": {
      "wide_screen_mode": true,
      "enable_forward": true
    },
    "header": {
      "template": "{{if eq .IncidentSeverity "Critical"}}red{{else if eq .IncidentSeverity "Warning"}}orange{{else}}yellow{{end}}",
      "title": {
        "content": "{{fireReason .}}INC #{{.Num}} {{toHtml .Title}}",
        "tag": "plain_text"
      }
    },
    "elements": [{
      "tag": "div",
      "fields": [{
          "text": {
            "tag": "lark_md",
            "content": "**🏢 协作空间:**{{if .ChannelName}}{{.ChannelName}}{{else}}无{{end}}"
          }
        },
        {
          "text": {
            "tag": "lark_md",
            "content": "**{{if eq .IncidentSeverity "Critical"}}🔴{{else if eq .IncidentSeverity "Warning"}}⚠️{{else}}ℹ️{{end}} 严重程度:**{{.IncidentSeverity}}"
          }
        },
        {
          "text": {
            "tag": "lark_md",
            "content": "**⏰ 触发时间:**{{date "2006-01-02 15:04:05" .StartTime}}{{if gt .AlertCnt 1}}"
          }
        },
        {
          "text": {
            "tag": "lark_md",
            "content": "**🔔 聚合告警:**{{.AlertCnt}}条 {{end}}{{if .Labels.resource}}"
          }
        },
        {
          "tag": "div",
          "text": {
            "tag": "lark_md",
            "content": "**📌 告警对象:**{{toHtml (joinAlertLabels . "resource" ",")}} {{end}}{{if .Description}}"
          }
        },
        {
          "tag": "div",
          "text": {
            "tag": "lark_md",
            "content": "**🔍 故障描述:**{{.Description}}{{end}}{{if gt (len .Responders) 0}}"
          }
        },
        {
          "tag": "div",
          "text": {
            "tag": "lark_md",
            "content": "**👨‍💻 处理人员:**{{range .Responders}}@{{.PersonName}} {{end}}{{end}}"
          }
        }
      ]
    },
    {
      "tag": "hr"
    },
    {
      "tag": "action",
      "actions": [{
          "tag": "button",
          "text": {
            "tag": "plain_text",
            "content": "故障详情"
          },
          "type": "primary",
          "url": "{{.DetailUrl}}"
        },
        {
          "tag": "button",
          "text": {
            "tag": "plain_text",
            "content": "认领"
          },
          "type": "primary",
          "url": "{{.DetailUrl}}?ack=1"
        }
      ]
    }]
  }
}
2.
富文本
msg_type 必填,值为 post
{
    "msg_type": "post",
    "post": {
        "zh_cn": {
            "title": "{{if eq .IncidentSeverity "Critical"}}🔴{{else if eq .IncidentSeverity "Warning"}}⚠️{{else}}ℹ️{{end}} {{fireReason .}}INC #{{.Num}} {{toHtml .Title}}",
            "content": [
                [{
                    "tag": "text",
                    "text": "🏢 "
                }, {
                    "tag": "text",
                    "text": "协作空间:",
                    "text_type": "bold"
                }, {
                    "tag": "text",
                    "text": "{{if .ChannelName}}{{.ChannelName}}{{else}}无{{end}}\n"
                }],
                [{
                    "tag": "text",
                    "text": "{{if eq .IncidentSeverity "Critical"}}🔴{{else if eq .IncidentSeverity "Warning"}}⚠️{{else}}ℹ️{{end}} "
                }, {
                    "tag": "text",
                    "text": "严重程度:",
                    "text_type": "bold"
                }, {
                    "tag": "text",
                    "text": "{{.IncidentSeverity}}\n",
                    "text_type": "{{if eq .IncidentSeverity "Critical"}}bold{{end}}"
                }],
                [{
                    "tag": "text",
                    "text": "⏰ "
                }, {
                    "tag": "text",
                    "text": "触发时间:",
                    "text_type": "bold"
                }, {
                    "tag": "text",
                    "text": "{{date "2006-01-02 15:04:05" .StartTime}}\n"
                }],
                {{if gt .AlertCnt 1}}[{
                    "tag": "text",
                    "text": "🔔 "
                }, {
                    "tag": "text",
                    "text": "聚合告警:",
                    "text_type": "bold"
                }, {
                    "tag": "text",
                    "text": "{{.AlertCnt}}条\n"
                }],{{end}}
                {{if .Labels.resource}}[{
                    "tag": "text",
                    "text": "📋 "
                }, {
                    "tag": "text",
                    "text": "告警对象:",
                    "text_type": "bold"
                }, {
                    "tag": "text",
                    "text": "{{toHtml (joinAlertLabels . "resource" ", ")}}\n"
                }],{{end}}
                {{if .Description}}[{
                    "tag": "text",
                    "text": "📝 "
                }, {
                    "tag": "text",
                    "text": "描述:",
                    "text_type": "bold"
                }, {
                    "tag": "text",
                    "text": "{{toHtml .Description}}\n"
                }],{{end}}
                {{if gt (len .Responders) 0}}[{
                    "tag": "text",
                    "text": "👨‍💻 "
                }, {
                    "tag": "text",
                    "text": "处理人员:",
                    "text_type": "bold"
                }, {
                    "tag": "text",
                    "text": "{{range .Responders}}@{{.PersonName}} {{end}}\n"
                }],{{end}}
                [{
                    "tag": "a",
                    "href": "{{.DetailUrl}}",
                    "text": "故障详情"
                },{
                    "tag": "text",
                    "text": "  "
                },{
                    "tag": "a",
                    "href": "{{.DetailUrl}}?ack=1",
                    "text": "认领"
                }]
            ]
        }
    }
}
3.
普通文本

钉钉机器人#


钉钉机器人仅支持发送 Markdown 消息(语法限制)。
消息最大长度为4000字节,超出后截断发送;
如果文本中包含<br/>,渲染时会先删除空行,再将<br/>替换为换行符;
如果不设置自定义内容,将采用系统默认模板,仅展示关键信息:

企业微信机器人#


企微机器人仅支持发送 Markdown 消息(语法限制)。
消息最大长度为4000字节,超出后截断发送;
如果文本中包含<br/>,渲染时会先删除空行,再将<br/>替换为换行符;
如果不设置自定义内容,将采用系统默认模板,仅展示关键信息:

Telegram 机器人#


配置国内能访问的Telegram服务地址;
消息最大长度为4096字符,超出后不发送;
如果文本中包含<br/>,渲染时会先删除空行,再将<br/>替换为换行符;
如果不设置自定义内容,将采用系统默认模板,仅展示关键信息:

Slack 机器人#


消息可以发送长度为15000左右字符,超出后截断发送;
如果文本中包含<br/>,渲染时会先删除空行,再将<br/>替换为换行符;
如果不设置自定义内容,将采用系统默认模板,仅展示关键信息:

Zoom 机器人#


消息可以发送长度为4000左右字符,超出后截断发送;
如果文本中包含<br/>,渲染时会先删除空行,再将<br/>替换为换行符;
消息格式 遵循Zoom消息格式,当前机器人应用不支持Markdown,其他格式可以参考官网: https://developers.zoom.us/docs/team-chat-apps/customizing-messages/
如果不设置自定义内容,将采用系统默认模板,仅展示关键信息:
{"head": {
    "text": "{{fireReason .}}INC [#{{.Num}}] {{toHtml .Title}}",
    "style": {
      "bold": true,
      "italic": false,
      "color": "{{$s := serverityToColor .IncidentSeverity}}{{toHtml $s}}"
    }
  },
  "body": [
    {
      "type": "message",
      "text": "协作空间:{{if .ChannelName}}{{.ChannelName}}{{else}}无{{end}}",
      "style": {
        "bold": false,
        "italic": false
      }
    },
    {
      "type": "message",
      "text": "严重程度:{{.IncidentSeverity}}",
      "style": {
        "bold": false,
        "italic": false,
        "color": "{{$s := serverityToColor .IncidentSeverity}}{{toHtml $s}}"
      }
    },
    {
      "type": "message",
      "text": "持续时长:{{ago .StartTime}}{{if gt .AlertCnt 1}}",
      "style": {
        "bold": false,
        "italic": false
      }
    },
    {
      "type": "message",
      "text": "聚合告警:{{.AlertCnt}}条{{end}}{{if .Labels.resource}}",
      "style": {
        "bold": false,
        "italic": false
      }
    },
    {
        "type": "message",
        "text": "告警对象:{{.Labels.resource}}{{end}}{{if .Description}}",
        "style": {
          "bold": false,
          "italic": false
        }
      },
    {
      "type": "message",
      "text": "故障描述:{{toHtml .Description}}{{end}}{{if gt (len .Responders) 0}}",
      "style": {
        "bold": false,
        "italic": false
      }
    },
    {
      "type": "message",
      "text": "分派人员:{{range .Responders}}@{{.PersonName}}{{end}}{{end}}",
      "style": {
        "bold": false,
        "italic": false
      }
    },
    {
        "type": "message",
        "text": "查看详情",
        "link": "{{.DetailUrl}}{{if .IsFlapping}}"
    },
    {
      "type": "message",
      "text": "注意:当前故障状态变化频繁,将收敛通知{{.Flapping.MuteMinutes}}分钟,建议您优化告警策略。{{end}}{{if .IsInStorm}}",
      "style": {
        "bold": true,
        "italic": false
      }
    },
    {
      "type": "message",
      "text": "注意:当前故障已聚合{{.AlertCnt}}条告警,触发告警风暴,请加急处理!{{end}}",
      "style": {
        "bold": true,
        "italic": false
      }
    }
  ]
}

短信#


如果不设置自定义内容,将采用系统默认模板渲染通知:
您有故障待处理:{{toHtml .Title}},协作空间:{{.ChannelName}},等级:{{.IncidentSeverity}}{{if gt .AlertCnt 1}},共聚合{{.AlertCnt}}条告警{{end}}

邮件#


如果不设置自定义内容,将采用系统默认模板渲染通知:
如下图所示:
drawing

添加官方技术支持微信

在这里,获得使用上的任何帮助,快速上手FlashDuty

微信扫码交流
上一页
配置值班规则
下一页
配置服务日历
Built with