活跃告警

夜莺 v9 活跃告警页面,集中查看当前未恢复的告警事件、按业务组/级别/数据源过滤、认领屏蔽删除处置,以及通过聚合规则归类大批量告警。

概述

活跃告警 = 当前仍在告警状态、还没恢复的事件集合。

侧栏路径:告警 → 告警事件 → 活跃告警 Tab,URL /alert-cur-events。同一页面顶部有 活跃告警 / 历史告警 两个 Tab:

  • 活跃告警:状态 = Triggered 且未恢复的事件,告警一旦恢复就从这里消失,转到历史告警。
  • 历史告警:所有产生过的告警事件(含已恢复的),用于事后回溯。

适用场景:

  • 值班同学第一时间看"现在到底有哪些故障在烧"
  • 大批量告警时按业务组/级别/数据源快速收敛
  • 标签维度做聚合(比如按业务组、按主机 ident),看故障"成片爆发"的全貌
  • 处置流程:查看详情 → 认领 → (必要时)屏蔽相关派生告警 → 通知协作

活跃告警只展示尚未恢复的事件。如果某条规则的告警恢复了,它就不在这个列表里;想看历史得切到 历史告警 Tab。

列表页

活跃告警列表页

顶部过滤栏

  • 我的业务组 / 全部业务组:单选切换;“我的业务组” 只显示当前账号所属的业务组事件。
  • 业务组下拉:在选定范围内进一步选某一个具体业务组。
  • 模糊搜索:在事件规则名 + 标签中搜,多个关键词用空格分隔(与逻辑)。比如输入 disk dev-doris-001 会同时匹配规则名含 disk 且标签含 dev-doris-001 的事件。双击列表里的标签也会把这个标签作为关键字加入搜索。
  • 自动刷新:右上 Off / 5s / 15s / 30s / 1min / 5min,值班大屏建议开 30s。
  • 时间范围:默认不限(显示所有未恢复事件,包括几十天前就在烧的"老炮")。可以设最近 1 小时之类来只看新爆发的。

左侧过滤面板

分类 选项 说明
监控类型 Metric / Host / Log 即告警规则的 prod 字段;指标类、主机类、日志类
告警级别 S1 (Critical) / S2 (Warning) / S3 (Info) 多选
数据源 当前实例所有启用的数据源 多选,支持搜索

列表字段

含义
事件 第一行:数据源类型 logo + 数据源名 + 规则名(点击打开详情抽屉);第二行:事件标签的可视化展示
触发时间 本次告警状态最近一次被检测到的时间
持续时长 从「首次触发」到现在的时长,配有 12 格彩条 — 越靠右、颜色越红表示持续越久(0-8h 绿、8-16h 黄、16-24h+ 红)
认领人 未认领 / 显示认领人;点击「认领」按钮自己接单
操作 行末三点菜单:屏蔽 / 删除 / 认领 / 取消认领

列表底部支持翻页和"30/50/100 条/页"切换。

聚合规则:把上百条告警折成几张卡片

当活跃告警 > 50 条时,平铺式列表很难看出"哪一类问题最多"。聚合规则 用 Go Template 对事件做归类,把同一类事件折叠成一张卡片显示在表格上方。

按规则名聚合告警

如上图,选择"By RuleName" 后,24 条事件被归为 11 个聚合结果:tes1 下 5 条、主机失联告警 下 4 条……点击任一卡片,下方表格只显示该卡片对应的事件。

常用聚合表达式(在「新增规则」里填):

场景 模板
按业务组 + 级别 Group:{{.GroupName}} Severity:{{.Severity}}
按规则名 {{.RuleName}}
按主机 ident {{.TagsMap.instance}}{{.TagsMap.ident}}
按服务标签 {{.TagsMap.service}}

可用字段(常用):.GroupName(业务组)、.RuleName(规则名)、.Severity(级别数字)、.TagsMap.<key>(任意标签值)。

不熟悉 Go Template 也可以用「新增规则」按钮里给的几个内置例子,选中后再改改。

批量操作

勾选列表行后会在列表上方出现批量操作按钮:

批量操作按钮

  • 批量删除(OSS + PLUS)
  • 批量认领 / 批量取消认领(PLUS 独有)

适合"一次性把同一规则下的几十条派生事件全部认领"或"把彻底无效的僵尸事件一次性清掉"。

详情抽屉

点击事件标题(蓝色链接)会从右侧滑出告警详情抽屉:

告警详情抽屉

详情字段

字段 说明
趋势图 顶部曲线,显示告警指标在触发前后一段时间的实际取值;红色虚线 = 触发时刻;右上可调时间范围与 Step
规则标题 点击跳转到对应告警规则编辑页 /alert-rules/edit/:id
Hash 事件唯一指纹(基于规则 + 标签生成),用于排查重复告警时直接复制比对
业务组 事件所属业务组
规则备注 告警规则在创建时填的备注(“为什么这条规则在告警”)
数据源 触发该事件的数据源实例名
告警级别 S1 / S2 / S3
事件状态 Triggered(活跃)或 Recovered(恢复,仅历史告警可见)
事件标签 触发时刻该数据点附带的全部标签 key=value
首次触发时间 / 本次检测时间 第一次进入告警状态的时间 vs 最近一次确认仍在告警的时间
触发时值 触发瞬间的指标数值
PromQL(或对应数据源的查询语句) 告警规则用到的查询语句,旁边的 ▶️ 按钮可直接在数据源里执行复算
执行频率 / 持续时长 规则的查询周期;触发前要满足条件的持续时长
通知规则 / 通知记录 命中的通知规则;“查看详情"可以看到这条事件被推送到了哪些媒介、是否成功

处置按钮

抽屉底部 4 个操作按钮:

  • 屏蔽:用当前事件的标签预填屏蔽规则表单,跳转到 /alert-mutes/add,常用来快速压制成片爆发的派生告警(比如某台机器宕机引发的 N 条派生事件)。
  • 删除:物理删除当前事件。

    ⚠️ 只有在确定该指标永远不会再上报(标签调整 / 机器下线)时才删 — 这种事件不会自动恢复,留着也是噪音。其余情况让它自然恢复即可。

  • 认领(PLUS):把事件挂到自己名下,列表的"认领人"列会显示当前用户。值班场景用于"我接手了,别人不用重复处理”。
  • 生成分享链接:生成一个免登录可访问的事件详情链接(带 token,默认 7 天有效),发到 IM 群里给协作方查看;链接是只读快照,看到的是生成时刻的事件状态。

常见问题

Q1:为什么列表里的告警明明已经恢复了,还是显示在活跃告警里?

A:活跃告警基于告警引擎判定是否恢复而非"采集数据是否还在异常"。两种最常见的原因:

  • 指标已经停止上报(机器关机 / 标签被改):告警引擎查询不到数据,没法判定"恢复",会停在 Triggered 状态。这种情况手工 删除事件 即可,或者新增主机失联告警规则覆盖该场景。
  • 规则配置了"通知恢复"但没配置恢复条件:检查告警规则的"恢复阈值"和"持续时长",确保数据回正常后能在指定时长内被判定为恢复。

Q2:“认领"和"屏蔽"有什么区别?

A:

  • 认领:标记"我在处理这条告警”,不会阻止任何后续动作 — 事件继续在列表里,通知规则也继续推送(如果规则配了重复通知)。主要是协作信号:让其他值班同学知道有人接手了。
  • 屏蔽:基于标签的事件过滤,命中屏蔽规则的事件不会再产生告警通知,也不在告警事件列表里。用于"已知问题、暂时不要再吵"。

详见 屏蔽规则 文档。

Q3:删除事件之后,告警规则会重新产生这条事件吗?

A:会。删除只是把当前事件记录清掉,告警规则本身没被禁用,下次查询周期到了如果条件还满足,会重新产生一条新的活跃告警事件(Hash 可能相同)。

所以别用删除当"屏蔽":要长期止吵,去 屏蔽规则 或者直接禁用告警规则。

Q4:列表的"持续时长"显示一周、一个月甚至几年,这正常吗?

A:通常是被遗忘的"僵尸告警",由以下情况造成:

  • 数据源被删除或停用,事件再也无法收到"恢复"信号;
  • 标签 schema 变更后老事件无法被新规则覆盖;
  • 早期测试规则未清理。

定期清理思路:用左侧的「数据源」筛选过滤、按时间倒序排,把超过合理 SLA 的事件批量删除。

参考资料

更新时间 2026-05-19

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云