ChatOps
规则管理
介绍如何创建和管理 Oncall 内容识别规则
通过规则管理界面,您可以创建、编辑和管理用于群聊内容识别的规则。每个规则定义了特定的识别条件和告警策略,帮助团队及时发现重要信息。
访问规则管理
导航至:ChatOps → 内容识别规则
或直接访问:/oncall/config?botId=<your_bot_id>
创建新规则

步骤 1:选择规则类型
点击右上角的**"新增规则"**按钮,打开创建表单。
行为类别 (Action Category)
- 检测(Detect):满足条件时产生告警
- 用于主动发现问题和异常情况
- 示例:服务故障、客情风险、异常行为
- 过滤(Filter):满足条件时抑制告警
- 用于减少误报和告警疲劳
- 示例:测试环境问题、已知维护窗口
检测类别 (Inspect Category)
- 语义分析(Semantic)
- 基于 LLM 的智能语义理解
- 适合复杂场景和多样化表达
- 需要提供正面示例或反面示例
- 正则表达式(RE)
- 精确匹配特定模式
- 适合结构化内容和关键词识别
- 需要提供正则表达式
重要:创建后类别不可修改,请谨慎选择!
步骤 2:填写基本信息
| 字段 | 必填 | 说明 | 示例 |
|---|---|---|---|
| 规则名称 | ✅ | 规则的唯一标识(同一机器人下不重复) | "生产环境服务故障" |
| 描述 | ❌ | 详细说明识别目标和使用场景 | "识别生产环境的严重服务故障,包括服务不可用、大量错误、性能严重下降" |
步骤 3:配置告警策略
| 字段 | 必填 | 说明 | 格式 | 示例 |
|---|---|---|---|---|
| 告警等级 | ✅ | 告警优先级 | P0 / P1 / P2 | P0(最高优先级) |
| 告警抑制间隔 | ❌ | 同一群聊内的告警间隔 | 6h, 30m, 1d, 1w | 6h(推荐) |
| 检测窗口 | ✅ | 需要分析的历史消息数量 | 0-N(0表示所有) | 1(仅最新消息) |
| 是否启用 | - | 规则启用状态 | 启用/停用 | 启用 |
告警抑制间隔格式:
6h- 6小时30m- 30分钟1d- 1天1w- 1周1d12h- 1天12小时
步骤 4:配置识别条件
语义分析模式
需要提供 Few-shot Learning 示例,帮助模型理解识别标准:
正面示例(应该被检测到的消息):
- 至少提供 3-5 个示例
- 覆盖不同的表达方式
- 每行一个示例
反面示例(不应该被检测到的消息):
- 提供 3-5 个反面示例
- 明确区分边界情况
- 减少误报和漏报
正则表达式模式
提供正则表达式进行精确匹配:
常用模式:
^svip.*- 匹配以 svip 开头的内容(SVIP|VIP)- 匹配 SVIP 或 VIP(\[ALERT\]|\[CRITICAL\])- 匹配告警关键词
建议使用在线工具(如 regex101.com)测试正则表达式
步骤 5:提交创建
点击**"立即创建"**按钮提交规则。创建成功后:
- 规则立即生效(如果启用)
- 表格自动刷新显示新规则
- 可以继续创建更多规则
编辑规则

打开编辑表单
在规则列表中,点击规则行的**"编辑"**按钮。
可编辑字段
编辑模式下可以修改以下字段:
- ✅ 规则名称
- ✅ 描述
- ✅ 告警等级
- ✅ 告警抑制间隔
- ✅ 检测窗口
- ✅ 是否启用
- ✅ 识别条件(正面/反面示例或正则表达式)
只读字段
以下字段创建后不可修改:
- ❌ 行为类别(Detect/Filter)
- ❌ 检测类别(Semantic/RE)
保存修改
点击**"保存修改"**按钮提交更改。保存成功后表格自动刷新。
管理规则
查看规则详情
点击规则行的**"查看详情"**按钮,可以查看规则的完整配置信息。
启用/停用规则
使用规则列表中的开关按钮快速切换规则状态:
- 启用:规则生效,开始检测群聊消息
- 停用:规则暂停,不进行检测
停用的规则仍然保留在列表中,可以随时重新启用
规则列表筛选
使用页面顶部的筛选器快速定位规则:
- 选择机器人:切换不同机器人的规则
- 默认显示第一个机器人的规则
场景示例
示例 1:服务故障检测
规则类型:
- 行为类别:检测(Detect)
- 检测类别:语义分析(Semantic)
基本信息:
- 规则名称:生产环境服务故障
- 描述:识别生产环境的严重服务故障,包括服务不可用、大量错误、性能严重下降
告警配置:
- 告警等级:P0
- 告警抑制间隔:6h
- 检测窗口:1
识别条件(正面示例):
- "生产API服务挂了,大量502错误"
- "数据库响应时间从100ms激增到10秒"
- "订单服务完全不可用,错误率100%"
识别条件(反面示例):
- "开发环境测试出现了一些错误"
- "昨天修复的小bug"
- "性能还有优化空间"
示例 2:VIP 客户识别
规则类型:
- 行为类别:检测(Detect)
- 检测类别:正则表达式(RE)
基本信息:
- 规则名称:VIP客户请求识别
- 描述:识别VIP或SVIP客户的请求
告警配置:
- 告警等级:P1
- 告警抑制间隔:2h
- 检测窗口:5
识别条件(正则表达式):
^svip.*|(SVIP|VIP)客户
示例 3:测试环境过滤
规则类型:
- 行为类别:过滤(Filter)
- 检测类别:语义分析(Semantic)
基本信息:
- 规则名称:测试环境问题过滤
- 描述:过滤测试环境的问题,避免干扰生产告警
告警配置:
- 告警等级:P2
- 告警抑制间隔:1d
- 检测窗口:3
识别条件(正面示例):
- "测试环境出现问题"
- "开发环境报错"
- "预发布环境异常"
识别条件(反面示例):
- "生产环境故障"
- "线上服务不可用"
最佳实践
规则命名建议
- 使用描述性名称,清晰表达识别目标
- 例如:"生产环境服务故障"、"VIP客户请求识别"
- 避免:""规则1"、"test"
示例数量建议
- 正面示例:建议 3-5 个
- 反面示例:建议 3-5 个
- 覆盖不同表达方式,提升识别准确率
检测窗口设置
- 设置为 1:仅分析最新消息(推荐用于实时告警)
- 设置为 5-10:分析最近几条消息,理解上下文(推荐用于趋势分析)
- 设置为 0:分析所有历史消息(慎用,影响性能)
告警抑制间隔
- 根据业务重要性设置合理间隔
- P0 级别:建议 2-6 小时
- P1 级别:建议 6-12 小时
- P2 级别:建议 12-24 小时
常见问题
Q: 为什么创建后规则类别不能修改?
A: 规则类别决定了规则的基本行为和识别方式,修改会导致规则逻辑完全改变。建议创建新规则而不是修改类别。
Q: 正面示例和反面示例如何选择?
A:
- 正面示例:提供应该被检测到的真实消息案例
- 反面示例:提供容易混淆但不应该被检测的消息案例
- 明确边界可以显著提高识别准确率
Q: 告警抑制间隔如何生效?
A: 在同一个群聊中,如果上次告警距今未超过抑制间隔,则不会重复发送告警。不同群聊的告警独立计算。
Q: 检测窗口设置为 0 会有什么影响?
A: 设置为 0 会分析群聊的所有历史消息,可能影响检测性能。建议根据实际需求设置合理的消息数量(如 1-10)。