B站统⼀监控系统的设计,演进
与实践分享机房出⼝口质量量 • 交换设备 • http • tcp • ping 基础层 应⽤用层 • cache资源 • db资源 • mq资源 • lb资源 • es资源 • 分布式⽂文件 • 进程监控 业务层 • qps/tps • 耗时分布 • 饱和度 • 吞吐量量 • 依赖响应 • 缓存命中率 • 调⽤用链 • SLA • ⽇日志 播放质量量 ⽇日志处理理流 ⾃自研 ⽤用户端监控 apm ⾃自研 客户端 播放器器 如何推进? 服务端监控 场景 分析监控场景对应监控⼿手段 类型 metric类型 ⽇日志类型 ⾃自定义类型 ⼿手段 时间序列列数据 ⽇日志处理理流 ⾃自研 ⽤用户端监控 apm ⾃自研 客户端 播放器器 metric⽅方案选型 • 能覆盖⼤大部分监控场景 • 固定⼏几种数据类型 • cncf基⾦金金会 metric • 40w+/s的指标采集 • 10k+ 监控⽬目标 • 10+ prometheus节点 现状: • 性能 • ⾼高可⽤用 • 分布式 • 使⽤用成本 问题: ? 性能问题 • 本地ssd prometheus Shard A prometheus Shard B prometheus Shard C targets0 码力 | 34 页 | 650.25 KB | 1 年前3
告警OnCall事件中心建设方法白皮书
服务告警,或者某个机器重启,忘记提前屏蔽了,也会产生一堆关联告警。 了解了常见原因,下面我们来看一下有哪些常见解法。 优化告警规则 类似 PagerDuty FlashDuty 这种产品,一定程度上是可以解决一些告警过多的问题,但如果能从告警规 则的源头做好优化,自然是事半功倍。很多公司的告警规则配置没有原则可循,每次故障复盘先看告警是 否漏报,一线工程师为了不背锅,自然是尽量多地提 然后进行准入评审及准入测试,如果系统架构有明显问题,就没办法通过准入要求,不接受运维,如果老 板要求必须接,那就只能加人了,或者明确说明在架构调整好之前,不负责 SLA,反推业务改造。 上面介绍的两个告警规则优化原则,是最重要的两个原则。照做的话,可以搞定大部分无效告警。 除了原则方面,另一个应对过多告警的方法就是靠产品工具了,比如告警事件在哪些时间段发送、如何过 滤、如何屏蔽、如何抑制等等,通常,监控系统和统一的 ,认真填写故障处理过程、止损手段,这是极好的知识库, 未来再发生类似故障的时候,都可以快速参考。如前文所述,如果某个故障发生之后没有对应的处理动 作,这个故障对应的告警规则可能就是不合理的,需要优化。 总结 告警事件的后续处理,不只是发往各个通知媒介那么简单。涉及到收敛、降噪、排班、认领、升级、协 同、IM 打通 等非常多的细节功能,各个监控系统通常不会在这个方面发力,但是告警的统一处理又是非0 码力 | 23 页 | 1.75 MB | 1 年前3
PromQL 从入门到精通钟收到/发出多少包,或者每秒收到/发出多少包。 1 2 3 4 5 6 7 8 而对于监控数据采集器而言,一般是周期性运行的,比如每 10 秒采集一次,每次采集网卡收 到/发出的包这个数据的时候,都只能采集到当前的值,就像执行 ifconfig 命令,每 10 秒执行 一次,每次都看到一个巨大的当前值,而且一次比一次大。如果采集器不做计算,把这个值原封 不动上报给监控服务端,那计算增量、计算速率这个需求,就要放到服务端来实现了,所以服务 文档中有一个章节专门介绍函数,各个函数的介绍中,都会写明是用于 instant- vector,还是用于 range-vector,如果不理解查询类型,就无法很好的应用这些函数。 查询选择器 PromQL大括号里的部分是 selector,查询选择器,用于从一大堆监控数据中,过滤出真正关心 的数据,在 Prometheus 生态里,时序数据的标识,就是一堆标签集合,所以这里的过滤,就 是针对标签做过滤,支持四类操作符: 监控系统里,经常会有同环比的需求,比如,当前的值相比一周之前,是否有巨大变化,那怎么 才能获取历史数据呢?可以使用 offset 关键字。 offset 后面跟一个时间段,比如 5m、1d、7d、1w,offset 要紧跟查询选择器,比如: sum(http_requests_total{method="GET"} offset 1d) 运算符 PromQL 支持基本的算术运算符和比较运算符,可以对不同的即时向量做运算,这为监控系统0 码力 | 16 页 | 2.77 MB | 1 年前3
1.6 利用夜莺扩展能力打造全方位监控系统左图是2013年的一个新闻,讲 Google宕机的影响。2020年也出现 过aws大规模宕机的情况,影响不 止是55万美元,直接影响大半个 互联网! 2018年有美国调研机构指出,如 果服务器宕机1分钟,银行会损失 27万美元,制造业会损失42万美 元 美团故障?滴滴故障?腾讯故障? 运维监控需求来源 01.监控的原始需求来自业务稳定性 如何减少服务停摆导致的经济损失?尽快发现 Serializer 夜莺数据采集 06. Serializer 夜莺数据采集 07. Forwarder 夜莺设计实现 Server 数据处理 第五部分 夜莺Server数据处理 01. 服务器 02. API 夜莺Server数据处理 03. AlarmRule Control 夜莺Server数据处理 04. CollectRule Control 夜莺Server数据处理 夜莺Server数据处理 06. data - read 夜莺Server数据处理 夜莺设计实现 技术难点及细节 第六部分 01. 规则集中化管理及自动发现 夜莺 技术难点及细节 02. 采集器 夜莺 技术难点及细节 02. 数据序列化及传输问题 夜莺 技术难点及细节 Thank you0 码力 | 40 页 | 3.85 MB | 1 年前3
共 4 条
- 1













