文档
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 事件。
如何打开
- 在 NoSqlStudio 桌面应用中,打开 Tools 菜单 → Alerting,或按 Ctrl+Alt+Shift+A。
- workspace tab 打开,顶部有两个 tabs:Webhooks(列表 + CRUD)和 Rules(模式 + 阈值 + webhook 选择器)。
- 点击 New Webhook,填写名称 + 目标 URL + body 模板 + 可选 headers + scope。点击 Test fire 以确认可达性。
构建规则
- 打开 Rules tab。点击 New Rule。从下拉菜单选择触发模式 — 慢查询(p99 高于阈值)、mongostat 指标跨越、change watcher 触发、DataMask 完成、DB Copy 完成、license 事件,或任意组合。
- 设置阈值(对于数值触发器)和冷却时间(以便嘈杂信号不会淹没频道)。
- 选择要触发哪些 webhooks。您可以从一条规则 fan out 到多个目的地。
- 点击 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 一样备份;不会在机器之间自动同步。