Skip to main content
SearchStax Managed Search 的 Webhook 由您定义请求体:在 Webhook 的 Payload 中填写一段 JSON,值使用 SearchStax 预定义变量(如 $ALERT_ID)。本文给出这段 JSON 模板,并把 Webhook 同时关联到告警的触发和关闭两个下拉框。告警触发时 Flashduty 打开一条告警,SearchStax 告警关闭时自动关闭。

在 Flashduty On-call


您可通过以下两种方式获取集成推送地址,任选其一即可。

使用专属集成

  1. 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
  2. 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
  3. 选择 SearchStax,点击 保存
  4. 打开生成的集成卡片,复制 推送地址

使用共享集成

  1. 进入 Flashduty 控制台,选择 集成中心 → 告警事件
  2. 选择 SearchStax,填写集成名称
  3. 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
  4. 点击 保存,复制生成的 推送地址

在 SearchStax 中配置


Webhook 和告警的管理需要 SearchStax 账号的所有者(Account Owner)、管理员(Admin)或技术联系人(Technical Contact)权限。
1

创建 Webhook

在 SearchStax Managed Search 控制台左侧导航选择 Webhooks,点击 Create Webhook,填写:Payload 模板:
字段名不要修改,alert_id 和 alert_status 必须保留。如果编辑器提供以表单形式(form)编码请求体的选项,保持关闭,Flashduty 只接收 JSON。点击 Update 保存。
2

把 Webhook 关联到告警

进入要同步的告警(或新建告警),在 Webhook 下拉框中,触发(trigger) 和 关闭(resolve) 两处都选择上一步创建的 Webhook。两处必须选择同一个 Webhook:$ALERT_STATUS 会在触发时为 OPEN、关闭时为 CLOSED,Flashduty 靠它区分触发和恢复。如果需要在告警持续期间重复通知,用告警的 repeat_every 和 max_alerts 设置,重复通知会更新同一条 Flashduty 告警。
3

验证生命周期

让指标越过阈值(例如为测试告警设置一个很低的阈值),确认 Flashduty 收到告警;指标回落、SearchStax 告警关闭后,确认原告警关闭。SearchStax 的 Webhook 没有测试按钮,验证只能靠真实告警。

Alert Key


Flashduty 使用 alert_id($ALERT_ID)作为 Alert Key。SearchStax 把它描述为告警的内部编号,触发和关闭使用同一个 Webhook 模板,因此 OPEN 和 CLOSED 消息落在同一条 Flashduty 告警上。 SearchStax 的告警是部署级规则:一条 host 为 * 的告警规则同时监控集群所有节点,所有节点共用同一个 $ALERT_ID,Flashduty 中只会有一条对应告警。需要按节点分别告警时,为每个节点创建一条独立的 SearchStax 告警。 告警标题、指标值和时间的变化不会改变 Alert Key。请求缺少 alert_id 或 alert_status,或这两个字段仍是未替换的 $... 变量时,Flashduty 会拒绝该请求。

告警生命周期


Flashduty 按 alert_status 字段($ALERT_STATUS,不区分大小写)处理消息: 其他值会被拒绝。

告警等级


SearchStax 的告警没有等级,所有告警默认为 Warning。如需其他等级,在推送地址后追加 &severity=Critical(或 Info)。恢复事件保留原告警的等级。

告警内容


  • 标题:告警名称($ALERT_TITLE);缺少时为 SearchStax alert <alert_id>
  • 描述:指标 当前值 比较符 阈值,例如 os.SystemCpuLoad 0.01 > 10.0
  • 标签:check(告警名称)、resource(节点名称)、alert_id、alert_status、alert_type、alert_metric、current_value、threshold_operator、threshold_value、deployment_name、deployment_uid、hostname
值为空的字段不会写入标签。

排查问题


  • Flashduty 提示请求体不是合法 JSON:确认 Payload 与模板一致,且没有开启表单编码
  • 告警没有发出:确认告警的 Webhook 下拉框已选择该 Webhook,且 Webhook 没有被 Paused;URL 使用 https,证书为自签名时才需要勾选 Ignore SSL Validation
  • 告警没有恢复:确认关闭(resolve)下拉框选择了同一个 Webhook,且模板中的 alert_status 为 $ALERT_STATUS
  • 多个节点的告警互相覆盖:这是 host 为 * 的规则共用同一个 $ALERT_ID 的结果,按节点创建独立告警
变量的含义请参阅 SearchStax 文档 Webhooks 和 Alerts API。