报警分发运营
子车轻罗 2025/3/17 SREdevops
# 背景
# 现状分析
当前运维报警运营面临以下核心挑战:
- 集中式告警处理模式
- 所有线上业务告警采用不同的接入机制,告警渠道各异。
- 运维团队作为单一告警接收节点
- 基于资源归属维度进行初步分类(IAAS、PAAS等垂直领域)
- 告警责任分配机制
- 运维团队承担告警首要响应责任
- 采用人工分拣方式进行告警派发
- 缺乏自动化路由与智能分发能力
- 业务规模扩张带来的挑战
- 业务体量指数级增长导致告警量激增
- 运团人力资源投入与告警处理需求严重不匹配
- 人工处理效率已达瓶颈
# 核心问题识别
- 告警处理效能瓶颈
- 告警吞吐量与处理能力失衡
- 响应延迟持续增加
- 人力资源成本居高不下
- 告警价值挖掘不足
- 高价值告警被低价值信息淹没
- 缺乏告警优先级智能评估
- 告警数据价值未被充分释放
# 目标
- 告警智能路由
- 动态责任主体识别与匹配
- 多渠道分发归一化策略
- 处理效能优化
- 告警优先级评估
- 告警事件处理流程流转
- 告警责任人重定义
- 价值最大化
- 告警数据深度挖掘
- 根因分析能力建设
# 设计
# 效能
报警分发:将SRE收到的报警按照管单/预单分发到各自的业务报警群,由业务方作为第一责任人确认是否需要解决 。
报警处理:建立起报警值班机制,通过平台能力,建立起报警采集,排班值班,报警降噪,报警多渠道分发,报警升级,和报警精准触达目标人群能力 效果:报警精准触达业务,跟进其生命周期的闭环
# 报警规范
报警源
- Odin通用能力
- Grafana Alert
- 业务自建能力(调钉钉接口报警)
值班排班:服务负责人及互备信息,升级信息排班
报警分发
- 分发渠道:支持钉钉文本、语音电话触达
- 目标:在钉钉群里精准@到负责人
- 报警等级:可以根据报警等级选择不同的分发渠道和触达目标
- 报警升级:
- 渠道升级:钉钉文本 -》语音电话
- 目标升级:负责人 -》直属Leader -》一直到T-1
# 准入规范
- 归属清晰:报警内容归属责任清晰,归属于预单范围内
- 报警频率:同一类型的报警需要聚合;按聚合报警统计,一小时内最多报警1条(一小时连续发生多次故障的场景,需要主责方从服务角度根治,关键报警一条就够了,不允许报警泛滥)
- 报警持续:同一个报警持续2天,没人或者没法短期处理,则说明不紧急问题或者报警规则不合理,不允许接入报警群,可当做长期异步治理项即可
- 报警恢复:可以接受恢复类的报警
- 报警静默:服务类报警00:00 ~ 07:00默认静默,规避夜间压测干扰
- 报警屏蔽:报警源需要有能力进行报警屏蔽,报警屏蔽责任人报警接入方的主O
- 钉群权限:预单报警钉钉群,至少包含业务T-2,SRE。T-2可以按需拉上其他相关方向值班人;把业务T-2配置为群管理员;
- 群员设置:任意群员皆可拉人,需群主审核后通过,确保预单群人员的独立性
# 报警事件流转
集成报警:从Grafana, Falcon,夜莺,普鲁米修斯,自定义脚本产生的报警,按要求集成到该协作空间
分发配置:报警集成上来之后,开始配置报警分派策略
- 在什么时段内,什么报警,延迟多长时间后,按照什么报警模板,以什么样的渠道(邮件、短信、语音),发送到指定的什么处理人或者什么值班群
- 若多长时间没有认领或者报警没有恢复,则配置升级到下一个环节的分发策略
降噪配置:
告警聚合:以一定的规则,聚合相似特征的报警,比如同一集群多个实例,同一时间段多个指标报警等
报警收敛:多少分钟内,相同的故障发生多少次及以上则进入抖动状态,未来多少时间内不再发送新的故障通知
静默规则:指定时间窗口内报警静默,比如周末不报警,夜间不报警,根据日历设定非工作日不报警等
抑制规则:基于什么规则来排除告警
# 报警分级
# 责任划分
运维
- 负责IAAS报警如网络,专线,NAT,EIP等资源类型报警
- 负责核心报警如网关可用性,接口可用性,cpu利用率(>99%),内存利用率(>99%)
研发
- 负责日志报警
- 成功率,cpu,内存等个性化阈值配置
# 级别划分
- 服务级别
- 基础报警部分级别,之分发送与屏蔽
- 规范:test,offline标识的服务屏蔽报警,业务可自行配置
- 接口级别
- 由QA定义出F0级别核心接口,由运维统一做可用性报警