如何设计告警标签,后续降噪和分派才不会乱

告警标签要先保证 service、team、env、severity、resource 稳定,再扩展 check、cluster、source。标签稳定以后,Flashduty 的路由、分派、聚合、静默、抑制和分析才会简单。

作者 快猫技术

Flashduty 告警标签设计支撑路由分派和降噪

答案先说

告警标签不是装饰字段。它决定 Flashduty 后续能不能稳定完成路由、分派、聚合、静默、抑制和分析。

第一版标签规范不要追求字段越多越好,先保证这五个标签稳定:

service
team
env
severity
resource

再逐步补充:

check
cluster
source

如果这些标签缺失或取值混乱,后续规则就会变成标题正则、描述关键字和例外条件的堆砌。

为什么标签决定告警治理质量

只有标题的告警,例如 CPU usage high,系统很难判断它属于哪个服务、哪个团队、哪个环境、应该通知谁、是否需要电话升级,以及应该和哪些告警聚合。

带有结构化标签的告警就不同:

service=payment
team=payment-sre
env=production
severity=critical
cluster=prod-shanghai-01
resource=pod/payment-api-7d9c
check=http_5xx_rate
source=prometheus

这类告警可以按 team 路由,按 severity 命中分派策略,按 service 找值班表,按 resourcecheck 聚合,按 env 做静默或降级。

第一版告警核心标签

核心标签怎么定义

标签 含义 示例 主要用途
service 业务服务或平台能力 paymentgateway 路由、分派、聚合、分析
team 第一响应团队 payment-sredba 共享集成路由、责任统计
env 运行环境 productionstagingtest 分级通知、静默、Pipeline
severity 严重程度 criticalwarninginfo 通知强度、升级策略、报表
resource 具体出问题对象 10.0.1.12rds-payment-main 排障、聚合
check 告警检查项 cpu_usagehttp_5xx_rate 噪音分析、规则治理
cluster 集群、地域或部署单元 prod-shanghai-01 基础设施归因、抑制
source 告警来源系统 prometheuszabbix 接入质量和噪音来源分析

serviceteam 不要混用。service 表达业务对象,team 表达响应责任。一个团队可以负责多个服务,一个服务也可能在不同阶段由不同团队负责。

标签值命名规则

标签值要稳定、可匹配、可读。建议:

使用小写英文
中划线或下划线二选一
不要在标签值里放空格
不要混用缩写和全称
不要把多个含义塞进一个标签

不要写:

service=payment-prod-critical

应该拆成:

service=payment
env=production
severity=critical

展示给人的中文名称,可以放在协作空间名称、通知模板、CMDB 或映射表里。用于规则匹配的标签值,尽量机器友好。

不同告警源要映射到同一套标签

Prometheus、Zabbix、云监控和自研系统的原始字段通常不同。不要让每个源保留自己的标签体系,要统一映射到标准标签。

原始字段 标准标签
labels.app service
labels.owner team
Zabbix 主机组 teamservice
CMDB owner_team team
CMDB service_name service
云资源地域 cluster
云产品类型 source_product

能在源头改的,就在源头改。源头短期改不了的,再用 Flashduty 标签增强提取、映射或补齐。

标签增强、Pipeline 和路由的顺序

Flashduty 中告警处理的大致顺序是:

告警事件进入集成
→ 标签增强
→ 告警处理 Pipeline
→ 路由分发
→ 协作空间内降噪、分派、通知

简单原则:

问题 用什么能力
缺标签 标签增强
脏数据 Pipeline
归属空间 路由规则
通知给谁 分派策略
重复太多 降噪配置

标签增强、Pipeline、路由和分派的处理顺序

不要把所有责任判断都写进 Pipeline。Pipeline 负责让告警变干净,路由负责决定进入哪个空间,分派策略负责决定通知谁。

标签如何支撑自动化

自动化能力 常用标签 设计重点
路由 teamserviceenvseveritycluster 标签要少而稳定,必须有兜底路由
聚合 servicecheckresourceclusterenv 先定义哪些告警应该一起处理
静默和抑制 envserviceclustercheck 少依赖标题和描述关键字
分派 serviceteamseverityenv 贴近责任边界和通知强度
分析 serviceteamsourcecheck 找出噪音来源和规则治理重点

标签到自动化能力的映射

落地步骤

  1. 选一个试点空间,不要全公司同时推进。
  2. 找 20 条真实高频告警,覆盖主要告警源。
  3. 列出现有字段,映射到标准标签。
  4. 决定哪些字段源头改,哪些用标签增强补。
  5. 用真实告警预览标签增强和 Pipeline 效果。
  6. 再配置路由、降噪、静默和分派策略。

顺序不要反。先有稳定标签,再写自动化规则。

上线验收清单

每条生产告警是否都有 service
每条生产告警是否都有 team
env 是否统一使用 production/staging/test/dev
severity 是否统一映射到 critical/warning/info/ok
resource 是否稳定,不会每次触发都变
check 是否能表达告警类型
共享集成路由是否能用 team 或 service 命中
无法匹配的告警是否进入兜底空间
Critical 告警是否能按 severity 命中分派策略
测试环境告警是否不会走生产电话升级
静默和抑制是否不用依赖标题关键字
分析看板是否能按服务、团队、来源看出噪音

常见问题

标签字段是不是越多越好?

不是。第一版只保留后续响应链路一定会用到的字段。字段越多,越容易出现命名不一致、值不稳定和规则不可维护。

serviceteam 有什么区别?

service 是告警影响的业务对象,team 是第一响应团队。路由和分派时,两者都重要,但含义不同。

中文标签值能不能用?

能用,但不推荐作为规则匹配字段。中文、空格、标点和大小写会增加跨系统匹配、脚本处理和模板维护成本。

什么时候用标签增强?

存量系统短期改不动时,用标签增强补字段、做映射、删敏感标签。高频告警源最终应该回到源头标准化。

为什么要有兜底空间?

兜底空间不是长期承接全部告警,而是暴露标签缺失、路由错误和规则遗漏。兜底空间告警越多,说明标签治理越需要优先做。

延伸路径

继续看解决方案和产品对比

如果你正在做监控、可观测性或故障定位相关选型,建议从解决方案和产品对比继续往下看。

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