B站统⼀监控系统的设计,演进
与实践分享• 返回码 • 响应时间 • 错误率 服务端监控 ⽤用户端监控 如何推进? 服务端监控 场景 分析监控场景对应监控⼿手段 类型 metric类型 ⽇日志类型 ⾃自定义类型 ⼿手段 时间序列列数据 ⽇日志处理理流 ⾃自研 ⽤用户端监控 apm ⾃自研 客户端 播放器器 如何推进? 服务端监控 场景 分析监控场景对应监控⼿手段 类型 prometheus filter数据 精度降低 建议 降低使⽤用成本 agent prometheus target target target alert_manager 告警平 服务 cache db平台 rms资 外围系统 监控⽬目 规则⽣生 告警规 api 规则管理理 获取监控⽬目标 IDC_1 agent prometheus target target target rule 获取监控数据 获取监控数据 推送告警 降低使⽤用成本 agent prometheus target target target alert_manager 告警平 服务 cache db平台 rms资 外围系统 监控⽬目 规则⽣生 告警规 api 规则管理理 获取监控⽬目标 IDC_1 agent prometheus target target target0 码力 | 34 页 | 650.25 KB | 1 年前3
告警OnCall事件中心建设方法白皮书
可能有多套)或者 Nightingale, 日志的监控可能用的 Elastalert,如果上云了,可能还会有多套不同的云监控(尤其是多云场景下)。 监控系统的重心,通常是采集、存储、可视化、生成告警事件,但通常都不具有完备的事件后续处理能 力。这里说的后续处理主要包括:多渠道分级通知、告警静默、抑制、收敛聚合、降噪、排班、认领升 级、协同闭环处理等等。监控系统或多或少都有一些这方面的能力,但是通常都不完备,而这,正是 警太多、打扰太多的原因是什么,然后针对原因提出对应的 方案。 告警太多的常见原因 最常见的原因,是告警规则设置得不合理。比如很多规则触发了告警之后,实际没有后续动作,只是起到 常态化通知的效果,不需要排查,也不需要止损,甚至连个长线的 TODO 都没有。这类告警多了人就疲 了,当重要的告警来临的时候,也容易忽略。这样的规则如果不经过治理,日积月累,就会产生很多无用 的告警。 不可 靠,想用多个渠道同时发送的方式来保障告警触达率,这也属于告警规则配置不合理的范畴。 第四个原因是预期内的维护动作导致的。比如程序升级变更,如果进程重启时间过长,可能会导致关联的 服务告警,或者某个机器重启,忘记提前屏蔽了,也会产生一堆关联告警。 了解了常见原因,下面我们来看一下有哪些常见解法。 优化告警规则 类似 PagerDuty FlashDuty0 码力 | 23 页 | 1.75 MB | 1 年前3
1.6 利用夜莺扩展能力打造全方位监控系统过aws大规模宕机的情况,影响不 止是55万美元,直接影响大半个 互联网! 2018年有美国调研机构指出,如 果服务器宕机1分钟,银行会损失 27万美元,制造业会损失42万美 元 美团故障?滴滴故障?腾讯故障? 运维监控需求来源 01.监控的原始需求来自业务稳定性 如何减少服务停摆导致的经济损失?尽快发现故障并止损!故障处理过程中,监控是『发现』和『定位』两个环节 的关键工具。故障处理 端上、链路、资源、组件、应用多维度跨云监控 端上 卡顿 崩溃 链路 连通性 链路质量 服务端 硬件资源 组件服务 业务应用 夜莺介绍:国产开源监控系统 第三部分 国产开源监控产品相对比较匮乏,夜莺希望重新定义国产开 源监控,支持云原生监控,经受了滴滴大规模生产检验 Nightingale 夜莺是新一代国产智能监控平台,既可以解决传统物理机虚拟机的场景,也可以解 决容器的场景。衍生自Ope Serializer 夜莺数据采集 06. Serializer 夜莺数据采集 07. Forwarder 夜莺设计实现 Server 数据处理 第五部分 夜莺Server数据处理 01. 服务器 02. API 夜莺Server数据处理 03. AlarmRule Control 夜莺Server数据处理 04. CollectRule Control 夜莺Server数据处理0 码力 | 40 页 | 3.85 MB | 1 年前3
PromQL 从入门到精通前的值,就像执行 ifconfig 命令,每 10 秒执行 一次,每次都看到一个巨大的当前值,而且一次比一次大。如果采集器不做计算,把这个值原封 不动上报给监控服务端,那计算增量、计算速率这个需求,就要放到服务端来实现了,所以服务 端必须要能对这种类型的数据建模抽象,也就是所谓的 Counter 类型。 时序数据 PromQL 就是查询时序数据的一种 Query Language,要想对 offset 1d) 运算符 PromQL 支持基本的算术运算符和比较运算符,可以对不同的即时向量做运算,这为监控系统 带来了巨大的进步,算术运算符让很多计算不需要在采集端做了,可以轻易挪到服务端,而比较 运算符则为告警逻辑提供了支撑。 算术运算符 + (addition) - (subtraction) * (multiplication) / (division) 所谓的summary,也是prometheus的一种埋点数据类型,summary也可以计算90分位、99 分位的值,但是这个值不是通过promql在服务端计算的,而是在应用的内存里,在SDK层面计 算的,即客户端把这个分位值算好,再上报给服务端,服务端就无需通过histogram_quantile 这么重的函数做计算了,而是直接查看就好。 但是,既然是在客户端SDK层面计算,就会产生局限,这些分位值只能是实例级别(或者说进程0 码力 | 16 页 | 2.77 MB | 1 年前3
共 4 条
- 1













