通知订阅
通知订阅
功能简介
通知订阅用于配置「什么事件发送到哪个渠道」。它把 通知渠道 中配置好的渠道与系统的各类消息类型关联起来,从而实现灵活的通知策略。
页面以矩阵表格呈现:行是消息类型,列是渠道类型(钉钉、飞书、邮箱、Server酱、企业微信、自定义Webhook),每个交叉单元格代表「该消息类型是否通过对应渠道发送」。
支持的消息类型包括:用户登录、规则触发、IP封禁、攻击信息、SSL证书过期、周报、系统错误、操作通知、统一认证登录、统一认证异常、管理端登录来源变化。
操作步骤
1. 添加单个订阅
- 在矩阵中找到要配置的「消息类型」行与「渠道」列的交叉单元格。
- 单元格内会列出该类型下已配置的具体渠道。未订阅时显示为带「+」的渠道按钮,点击即可添加订阅。
- 邮箱渠道在添加时会弹出收件人配置对话框(见下文);其他渠道点击后直接完成订阅。
若某渠道已被禁用,则其按钮不可点击,无法添加订阅。
2. 配置邮件收件人
邮箱渠道支持为每条订阅单独指定收件人:
- 添加邮箱订阅,或对已有邮箱订阅点击 修改。
- 在弹出的「配置邮件收件人」对话框中填写 收件人(多个邮箱用逗号分隔)。
- 可选:留空则使用该渠道在通知渠道中配置的默认收件人。
- 点击 确定 保存。
3. 启用 / 禁用单条订阅
已订阅的单元格内带有开关,可直接点击切换该订阅的启用 / 禁用状态。
4. 删除单条订阅
点击订阅项旁的关闭图标,确认后即可删除该订阅。
5. 批量操作
每个渠道列的表头都有一个「···」下拉菜单,可对该渠道类型下的全部消息类型批量操作:
- 批量增加:为该渠道类型的所有渠道、所有消息类型一次性添加订阅。
- 批量开启:开启该渠道类型下所有订阅。
- 批量禁用:禁用该渠道类型下所有订阅(需确认)。
- 批量删除:删除该渠道类型下所有订阅(需确认,删除后无法恢复)。
6. 单条订阅的精细化配置
每个已订阅的单元格上都有一个齿轮图标,点击打开「订阅配置」抽屉,可对这一个「消息类型 × 渠道」单独设置频率、消息格式与过滤条件。
抽屉分为四个页签:频率控制、消息模板、过滤条件、测试与预览。
单元格下方会用一行灰色小字显示当前生效的非默认配置(例如 递增冷却 · 限20/时 · 自定义模板),没有单独配置过的格子不显示这行,便于一眼看出哪些格子被改过。
频率控制
用于解决「同一类事件短时间内反复触发,把通知刷屏」的问题。共四种模式:
| 模式 | 行为 |
|---|---|
| 继承全局默认 | 跟随全局默认配置,改全局这里自动生效(默认值)。 |
| 直发(不抑制) | 每条事件都立即发送,适合低频但重要的告警。 |
| 聚合合并 | 时间窗口内的同类事件合并成一条发送。 |
| 递增冷却 | 首条立即发送,之后按梯度进入冷却期,适合持续攻击场景。 |
提示
不同渠道可以设置不同模式。例如飞书设为「递增冷却」只收关键提醒,邮箱设为「直发」保留全量记录,两者互不影响。
配置项随所选模式显示:
- 聚合合并:填写「聚合窗口(秒)」与「合并展示条数」。
- 递增冷却:填写「冷却梯度(秒)」(逗号分隔,最多 5 级,最后一级为封顶值,例如
60,300,900)与「冷却重置(秒)」(这么久没有新事件后冷却级别归零,恢复灵敏度)。 - 每小时上限:非「继承」模式下可填,0 表示不限制。超出部分会被记录为抑制,不会丢失痕迹。
- 去重维度:聚合与冷却模式下可选,频控按勾选的维度区分事件,可选「消息类型 / 域名 / IP / 攻击类型 / 规则原文」。
- 免打扰时段:格式
HH:MM-HH:MM,支持跨天(如23:00-07:00),留空表示不启用。启用后可再选「穿透级别」,该级别及以上的告警在免打扰时段仍会发送。
关于去重维度
「规则原文」会随攻击载荷(payload)变化而变化,若只按它去重,攻击方变换 payload 就会被判定为不同事件,频率控制将失效。建议保留「域名」「攻击类型」这类稳定维度。
消息模板
用于自定义通知的标题与正文格式。
- 在 标题模板 / 正文模板 中填写内容,留空则使用内置默认格式。
- 右侧「可用变量」列出当前消息类型可用的变量(形如
{{.Domain}}),点击变量即可插入到正文。 - 点击 刷新预览,下方会用样例数据展示渲染效果,此操作不会发送任何通知。
- 点击 恢复默认 可清空模板,回到内置格式。
- 点击 套用到本类型所有渠道 可把当前模板一次性应用到该消息类型的所有渠道(只套模板,不会覆盖各渠道已配置的频率控制)。
提示
模板语法错误在保存时会被拦下并提示。若历史配置的模板在发送时渲染失败,系统会自动降级为内置默认格式,通知不会因此丢失,可在 通知日志 的「模板来源」字段看到降级记录。
过滤条件
只让符合条件的事件走这条订阅,全部留空表示不过滤。
- 只发这些域名:支持
*.example.com形式的通配,一行一个。 - 排除这些IP:支持 CIDR,例如
10.0.0.0/8,命中的事件不发送。 - 关键字:规则信息 / 攻击类型 / URL 命中任一关键字才发送,不区分大小写。
- 最低严重级别:可选「全部 / 普通 / 警告 / 严重」,低于该级别的事件不发送。
测试与预览
用于排查「为什么没收到通知」。
- 干跑演算:只演算不发送,返回当前状态下一条事件会不会发出去、被什么挡住,并显示冷却剩余秒数、本小时已发送条数、累计抑制条数。
- 测试发送:用样例数据与当前编辑中的模板真实发送一条通知,绕过频率控制与过滤条件。消息标题带「【测试】」前缀。
7. 批量配置频率控制
渠道列表头的「···」下拉菜单中新增 批量配置 项,可把一份频率控制配置一次性套用到该渠道类型下的所有消息类型。对话框中需勾选 套用频率控制 才会执行,避免误覆盖其他配置。
8. 全局默认配置
页面右上角的 全局默认 按钮用于设置所有订阅的默认频率控制参数。订阅的「频控模式」为「继承全局默认」、或某项参数留空时,即使用这里的值。
| 配置项 | 默认值 |
|---|---|
| 频控模式 | 聚合合并 |
| 聚合窗口(秒) | 10 |
| 合并展示条数 | 10 |
| 冷却梯度(秒) | 60,300,900 |
| 冷却重置(秒) | 1800 |
| 每小时上限 | 0(不限) |
| 去重维度 | 消息类型、域名、攻击类型 |
此外还有 通知调试日志 开关:开启后会把每次频率控制的判定链路写入调试日志,便于排查复杂问题,排查完建议关闭。
字段说明
| 字段 | 说明 |
|---|---|
| 消息类型 | 要订阅的系统事件类型(见下方列表)。 |
| 渠道 | 接收该消息类型的通知渠道,来自通知渠道配置。 |
| 收件人 | 仅邮箱渠道;为该订阅单独指定的收件人,多个用逗号分隔,留空则使用渠道默认值。 |
| 状态 | 订阅的启用 / 禁用状态。 |
频率控制字段
| 字段 | 说明 |
|---|---|
| 频控模式 | 继承全局默认 / 直发(不抑制)/ 聚合合并 / 递增冷却。 |
| 聚合窗口(秒) | 聚合模式下,多长时间内的同类事件合并成一条。填 0 表示继承全局默认。 |
| 合并展示条数 | 合并通知中最多展示几条明细,超出部分以「及其他 N 条记录」提示。 |
| 冷却梯度(秒) | 冷却模式下的逐级冷却时长,逗号分隔,最多 5 级,最后一级为封顶值。 |
| 冷却重置(秒) | 这么久没有新事件后,冷却级别归零,恢复灵敏度。 |
| 每小时上限 | 该订阅每小时最多发送多少条,0 表示不限制。 |
| 去重维度 | 频控按哪些字段区分事件,可选消息类型 / 域名 / IP / 攻击类型 / 规则原文。 |
| 免打扰时段 | 格式 HH:MM-HH:MM,支持跨天,留空表示不启用。 |
| 穿透级别 | 免打扰时段内,该级别及以上的告警仍会发送;可选不穿透 / 警告 / 严重。 |
消息模板字段
| 字段 | 说明 |
|---|---|
| 标题模板 | 自定义通知标题,留空使用内置默认格式。 |
| 正文模板 | 自定义通知正文,留空使用内置默认格式。 |
| 可用变量 | 当前消息类型可用的变量清单,点击可插入正文。 |
不同消息类型可用的变量不同,页面「可用变量」区域会列出当前类型的全部变量与示例值。所有类型共有的变量:
| 变量 | 说明 |
|---|---|
{{.Time}} | 事件时间 |
{{.ServerName}} | 本机名称 |
{{.MessageTypeName}} | 消息类型名称 |
{{.Severity}} | 严重级别 |
过滤条件字段
| 字段 | 说明 |
|---|---|
| 只发这些域名 | 支持 *.example.com 通配,留空表示不限。 |
| 排除这些IP | 支持 CIDR,命中的事件不发送。 |
| 关键字 | 规则信息 / 攻击类型 / URL 命中任一关键字才发送。 |
| 最低严重级别 | 低于该级别的事件不发送。 |
消息类型
| 类型 | 说明 |
|---|---|
| 用户登录 | 管理端用户登录事件。 |
| 规则触发 | 防护规则被触发。 |
| IP封禁 | IP 被封禁事件。 |
| 攻击信息 | 检测到攻击的相关信息。 |
| SSL证书过期 | SSL 证书临近或已过期。 |
| 周报 | 周期性统计报告。 |
| 系统错误 | 系统运行错误。 |
| 操作通知 | 管理操作相关通知。 |
| 统一认证登录 | 统一访问认证的登录成功事件。 |
| 统一认证异常 | 统一访问认证的安全异常告警。 |
| 管理端登录来源变化 | 管理端账号登录时,来源 IP 或归属地与该账号上次登录不一致。详见 登录历史。 |
常见问题
为什么单元格里没有可点击的渠道?
该交叉单元格只会列出对应渠道类型下已在通知渠道中配置的渠道。若为空,请先到 通知渠道 添加对应类型的渠道。
订阅后没收到通知怎么办?
按下面的顺序排查:
- 确认对应渠道处于启用状态、订阅本身也已启用。
- 打开该格子的齿轮 → 测试与预览 → 点击 干跑演算,会直接告诉你现在来一条事件会不会发出去、被什么挡住(冷却期 / 每小时上限 / 免打扰时段 / 过滤条件未命中)。
- 到 通知日志 把「发送状态」筛选为 被抑制,查看抑制原因与被抑制的条数。
- 若确认是配置问题以外的原因,可用 测试发送 走一遍真实链路,它会绕过频率控制与过滤条件,直接暴露渠道本身的错误。
通知太多刷屏怎么办?
打开对应格子的齿轮 → 频率控制,改为「聚合合并」或「递增冷却」,并按需设置「每小时上限」。若希望所有订阅都变,直接改页面右上角的 全局默认。
需要注意「去重维度」不要只勾「规则原文」:攻击载荷变化会让每条事件都被当成新事件,频率控制会失效。
我自定义的模板没生效,收到的还是默认格式?
到 通知日志 查看该条记录的「模板来源」字段。若显示为「模板失败已降级」,说明模板在渲染时出错,系统已自动降级为内置默认格式,请回到 消息模板 页签用 刷新预览 检查模板写法。
改了全局默认,为什么某个格子没变?
该格子单独配置过。订阅级配置优先于全局默认,把它的「频控模式」改回「继承全局默认」并清空对应参数即可。另外全局配置有约 30 秒缓存,稍等片刻再观察。
