跳转到内容
文档

Alerting Webhooks

将告警 fan out 到 Slack、Discord、Teams、PagerDuty 或任何通用 webhook。绑定到慢查询、mongostat 阈值、change watchers、DataMask 完成和 license 事件的自动触发器。

它是什么

一个 workspace tab,您在其中注册出站 webhooks 和规则。每个 webhook 有一个目标 URL、body 模板(Slack / Discord / Teams / generic)和可选的 secret header。规则将触发模式绑定到一个或多个 webhooks — 当受监控信号越过阈值时,engine 用 JSON payload 触发 webhook。

何时使用

将您的 DBA 团队聊天接入 NoSqlStudio,以便慢查询 spike 发生时立即 ping #db-oncall,DataMask 作业完成在 #compliance 中发布绿色 tick,或 license 到期在截止日期前 7 天触发 PagerDuty 事件。

如何打开

  1. 在 NoSqlStudio 桌面应用中,打开 Tools 菜单 → Alerting,或按 Ctrl+Alt+Shift+A。
  2. workspace tab 打开,顶部有两个 tabs:Webhooks(列表 + CRUD)和 Rules(模式 + 阈值 + webhook 选择器)。
  3. 点击 New Webhook,填写名称 + 目标 URL + body 模板 + 可选 headers + scope。点击 Test fire 以确认可达性。

构建规则

  1. 打开 Rules tab。点击 New Rule。从下拉菜单选择触发模式 — 慢查询(p99 高于阈值)、mongostat 指标跨越、change watcher 触发、DataMask 完成、DB Copy 完成、license 事件,或任意组合。
  2. 设置阈值(对于数值触发器)和冷却时间(以便嘈杂信号不会淹没频道)。
  3. 选择要触发哪些 webhooks。您可以从一条规则 fan out 到多个目的地。
  4. 点击 Simulate。engine 触发一个合成事件并分发 webhook,以便您可以验证格式和路由,无需等待真实条件。

今天接入的自动触发器

这些信号已经接入规则 engine — 无需额外胶水:

  • 慢查询(Profiler)— 在移动窗口中 p99 高于配置阈值。
  • mongostat — 服务器级指标跨越(例如 opcounters spike、lock queue 长度、page faults)。
  • Change Watcher — 匹配您定义的 filter 的任何事件。
  • DataMask 作业 — start / finish / abort 带 outcome 和 policy。
  • DB Copy / DB Sync — 完成,带行数和持续时间。
  • License — 激活 / 停用 / 到期临近。
  • 审计日志 — 异常行模式(例如重复失败)。

限制(v1)

  • Webhooks 从桌面主进程触发 — 仅在 NoSqlStudio 应用在 DBA 工作站上运行时工作。对于服务器端告警,使用 REST API + 您现有的 scheduler。
  • 除了 AbortController 的 10s 超时外,webhook 失败时无内置重试。如果您需要送达保证,使用通用 webhook + 您自己的重试 sidecar。
  • 持久化在 userData/Alerting/webhooks.json — 像其他 config 一样备份;不会在机器之间自动同步。