告警OnCall事件中心建设方法白皮书事件 ONCALL 中心建设方法 一站式处理值班 OnCall,智能降噪 北京快猫星云科技有限公司 前言 市面上有众多监控系统,刨去商业软件不说,开源的就有 Nagios、Zabbix、Open-Falcon、 Nightingale、Grafana、Prometheus、Elastalert 等等,还有云厂商提供的监控系统,比如华为云的云 监控、腾 命名,核心就是支持告警 OnCall 值班处理的场景。 对于告警事件的后续处理,有哪些问题和需求以及何为最佳实践?我们从思路方法和工具实践两个方面分 别进行探讨,下面先行探讨思路方法,看看要解决这些问题和需求,我们有哪些可能的解法。 思路方法篇 告警事件的后续处理:多渠道分级通知、告警静默、抑制、收敛聚合、降噪、排班、认领升级、协同闭环 处理等等。看起来需求很多,最核心的痛点有两个: 板要求必须接,那就只能加人了,或者明确说明在架构调整好之前,不负责 SLA,反推业务改造。 上面介绍的两个告警规则优化原则,是最重要的两个原则。照做的话,可以搞定大部分无效告警。 除了原则方面,另一个应对过多告警的方法就是靠产品工具了,比如告警事件在哪些时间段发送、如何过 滤、如何屏蔽、如何抑制等等,通常,监控系统和统一的 OnCall 中心( PagerDuty FlashDuty 这种产 品)在这些功能上0 码力 | 23 页 | 1.75 MB | 1 年前3
PromQL 从入门到精通mem_available_percent{app="clickhouse"} 的结果: 如果我们认为内存可用率小于60就是有问题的,想找出所有有问题的数据,只要在 promql 中 拼上 < 60 即可: 1 如上的方法,其实就是告警引擎的核心逻辑。告警规则里会要求用户配置promql以及执行频 率,告警引擎就会根据执行频率周期性执行,每次执行的时候就是拿着promql去查询,promql 中带有阈值,即上例中的 这个机器在最近5m内如果上报过system_load_norm_1指 标,即 tt-fc-dev02.nj 机器存活,则什么都不返回,如果机器挂了,不再上报监控数据了,即指 标在最近5m内不存在了,即可判断机器失联。 这种方法有个弊端,就是得把指标的所有标签都写上,比如我们的需求可能是,100台机器,任 何一台失联了就告警,想当然的我们可能会这么写: absent_over_time(system_load_norm_1[5m]) ) 针对分位值的计算,已经阐述清楚了,但是分位值的计算是个挺重的查询,可能会把后端时序库 打爆,所以很多公司可能在业务埋点SDK中不提供histogram这种方式,只提供summary方 式。 所谓的summary,也是prometheus的一种埋点数据类型,summary也可以计算90分位、99 分位的值,但是这个值不是通过promql在服务端计算的,而是在应用的内存里,在SDK层面计0 码力 | 16 页 | 2.77 MB | 1 年前3
B站统⼀监控系统的设计,演进
与实践分享机房出⼝口质量量 • 交换设备 • http • tcp • ping 基础层 应⽤用层 • cache资源 • db资源 • mq资源 • lb资源 • es资源 • 分布式⽂文件 • 进程监控 业务层 • qps/tps • 耗时分布 • 饱和度 • 吞吐量量 • 依赖响应 • 缓存命中率 • 调⽤用链 • SLA • ⽇日志 播放质量量 • cncf基⾦金金会 metric • 40w+/s的指标采集 • 10k+ 监控⽬目标 • 10+ prometheus节点 现状: • 性能 • ⾼高可⽤用 • 分布式 • 使⽤用成本 问题: ? 性能问题 • 本地ssd prometheus Shard A prometheus Shard B prometheus Shard C targets0 码力 | 34 页 | 650.25 KB | 1 年前3
共 3 条
- 1













