B站统⼀监控系统的设计,演进
与实践分享饱和度 • 吞吐量量 • 依赖响应 • 缓存命中率 • 调⽤用链 • SLA • ⽇日志 播放质量量 • 点播/直播 • 播放卡顿 • 平均⾸首帧 • 播放失败率 • 弹幕加载 • cdn质量量 客户端质量量 • ⽤用户端⽹网络质量量 • 劫持情况 • 崩溃&卡顿 • 返回码 • 响应时间 • 错误率 服务端监控 ⽤用户端监控 如何推进? 规则管理理⻚页⾯面 例例⼦子 - 业务监控 稿件 账号 Feed PAAS托管 服务树 container http server sdk 注册 获取target 采集数据 吞吐量量 响应时间 错误率 饱和度 熔断 限流 投稿数量量 订单数据 在线⼈人数 … ⻩黄⾦金金指标 业务指标 少量量事件 dashboard 报表 告警 统⼀一的告警中⼼心 解决什什么问题 requests:holt_winters_rate1h offset 7d) > 0.3 * requests:holt_winters_rate1h offset 7d 告警规则: 预测业务A请求量量异常 异常响应 todo • 异常事件关联关系挖掘 • 全联路路模块调⽤用分析 • 瓶颈分析 针对历史事件 针对当前事件 • 异常检查(动态阈值) • 异常定位(根因分析) • 快速⽌止损0 码力 | 34 页 | 650.25 KB | 1 年前3
告警OnCall事件中心建设方法白皮书
告警升级机制 告警升级是指在第一责任人收到告警之后没有及时响应,然后系统自动通知二线、三线人员的一种机制。 一线人员没有及时响应的原因可能有很多,比如手机静音了没有听到,晚上睡着了,或者临时出去有事忘 带手机了等等。这个时候系统发现某个告警一直没有恢复,也没有被认领,一段时间之后,就应该通知值 班人员的领导或者二线备份人员,如果二线人员也迟迟没有响应,就应该继续往上升级。 告警升级机制需要 ,还可以有不同的通知媒介,比如飞书、钉 钉、企微、电话、短信、邮箱等。 通知了之后,相关的人可能没注意到,可以配置重复通知,比如 10 分钟之后再次通知。如果多次通知, 接收人一直没有响应,就要启动升级策略了,比如 30 分钟后,告警仍然没有恢复而且没有被人工处理, 则升级到下一个通知环节(通知环节可以有多个)。 通知的触发,最为推荐的是值班表(OnCall 排班是践行 SRE0 码力 | 23 页 | 1.75 MB | 1 年前3
PromQL 从入门到精通histogram_quantile 要了解 histogram_quantile 函数的用法,首先得了解 Histogram 类型的数据。Histogram 翻 译过来是柱状图,设计这个数据类型,是为了描述响应延时的情况。 比如接口:/api/v1/query,如何度量这个接口的健康状况?最核心有两个指标,一个是成功 率,一个是延迟,成功率的计算代价比较小,只需要为每个请求指标打上 statuscode 而对于延迟,如果只是求取平均延迟,代价也比较小,只要把请求总量做成一个 Counter 指 标,把耗时总量做成一个 Counter 指标即可。但是,平均响应时间有时并不能很好的反应长尾 问题,比如最近1分钟有1万个请求,大部分请求都是1秒内返回,有200个请求是10秒返回,平 均响应时间是:1.18秒,看起来还不错,导致我们忽略了这200个长尾请求,而这200个长尾请 求,可能恰好是暴露问题的200个请求。 所以在看延迟数据时,我们通常会用分位值,比如99分位,90分位,50分位,所谓的分位值, 就是把一段时间内的所有延迟数据从小到大排序,99分位就是看第99%位置的那个值的大小。 还是上面的例子,平均响应时间是1.18秒,但是99分位时间是10秒,相差巨大,更容易暴露问 题。这里所谓的99分位延迟10秒,可以理解为,99%的请求都在10秒内返回。 从监控系统角度,如何来存储和计算出99分位值呢?如果每分钟有1亿个请求,难道真的要在监0 码力 | 16 页 | 2.77 MB | 1 年前3
共 3 条
- 1













